All Versions
Latest Version
Avg Release Cycle
65 days
Latest Release

Changelog History
Page 1

  • v4.0.0 Changes

    💥 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.

  • v3.3.0 Changes

    🐛 Bug Fixes

    • Compatibility with newer versions of GHC.

    🆕 New Features

    • A widget was added.

    • Make memoryAvailable action available inside the Text MemoryMonitor widget.

    • The SNI Tray supports triggering Activate and SecondaryActivate on icons.

    • Better formatting for Text MemoryMonitor Widget

  • v3.2.2 Changes

    March 01, 2020

    🐛 Bug Fixes

    • Solve space leaks on updateSamples and getDeviceUpDown (#472).

    • Prevent crash when using mpris2New and librsvg is not available (#478).

    • Fixed compilation issues that appear when using ghc 8.8.

  • v3.2.1 Changes

    June 18, 2019

    🐛 Bug Fixes

    • The workspaces widget now listens on the additional EWMH properties that it needs to in order to properly update things when the active window changes. This problem likely only emerged recently because xmonad has recently become much more conservative about emitting change events (#454).

    • The workspaces widget listens for changes to window geometry (similar to above) (#456).

  • v3.2.0 Changes

    June 05, 2019

    🆕 New Features

    • The Layout widget can now be styled with the css class "layout-label".

    • A new polling label function pollingLabelWithVariableDelay that allows for variable poll times was added.

    • A new widget System.Taffybar.Widget.SimpleCommandButton was added.

    • Taffybar now outputs colorized and annotated logs by default.

    💥 Breaking Changes

    • The file specified in the cssPath parameter in config is now used instead of, rather than in addition to the default user config file.

    • All parameters are now passed to textClockNewWith as part of the ClockConfig it receives. A new mechanism for rounded variable polling should allow the clock to always remain accurate (to the precision selected by the user) without having a very high polling rate, thus reducing CPU usage.

    • The polling label functions no longer accept a default text parameter.


    • Battery updates are only triggered when a more limited number of UPower properties are changed. This can be customized by manually calling setupDisplayBatteryChanVar as a hook.

    🐛 Bug Fixes

    • Calendar pops up below bar without hiding any other widget #261.

    • Avoid failing when parsing XDG Desktop files with unrecognized application type, which previously resulted in " no parse" #447.

    • Use XDG data dir so that taffybar dbus toggling functions correctly when taffybar is installed in a location that is not writable by the user. This is the case with nix when it is installed in the nix store #452.

  • v3.1.2 Changes

    February 10, 2019

    ⚡️ Updates

    • Weather now uses new uris and https (Kirill Zaborsky)

    • Bump the version of gi-gdkpixbuf, this fixes nixpkgs compilation

  • v3.1.1

    January 11, 2019
  • v3.1.0 Changes

    January 10, 2019

    🆕 New Features

    • A new module Chrome which makes it so that Workspaces can display the favicons of the website that the chrome window is currently visiting.
  • v3.0.0 Changes

    July 06, 2018

    💥 Breaking Changes

    • Taffybar has replaced gtk2hs with gi-gtk everywhere. All widgets must now be created with gi-gtk.
  • v2.1.3

    June 20, 2018