diff --git a/CHANGELOG.md b/CHANGELOG.md index 959ba70f..bb5dce97 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,17 +15,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 configuration files, therefore if you want to use it in a value as a literal backslash, you need to escape it with the backslash escape character. The parser logs an error if any unescaped backslashes are found in a value. This - affects you only if you are using two consecutive backslashes in a value, - which will now be interpreted as a single literal backslash. - [`#2354`](https://github.com/polybar/polybar/issues/2354) -- We rewrote our tag parser. This shouldn't break anything, if you experience - any problems, please let us know. - The new parser now gives errors for certain invalid tags where the old parser - would just silently ignore them. Adding extra text to the end of a valid tag - now produces an error. For example, tags like `%{T-a}`, `%{T2abc}`, `%{rfoo}`, - and others will now start producing errors. - This does not affect you unless you are producing your own formatting tags - (for example in a script) and you are using one of these invalid tags. + affects you only if you are using two consecutive backslashes in a config + value, which will now be interpreted as a single literal backslash. + ([`#2354`](https://github.com/polybar/polybar/issues/2354)) +- We rewrote our formatting tag parser. This shouldn't break anything, if you + experience any problems, please let us know. The new parser now gives errors + for certain invalid tags where the old parser would just silently ignore them. + Adding extra text to the end of a valid tag now produces an error. For example, + tags like `%{T-a}`, `%{T2abc}`, `%{rfoo}`, and others will now start producing + errors. This does not affect you unless you are producing your own invalid + formatting tags (for example in a script). - For security reasons, the named pipe at `/tmp/polybar_mqueue.` had its permission bits changed from `666` to `600` to prevent sending ipc messages to polybar processes running under a different user. @@ -51,18 +50,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 targets can still be enabled explicitly. - The documentation can no longer be built by directly configuring the `doc` directory. -- The sample config file is now placed in the `generated-sources` folder inside - whatever folder you invoked `cmake` from instead of in the root folder of the - repository. - The `POLYBAR_FLAGS` cmake variable can be used to pass extra C++ compiler flags. - The sample config file has been removed. - Polybar now ships a default config that is installed to `/etc/polybar/config.ini`, it lives in `doc/config.ini`. It will also be placed in the `examples` directory in the documentation folder. - [`#2405`](https://github.com/polybar/polybar/issues/2405) + ([`#2405`](https://github.com/polybar/polybar/issues/2405)) - The `userconfig` target has been removed, you can no longer use `make userconfig`. As an alternative, you can copy the default config from `/etc/polybar/config.ini`. +- The `DEBUG_SHADED` cmake variable and its associated functionality has been + removed. ### Deprecated - `[settings]`: `throttle-output` and `throttle-output-for` have been removed. @@ -77,156 +75,234 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `polybar-msg hook` is deprecated in favor of using the hook action. `polybar-msg` will tell you the correct command to use. -### Removed -- `DEBUG_SHADED` cmake variable and its associated functionality. - ### Added -- `custom/script`: Add formatting for script failure (`format-fail`, `label-fail`) ([`#2588`](https://github.com/polybar/polybar/issues/2588)) - Support `px` and `pt` units everyhwere where before only a number of spaces or pixels could be specified. - ([`#2578`](https://github.com/polybar/polybar/pull/2578)) -- Right and middle click events for alsa module. - ([`#2566`](https://github.com/polybar/polybar/issues/2566)) -- `internal/network`: New token `%mac%` shows MAC address of selected interface - ([`#2568`](https://github.com/polybar/polybar/issues/2568)) + ([`#2578`](https://github.com/polybar/polybar/pull/2578), + [`#1651`](https://github.com/polybar/polybar/issues/1651), + [`#951`](https://github.com/polybar/polybar/issues/951)) +- `internal/alsa`: Right and middle click settings. + ([`#2566`](https://github.com/polybar/polybar/issues/2566), + [`#2573`](https://github.com/polybar/polybar/pull/2573)) +- `internal/network`: + - New token `%mac%` shows MAC address of selected interface + ([`#2568`](https://github.com/polybar/polybar/issues/2568), + [`#2569`](https://github.com/polybar/polybar/pull/2569)) + - New token `%netspeed%` that provides the total speed of the internet (up + + down speed) + ([`#2590`](https://github.com/polybar/polybar/pull/2590), + [`#1083`](https://github.com/polybar/polybar/issues/1083)) + - `speed-unit = B/s` can be used to customize how network speeds are + displayed. + ([`#2068`](https://github.com/polybar/polybar/pull/2068)) + - `interface-type` may be used in place of `interface` to automatically + select a network interface + ([`#2025`](https://github.com/polybar/polybar/pull/2025), + [`#339`](https://github.com/polybar/polybar/issues/339)) - Polybar can now read config files from stdin: `polybar -c /dev/stdin`. -- `custom/script`: Implement `env-*` config option. - ([`#2090`](https://github.com/polybar/polybar/issues/2090)) -- `drawtypes/ramp`: Add support for ramp weights. - ([`#1750`](https://github.com/polybar/polybar/issues/1750)) + ([`#2545`](https://github.com/polybar/polybar/pull/2545)) +- `custom/script`: + - Setting environment variables using `env-*` config option. + ([`#2090`](https://github.com/polybar/polybar/issues/2090), + [`#2512`](https://github.com/polybar/polybar/pull/2512)) + - Add formatting for script failure (`format-fail`, `label-fail`) + ([`#2588`](https://github.com/polybar/polybar/issues/2588), + [`#2596`](https://github.com/polybar/polybar/pull/2596)) +- Support for ramp weights. + ([`#1750`](https://github.com/polybar/polybar/issues/1750), + [`#2505`](https://github.com/polybar/polybar/pull/2505)) - `internal/memory`: New tokens `%used%`, `%free%`, `%total%`, `%swap_total%`, `%swap_free%`, and `%swap_used%` that automatically switch between MiB and GiB when below or above 1GiB. - ([`#2472`](https://github.com/polybar/polybar/issues/2472)) -- Option to always show urgent windows in i3 module when `pin-workspace` is active - ([`#2374`](https://github.com/polybar/polybar/issues/2374)) -- `internal/xworkspaces`: `reverse-scroll` can be used to reverse the scroll - direction when cycling through desktops. -- The backslash escape character (\\). - [`#2354`](https://github.com/polybar/polybar/issues/2354) + ([`#2472`](https://github.com/polybar/polybar/issues/2472), + [`#2488`](https://github.com/polybar/polybar/pull/2488)) +- `internal/i3`: `show-urgent` option to always show urgent windows when + `pin-workspace` is active + ([`#2374`](https://github.com/polybar/polybar/issues/2374), + [`#2378`](https://github.com/polybar/polybar/pull/2378)) +- `internal/xworkspaces`: + - `reverse-scroll` can be used to reverse the scroll + direction when cycling through desktops. + ([`#2365`](https://github.com/polybar/polybar/pull/2365)) + - `%nwin%` can be used to display the number of open + windows per workspace + ([`#604`](https://github.com/polybar/polybar/issues/604), + [`#2329`](https://github.com/polybar/polybar/pull/2329)) +- Initial support for the backslash escape character (\\) in configs. + ([`#2354`](https://github.com/polybar/polybar/issues/2354), + [`#2361`](https://github.com/polybar/polybar/pull/2361)) - Warn states for the cpu, memory, fs, and battery modules. ([`#570`](https://github.com/polybar/polybar/issues/570), [`#956`](https://github.com/polybar/polybar/issues/956), [`#1871`](https://github.com/polybar/polybar/issues/1871), - [`#2141`](https://github.com/polybar/polybar/issues/2141)) + [`#2141`](https://github.com/polybar/polybar/issues/2141), + [`#2199`](https://github.com/polybar/polybar/pull/2199)) - `internal/battery`: `format-low`, `label-low`, `animation-low`, `low-at = 10`. - `internal/cpu`: `format-warn`, `label-warn`, `warn-percentage = 80` - `internal/fs`: `format-warn`, `label-warn`, `warn-percentage = 90` - `internal/memory`: `format-warn`, `label-warn`, `warn-percentage = 90` - `radius` now affects the bar border as well - ([`#1566`](https://github.com/polybar/polybar/issues/1566)) + ([`#1566`](https://github.com/polybar/polybar/issues/1566), + [`#2359`](https://github.com/polybar/polybar/pull/2359)) - Per-corner radius with `radius-{bottom,top}-{left,right}` - ([`#2294`](https://github.com/polybar/polybar/issues/2294)) -- `internal/network`: `speed-unit = B/s` can be used to customize how network - speeds are displayed. -- `internal/xkeyboard`: `%variant%` can be used to parse the layout variant - ([`#316`](https://github.com/polybar/polybar/issues/316)) + ([`#2294`](https://github.com/polybar/polybar/issues/2294), + [`#2297`](https://github.com/polybar/polybar/pull/2297)) +- `internal/xkeyboard`: + - `%variant%` token to display the keyboard layout variant + ([`#316`](https://github.com/polybar/polybar/issues/316), + [`#2163`](https://github.com/polybar/polybar/pull/2163)) + - Allow matching of variants in `layout-icon` + ([`#2414`](https://github.com/polybar/polybar/issues/2414), + [`#2521`](https://github.com/polybar/polybar/pull/2521)) - Config option to hide a certain module (`hidden = false`) - ([`#2108`](https://github.com/polybar/polybar/issues/2108)) + ([`#2108`](https://github.com/polybar/polybar/issues/2108), + [`#2342`](https://github.com/polybar/polybar/pull/2342)) - Actions to control visibility of modules (`module_toggle`, `module_show`, and `module_hide`) - ([`#2108`](https://github.com/polybar/polybar/issues/2108)) -- `internal/xworkspaces`: Make the urgent hint persistent - ([`#1081`](https://github.com/polybar/polybar/issues/1081)) -- `internal/network`: `interface-type` may be used in place of `interface` to - automatically select a network interface - ([`#2025`](https://github.com/polybar/polybar/pull/2025)) -- `internal/xworkspaces`: `%nwin%` can be used to display the number of open - windows per workspace - ([`#604`](https://github.com/polybar/polybar/issues/604)) -- `internal/backlight`: added `use-actual-brightness` option -- Added `wm-restack = generic` option that lowers polybar to the bottom of the stack. + ([`#2108`](https://github.com/polybar/polybar/issues/2108), + [`#2426`](https://github.com/polybar/polybar/pull/2426)) +- `internal/backlight`: `use-actual-brightness` option to use the + `actual_brightness` file to get the brightness + ([`#2380`](https://github.com/polybar/polybar/pull/2380)) +- `wm-restack = generic` option that lowers polybar to the bottom of the window stack. Fixes the issue where the bar is being drawn on top of fullscreen windows in xmonad. - ([`#2205`](https://github.com/polybar/polybar/issues/2205)) -- Added `occupied-scroll = true` option to bspwm module. - Allows scrolling only through occupied desktops only. - ([`#2427`](https://github.com/polybar/polybar/issues/2427)) -- `custom/ipc`: `send` action to send arbitrary strings to be displayed in the module. - ([`#2455`](https://github.com/polybar/polybar/issues/2455)) + ([`#2205`](https://github.com/polybar/polybar/issues/2205), + [`#2404`](https://github.com/polybar/polybar/pull/2404)) +- `internal/bspwm`: `occupied-scroll = true` option allows scrolling through + occupied desktops only. + ([`#2427`](https://github.com/polybar/polybar/issues/2427), + [`#2428`](https://github.com/polybar/polybar/pull/2428)) +- `custom/ipc`: + - `send` action to send arbitrary strings to be displayed in the module. + ([`#2455`](https://github.com/polybar/polybar/issues/2455), + [`#2463`](https://github.com/polybar/polybar/pull/2463)) + - `hook`, `next`, `prev`, `reset` actions to control the module through + actions instead of the deprecated hook messages + ([`#2464`](https://github.com/polybar/polybar/issues/2464), + [`#2528`](https://github.com/polybar/polybar/pull/2528)) - Added `double-click-interval` setting to the bar section to control the time interval in which a double-click is recognized. Defaults to 400 (ms) - ([`#1441`](https://github.com/polybar/polybar/issues/1441)) -- `internal/xkeyboard`: Allow configuring icons using variant - ([`#2414`](https://github.com/polybar/polybar/issues/2414)) -- `custom/ipc`: Add `hook`, `next`, `prev`, `reset` actions to the ipc module - ([`#2464`](https://github.com/polybar/polybar/issues/2464)) + ([`#1441`](https://github.com/polybar/polybar/issues/1441), + [`#2510`](https://github.com/polybar/polybar/pull/2510)) - Added a new `tray-foreground` setting to give hints to tray icons about what color they should be. - ([#2235](https://github.com/polybar/polybar/issues/2235)) + ([`#2235`](https://github.com/polybar/polybar/issues/2235), + [`#2552`](https://github.com/polybar/polybar/pull/2552)) - `polybar-msg`: - - For module actions, you can now also specify the module name, - action name, and optional data as separate arguments. - - Added man page -- `internal/network`: New token `%netspeed%` that provides the total speed of the internet (up + down speed) ([#2590](https://github.com/polybar/polybar/issues/2590)) + - For module actions, you can now also specify the module name, + action name, and optional data as separate arguments. + ([`#2539`](https://github.com/polybar/polybar/pull/2539)) + - Added man page: `man 1 polybar-msg` + ([`#2539`](https://github.com/polybar/polybar/pull/2539)) ### Changed - Polybar now also reads `config.ini` when searching for config files. - ([`#2323`](https://github.com/polybar/polybar/issues/2323)) -- Polybar additionally searches in `XDG_CONFIG_DIRS/polybar` (or - `/etc/xdg/polybar` if it is not set) and `/etc/polybar` for config files - (only `config.ini`). - ([`#2016`](https://github.com/polybar/polybar/issues/2016)) + ([`#2323`](https://github.com/polybar/polybar/issues/2323), + [`#2324`](https://github.com/polybar/polybar/pull/2324)) +- Polybar additionally searches in `XDG_CONFIG_DIRS/polybar/config.ini` (or + `/etc/xdg/polybar/config.ini` if it is not set) and `/etc/polybar/config.ini` for config files. + ([`#2016`](https://github.com/polybar/polybar/issues/2016), + [`#2511`](https://github.com/polybar/polybar/pull/2511)) - We rewrote polybar's main event loop. This shouldn't change any behavior for the user, but be on the lookout for X events, click events, or ipc messages not arriving and the bar not shutting down/restarting properly and let us know if you find any issues. + ([`#2384`](https://github.com/polybar/polybar/pull/2384)) - Slight changes to the value ranges the different ramp levels are responsible - for in the cpu, memory, fs, and battery modules. The first and last level are - only used for everything at or below and at and above the edges of the value - range, respectively. The other levels are evenly distributed over the value - range as before. + for in the cpu, memory, fs, and battery modules. The first level is used for + everything at and below the start of the value range and the last level for + everything at and above the end of the value range. The other levels are + evenly distributed over the value range as before. The value range is bounded + by the new warning thresholds. + ([`#2199`](https://github.com/polybar/polybar/pull/2199)) - `custom/script`: `interval` now defaults to 0 if `tail = true` as per the documentation. -- `internal/network`: - - Increased precision for upload and download speeds: 0 decimal places for - KB/s (as before), 1 for MB/s and 2 for GB/s. + ([`#2240`](https://github.com/polybar/polybar/pull/2240)) +- `internal/network`: Increased precision for upload and download speeds: 0 decimal places for + KB/s (as before), 1 for MB/s and 2 for GB/s. + ([`#2054`](https://github.com/polybar/polybar/pull/2054)) - Clicks arriving in close succession, no longer get dropped. Before polybar would drop any click that arrived within 5ms of the previous one. + ([`#2510`](https://github.com/polybar/polybar/pull/2510)) - Increased the double click interval from 150ms to 400ms. + ([`#2510`](https://github.com/polybar/polybar/pull/2510)) - Stop ignoring actions if they arrive while the previous one hasn't been processed yet. - ([`#2469`](https://github.com/polybar/polybar/issues/2469)) + ([`#2469`](https://github.com/polybar/polybar/issues/2469), + [`#2517`](https://github.com/polybar/polybar/pull/2517)) - Polybar can now be run without passing the bar name as argument given that the configuration file only defines one bar - ([`#2525`](https://github.com/polybar/polybar/issues/2525)) + ([`#2525`](https://github.com/polybar/polybar/issues/2525), + [`#2526`](https://github.com/polybar/polybar/pull/2526)) - `include-directory` and `include-file` now support relative paths. The paths are relative to the folder of the file where those directives appear. - ([`#2523`](https://github.com/polybar/polybar/issues/2523)) + ([`#2523`](https://github.com/polybar/polybar/issues/2523), + [`#2535`](https://github.com/polybar/polybar/issues/2535)) - `custom/ipc`: Empty output strings are no longer formatted. This prevents extraneous spaces and separators from appearing in the bar when the output of an ipc module is empty. + ([`#2549`](https://github.com/polybar/polybar/pull/2549)) ### Fixed -- `custom/script`: Concurrency issues with fast-updating tailed scripts. - ([`#1978`](https://github.com/polybar/polybar/issues/1978)) -- Trailing space after the layout label when indicators are empty and made sure right amount - of spacing is added between the indicator labels, in the xkeyboard module. - ([`#2292`](https://github.com/polybar/polybar/issues/2292)) +- Broken positioning in Openbox when the bar is hidden and shown again + ([`#2021`](https://github.com/polybar/polybar/issues/2021), + [`#2600`](https://github.com/polybar/polybar/pull/2600)) +- Handling of action blocks that contain negative offsets + ([`#1814`](https://github.com/polybar/polybar/issues/1814), + [`#2601`](https://github.com/polybar/polybar/pull/2601)) +- `polybar -m` used to show both physical outputs and RandR monitors, even if + the outputs were covered by monitors. + ([`#2481`](https://github.com/polybar/polybar/issues/2481), + [`#2485`](https://github.com/polybar/polybar/pull/2485)) - Parser error if click command contained `}` - ([`#2040`](https://github.com/polybar/polybar/issues/2040)) -- Slight imprecision when calculating percentages. This caused the volume - reported by alsa to be off by one. - ([`#2399`](https://github.com/polybar/polybar/issues/2399)) + ([`#2040`](https://github.com/polybar/polybar/issues/2040), + [`#2303`](https://github.com/polybar/polybar/pull/2303)) +- Some modules stop updating when system time moves backwards. + ([`#857`](https://github.com/polybar/polybar/issues/857), + [`#1932`](https://github.com/polybar/polybar/issues/1932), + [`#2559`](https://github.com/polybar/polybar/pull/2559)) +- `custom/script`: Concurrency issues with fast-updating tailed scripts. + ([`#1978`](https://github.com/polybar/polybar/issues/1978), + [`#2518`](https://github.com/polybar/polybar/pull/2518)) +- `internal/alsa`: Slight imprecision when calculating percentages. This caused the volume + reported to be off by one. + ([`#2399`](https://github.com/polybar/polybar/issues/2399), + [`#2401`](https://github.com/polybar/polybar/pull/2401)) - `internal/backlight`: With amdgpu backlights, the brightness indicator was slightly behind. - ([`#2367`](https://github.com/polybar/polybar/issues/2367)) -- Warning message regarding T@ in bspwm module - ([`#2371`](https://github.com/polybar/polybar/issues/2371)) -- `polybar -m` used to show both physical outputs and randr monitors, even if the outputs were covered by monitors. - ([`#2481`](https://github.com/polybar/polybar/issues/2481)) + ([`#2367`](https://github.com/polybar/polybar/issues/2367), + [`#2380`](https://github.com/polybar/polybar/pull/2380)) +- `internal/bspwm`: Warning message regarding T@ + ([`#2371`](https://github.com/polybar/polybar/issues/2371), + [`#2439`](https://github.com/polybar/polybar/pull/2439)) +- `internal/xkeyboard`: Trailing space after the layout label when indicators are empty and made sure right amount + of spacing is added between the indicator labels + ([`#2292`](https://github.com/polybar/polybar/issues/2292), + [`#2306`](https://github.com/polybar/polybar/pull/2306)) - `internal/xworkspaces`: - Broken scroll-wrapping and order of workspaces when scrolling - ([`#2491`](https://github.com/polybar/polybar/issues/2491)) + ([`#2491`](https://github.com/polybar/polybar/issues/2491), + [`#2492`](https://github.com/polybar/polybar/pull/2492)) - Module would error if WM was not full started up. - ([`#1915`](https://github.com/polybar/polybar/issues/1915)) + ([`#1915`](https://github.com/polybar/polybar/issues/1915), + [`#2429`](https://github.com/polybar/polybar/pull/2429)) + - Make the urgent hint persistent + ([`#1081`](https://github.com/polybar/polybar/issues/1081), + [`#2340`](https://github.com/polybar/polybar/pull/2340)) + - Crash when the WM sets -1 for `_NET_WM_DESKTOP` + ([`#2352`](https://github.com/polybar/polybar/issues/2352), + [`#2353`](https://github.com/polybar/polybar/issues/2353)) - `internal/network`: The module now properly supports 'altnames' for interfaces. + ([`#2540`](https://github.com/polybar/polybar/pull/2540)) - `internal/battery`: More accurate battery state -([`#2563`](https://github.com/polybar/polybar/issues/2563)) -- Some modules stop updating when system time moves backwards. ([`#857`](https://github.com/polybar/polybar/issues/857), [`#1932`](https://github.com/polybar/polybar/issues/1932)) -- Broken positioning in Openbox when the bar is hidden and shown again - ([`#2021`](https://github.com/polybar/polybar/issues/2021)) -- Handling of action blocks that contain negative offsets - ([`#1814`](https://github.com/polybar/polybar/issues/1814)) + ([`#2563`](https://github.com/polybar/polybar/issues/2563), + [`#2556`](https://github.com/polybar/polybar/pull/2556)) +- Offset tag does not respect current background color + ([`#2578`](https://github.com/polybar/polybar/pull/2578), + [`#1700`](https://github.com/polybar/polybar/issues/1700)) +- Crash when negative margin or padding was specified + ([`#2578`](https://github.com/polybar/polybar/pull/2578), + [`#1265`](https://github.com/polybar/polybar/issues/1265)) ## [3.5.7] - 2021-09-21 ### Fixed