• 1.9.0 1353d635c2

    1.9.0 Stable

    dnkl released this 6 months ago | 41 commits to master since this release


    • Support for specifying number of decimals when printing a float tag (#200).
    • Support for custom font fallbacks (#153).
    • overline: new decoration (#153).
    • i3/sway: boolean option strip-workspace-numbers.
    • font-shaping: new inheritable configuration option, allowing you to configure whether strings should be shaped using HarfBuzz, or not (#159).
    • river: support for the new “mode” event present in version 3 of the river status manager protocol, in the form of a new tag, ”mode”, in the title particle.
    • network: request link stats and expose under tags dl-speed and ul-speed when poll-interval is set.
    • new module: disk-io.
    • new module: pulse (#223).
    • alsa: dB tag (#202).
    • mpd: file tag (#219).
    • pipewire: add a new module for pipewire (#224)
    • on-click: support next/previous mouse buttons (#228).
    • dwl: add a new module for DWL (#218)
    • sway: support for workspace ‘rename’ and ‘move’ events (#216).


    • All modules are now compile-time optional.

    • Minimum required meson version is now 0.59.

    • Float tags are now treated as floats instead of integers when formatted with the kb/kib/mb/mib/gb/gib string particle formatters.

    • network: tx-bitrate and rx-bitrate are now in bits/s instead of Mb/s. Use the mb string formatter to render these tags as before (e.g. string: {text: "{tx-bitrate:mb}"}).

    • i3: newly created, and unfocused workspaces are now considered non-empty (#191)

    • alsa: use dB instead of raw volume values, if possible, when calculating the percent tag (#202)

    • cpu: content particle is now a template instantiated once for each core, and once for the total CPU usage. See yambar-modules-cpu(5) for more information (#207).

    • BREAKING CHANGE: overhaul of the map particle. Instead of specifying a tag and then an array of values, you must now simply use an array of conditions, that consist of:

      <tag> <operation> <value>

      where <operation> is one of:

      == != < <= > >=

      Note that boolean tags must be used as is:


      ~online # use '~' to match for their falsehood

      As an example, if you previously had something like:

        tag: State

      You would now write it as:

          State == unrecognized:

      Note that if <value> contains any non-alphanumerical characters,
      it must be surrounded by "":

      State == "very confused!!!"

      Finally, you can mix and match conditions using the boolean
      operators && and ||:

      <condition1> && <condition2>
      <condition1> && (<condition2> || <condition3>) # parenthesis work
      ~(<condition1> && <condition2>) # '~' can be applied to any condition

      For a more thorough explanation, see the updated map section in the man page for yambar-particles(#137, #175 and #).


    • i3: fixed “missing workspace indicator” (err: modules/i3.c:94: workspace reply/event without 'name' and/or 'output', and/or 'focus' properties).
    • Slow/laggy behavior when quickly spawning many on-click handlers, e.g. when handling mouse wheel events (#169).
    • cpu: don’t error out on systems where SMT has been disabled (#172).
    • examples/dwl-tags: updated parsing of output name (#178).
    • sway-xkb: don’t crash when Sway sends an ”added” event for a device yambar is already tracking (#177).
    • Crash when a particle is “too wide”, and tries to render outside the bar (#198).
    • string: crash when failing to convert string to UTF-32.
    • script: only first transaction processed when receiving multiple transactions in a single batch (#221).
    • network: missing SSID (recent kernels, or possibly wireless drivers, no longer provide the SSID in the NL80211_CMD_NEW_STATION response) (#226).
    • sway-xkb: crash when compositor presents multiple inputs with identical IDs (#229).


    • Baptiste Daroussin
    • Horus
    • Johannes
    • Leonardo Gibrowski Faé
    • Leonardo Neumann
    • Midgard
    • Ogromny
    • Peter Rice
    • Timur Celik
    • Willem van de Krol
    • hiog
  • 1.8.0 3cc142a273

    1.8.0 Stable

    dnkl released this 1 year ago | 164 commits to master since this release


    • ramp: can now have custom min and max values (#103).
    • border: new decoration.
    • i3/sway: new boolean tag: empty (#139).
    • mem: a module handling system memory monitoring
    • cpu: a module offering cpu usage monitoring
    • removables: support for audio CDs (#146).
    • removables: new boolean tag: audio.


    • fcft >= 3.0 is now required.
    • Made libmpdclient an optional dependency
    • battery: unknown battery states are now mapped to ‘unknown’, instead of ‘discharging’.
    • Wayland: the bar no longer exits when the monitor is disabled/unplugged (#106).


    • left-margin and right-margin from being rejected as invalid options.
    • Crash when udev_monitor_receive_device() returned NULL. This affected the “backlight”, “battery” and “removables” modules (#109).
    • foreign-toplevel: update bar when a top-level is closed.
    • Bar not being mapped on an output before at least one module has “refreshed” it (#116).
    • network: failure to retrieve wireless attributes (SSID, RX/TX bitrate, signal strength etc).
    • Integer options that were supposed to be >= 0 were incorrectly allowed, leading to various bad things; including yambar crashing, or worse, the compositor crashing (#129).
    • kib/kb, mib/mb and gib/gb formatters were inverted.


    • sochotnicky
    • Alexandre Acebedo
    • anb
    • Baptiste Daroussin
    • Catterwocky
    • horus645
    • Jan Beich
    • mz
    • natemaia
    • nogerine
    • Soc Virnyl S. Estela
    • Vincent Fischer
  • 1.7.0 42d944d020

    1.7.0 Stable

    dnkl released this 2 years ago | 269 commits to master since this release


    • i3: persistent attribute, allowing persistent workspaces (#72).
    • bar: border.{left,right,top,bottom}-width, allowing the width of each side of the border to be configured individually. border.width is now a short-hand for setting all four borders to the same value (#77).
    • bar: layer: top|bottom, allowing the layer which the bar is rendered on to be changed. Wayland only - ignored on X11.
    • river: all-monitors: false|true.
    • -d,--log-level=info|warning|error|none command line option (#84).
    • river: support for the river-status protocol, version 2 (‘urgent’ views).
    • online tag to the alsa module.
    • alsa: volume and muted options, allowing you to configure which channels to use as source for the volume level and muted state.
    • foreign-toplevel: Wayland module that provides information about currently opened windows.
    • alsa: support for capture devices.
    • network: ssid, signal, rx-bitrate and rx-bitrate tags.
    • network: poll-interval option (for the new signal and *-bitrate tags).
    • tags: percentage tag formatter, for range tags: {tag_name:%}.
    • tags: kb/mb/gb, and kib/mib/gib tag formatters.


    • bar: do not add spacing around empty (zero-width) modules.
    • alsa: do not error out if we fail to connect to the ALSA device, or if we get disconnected. Instead, keep retrying until we succeed (#86).


    • yambar --backend=wayland always erroring out with ”yambar was compiled without the Wayland backend”.
    • Regression: {where} tag not being expanded in progress-bar on-click handlers.
    • alsa module causing yambar to use 100% CPU if the ALSA device is disconnected (#61).


  • 1.6.2 66ea64d826

    1.6.2 Stable

    dnkl released this 2 years ago | 350 commits to master since this release


    • Text shaping support.
    • Support for middle and right mouse buttons, mouse wheel and trackpad scrolling (#39).
    • script: polling mode. See the new poll-interval option (#67).


    • doc: split up yambar-modules(5) into multiple man pages, one for each module (#15).
    • fcft >= 2.4.0 is now required.
    • sway-xkb: non-keyboard inputs are now ignored (#51).
    • battery: don’t terminate (causing last status to “freeze”) when failing to update; retry again later (#44).
    • battery: differentiate "Not Charging" and "Discharging" in state tag of battery module. (#57).
    • string: use HORIZONTAL ELLIPSIS instead of three regular periods when truncating a string (#73).


    • Crash when merging non-dictionary anchors in the YAML configuration (#32).
    • Crash in the ramp particle when the tag’s value was out-of-bounds (#45).
    • Crash when a string particle contained {} (#48).
    • script module rejecting range tag end values containing the digit 9 (#60).


  • 1.6.1 2563a233d7

    1.6.1 Stable

    dnkl released this 2 years ago | 462 commits to master since this release


    • i3: workspaces with numerical names are sorted separately from non-numerically named workspaces (#30).


    • mpd: elapsed tag not working (regression, introduced in 1.6.0).
    • Wrong background color for (semi-) transparent backgrounds.
    • battery: stats sometimes getting stuck at 0, or impossibly large values (#25).
  • 1.6.0 105409b0e0

    1.6.0 Stable

    dnkl released this 2 years ago | 477 commits to master since this release


    • alsa: percent tag. This is an integer tag that represents the current volume as a percentage value (#10).
    • river: added documentation (#9).
    • script: new module, adds support for custom user scripts (#11).
    • mpd: volume tag. This is a range tag that represents MPD's current volume in percentage (0-100)
    • i3: sort configuration option, that controls how the workspace list is sorted. Can be set to one of none, ascending or descending. Default is none (#17).
    • i3: mode tag: the name of the currently active mode


    • YAML parsing error messages being replaced with a generic “unknown error”.
    • Memory leak when a YAML parsing error was encountered.
    • clock: update every second when necessary (#12).
    • mpd: fix compilation with clang (#16).
    • Crash when the alpha component in a color value was 0.
    • XCB: Fallback to non-primary monitor when the primary monitor is disconnected (#20)


  • 1.5.0 6dfa6ec1db

    1.5.0 Stable

    dnkl released this 3 years ago | 567 commits to master since this release


    • battery: support for drivers that use 'charge_*' (instead of 'energy_*') sys files.
    • removables: SD card support.
    • removables: new 'ignore' property.
    • Wayland: multi-seat support.
    • Experimental: 'river': new module for the river Wayland compositor.


    • Requires fcft-2.2.x.
    • battery: a poll value of 0 disables polling.


    • mpd: check of return value from thrd_create.
    • battery: handle 'manufacturer' and 'model_name' not being present.
    • Wayland: handle runtime scaling changes.
  • 1.4.0 f37fc3c1d6

    1.4.0 Stable

    dnkl released this 3 years ago | 639 commits to master since this release

    • Apply font kerning to text
    • Fixed i3 plugin terminating on X11/i3 (#2)
    • Added -p,--print-pid=FILE|FD command line option
    • Wayland layer surface namespace now set to panel instead of yambar
    • Syslogging is now done using the DAEMON facility instead of USER
  • 1.3.1 7685199038

    1.3.1 Stable

    dnkl released this 3 years ago | 669 commits to master since this release

    • Fixed version number in PKGBUILD.wayland-only
  • 1.3.0 b6da4492a9

    1.3.0 Stable

    dnkl released this 3 years ago | 670 commits to master since this release

    • (Wayland) Compositor now chooses output if not specified in configuration
    • Fixed crash when configuration references a non-existent anchor
    • New dependencies: tllist and fcft. The move to fcft brings a lot of font rendering improvements.