taffybar v4.0.0 Release Notes

  • ๐Ÿ’ฅ Breaking Changes

    • simpleTaffybar now starts taffybar using startTaffybar instead of dyreTaffybar. Use simpleDyreTaffybar to start taffybar with dyreTaffybar as before.

    • The cssPath fields in 'SimpleTaffyConfig' and 'TaffybarConfig' have been renamed to cssPaths and have type [FilePath] instead of Maybe Filepath.

    • The module System.Taffybar.Widget.Decorators has been removed. The functions that were in that module can now be found in System.Taffybar.Widget.Util.

    • The barHeight property of SimpleTaffyConfig is now a StrutSize. This means that in addition to specifying an exact pixel count for the height of taffybar, it is also possible to specify a fraction of the screen that it should occupy. See the docs for StrutSize for more details.

    ๐Ÿ†• New Features

    • A new module System.Taffybar.Widget.Crypto that contains widgets that display the prices of crypto assets with icons was added.

    • textBatteryNewLabelAction provides a version of the text battery widget to which a custom label updater function can be provided.

    • The textual battery widget now applies classes according to its charge level that can be used to style the battery text with css.

    • A generalized interface to the text battery widget that accepts an arbitrary update function is available at textBatteryNewLabelAction.

    • New workspace widget builder buildLabelOverlayController that overlays the workspace label on top of the the workspace icons.

    • It is now possible to customize the player widgets of the MPRIS2 Widget by using the new function mpris2NewWithConfig.

    • Classes are added to the MPRIS2 Widget to indicate whether or not it has visible player children.

    • The default MPRIS2 player widget now sends the play pause message to the relevant player when clicked.

    • New pollingGraphNewWithTooltip that allows to specify a tooltip.

    • New networkGraphNewWith that allows to configure a tooltip format, scaling and network interfaces via function.

    • New showMemoryInfo exposed from MemoryMonitor that can be used to format tooltips.

    • Swap variables are added to MemoryMonitor.

    • Many types have Default instances.

    • Window titles are shown on hover.

    • Allow sorting workspace window icons by _NET_CLIENT_LIST_STACKING.

    ๐Ÿ”„ Changes

    • Graph labels are now overlayed on top of the graph instead of placed beside them.

    • MPRIS2 Widgets will remain visible when their players are in the paused state.

    • getSongInfo now doesn't automatically return Nothing when xesam:artist is missing. This makes the MPRIS2 Widget display in more situations than before.

    • Network graph will have a tooltip by default.

    • The SNI Tray will respect ItemIsMenu property to handle mouse left click.

    ๐Ÿ› Bug Fixes

    • Center widgets will now properly expand vertically.

    • Errors, including icon missing from theme errors, in workspace pixbuf getters are now handled gracefully.

    • A workaround to properly display the chrome icon in MPRIS was added.