Looking Back
Wow, it has already been half a year since 3.3.0 was released!
In exactly 100 commits 19 different people have contributed to this new release. We had 126 changed files with 1441 added and 1087 deleted lines. In total 8 bugs were fixed and we added 8 new config options.
There have not been too many big changes, the biggest one probably is the new
customizability of the xkeyboard
module which we showcase
below.
We changed a lot of the internals of our build process to make it more reliable
though.
Until now we had the problem that when compilers introduced new flags to detect
possibly wrong code and emit warnings for it, polybar would fail to build even
with those compiler versions. This no longer happens, when compilers are
updated it will no longer break your polybar builds.
You can read the full changelog on github.
Migration Guide
When updating from 3.3.X to 3.4.0 your configs should still work the same as before.
We have deprecated the label-indicator
key in the xkeyboard
module in favor
of label-indicator-on
, they both do the same thing though and polybar will
warn you that label-indicator
is deprecated.
New xkeyboard
options
In 3.4.0 you can now heavily customize how layouts and indicators are
displayed in the xkeyboard
module.
For example if you have the following in your config:
layout-icon-default = ¯\_(ツ)_/¯
layout-icon-0 = us;U
indicator-icon-default = ""
indicator-icon-0 = caps lock;;CL
label-layout = %icon%
label-indicator-on = %name% %icon%
label-indicator-off = %icon%
The module will display U
if you use the us layout and ¯\_(ツ)_/¯
otherwise.
If you have caps lock on, it will show Caps Lock CL
and for other
indicators it will only display the name. You can even completely control what
to display for certain indicators, so if you add
label-capslock-on-numlock = %icon%
, it would only display CL
when caps lock is enabled and ignores label-indicator-on
. This by the way
works for all indicators.
You can find the full specifications of these new features wiki.
Next Steps
We have big plans for 3.5.0. We want to change our release workflow because our current one cannot really be considered “best practice”.
With the help of a new co-maintainer @Lomadriel we want to make polybar more easily packagable which should help polybar get packaged for more distros.
We also want modules be more customizable and behave more uniformly when it
comes to click-*
actions.
If we have time we might even add new capabilities to the config syntax.
Now go ahead and update your polybar! You can find the new source tarball here.
— The Polybar Team