All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
v0.18.0 - 2025-12-17
-
due to
aa130d1- port to gtk4 (commit by @JakeStanger):Popups now use the native GTK popover widget, rather than a separate window. Styles will need updating.
-
due to
557b9b8- generate completions using cli instead of build (commit by @JakeStanger):Shell completions are no longer generated at build time, and must be generated using
ironbar --print-completions <shell>
aa130d1- port to gtk4 (commit by @JakeStanger)e79ef46- tray: handle sni status property (commit by @JakeStanger)750e02b- logging:--debugcli flag now sets logging level to debug (commit by @JakeStanger)595ce0a- clipboard: options for configuring image width/height (commit by @JakeStanger)0af16dc- addconfigandthemeargs, default themes (commit by @JakeStanger)377f72d- workspaces: implement urgency for niri (commit by @Rodrigodd)222f5c5- bluetooth: add options for popup height limit (commit by @xMAC94x)d6999bb- add double-click support for all modules (commit by @postsolar)2200be3- add configurable tray icon click actions (commit by @postsolar)
68b1a63- menu:.openclass not added when height property not set (commit by @JakeStanger)63e975a- notifications: close popup on panel open (commit by @JakeStanger)6b2a1b2- workspaces: send workspace move for hyprland502d0d9- logging: panic messages have escaped ansi sequences (commit by @JakeStanger)0bfa479- potential race condition on monitor connection causing issues with bar creation (PR #1198 by @azertyfun)68e1f8a- some icons not resolving (commit by @azertyfun)99e682f- autohide: errors on startup (commit by @JakeStanger)dbaab6d- autohide: keep open if popup is visible (commit by @JakeStanger)954271d- autohide: trigger close on popup close (commit by @JakeStanger)9d160d0- nix: replace deprecated wrapGAppsHook (commit by @TaskForceTorture)123733d- nix: add dbus as a dependency (commit by @TaskForceTorture)2539676- nix: add dbus to the devshell (commit by @postsolar)905424f- keyboard: init fails if keyboard layout not available (commit by @JakeStanger)2c11d67- regression from #1198 (commit by @JakeStanger)9c141dd- ipc: crash handling error from bar (commit by @JakeStanger)a067914- ipc: popup commands broken for custom module (commit by @JakeStanger)2c215ea- desktop: handle spaces in file names (PR #1263 by @slowsage)bcd00f5- launcher: close popup when mouse leaves (commit by @slowsage)1a6d7f4- image: remote images not loading (PR #1267 by @slowsage)423cf50- keyboard: pango markup not working in layout map (commit by @tobias47n9e)859c9c2- autohide: not working on vertical bars (commit by @JakeStanger)eb39c9f- tray: menus inaccessible when autohide enabled (commit by @JakeStanger)91e1897- CSS style issues on minimal theme with no gtk theme (PR #1281 by @esther-ff)19188ae- keyboard: layout update not working on sway (PR #1282 by @tobias47n9e)
3faff44- config: preferserde(default)attr at struct-level (commit by @JakeStanger)c77ee42- tray: remove hard-coded icon spacing (commit by @JakeStanger)557b9b8- generate completions using cli instead of build (commit by @JakeStanger)51539ec- remove old default bar (commit by @JakeStanger)2ac01cd- fix gtk4.12 warnings (commit by @JakeStanger)2abb847- clients: use concrete errors where possible (commit by @JakeStanger)44569ee- tray: group icon parameters to fix clippy warning (commit by @postsolar)
b69ff35- fix clippy warnings (commit by @JakeStanger)
6dc867c- readme: add aur bin package (commit by @JakeStanger)c88dd15- readme: update blurb [skip ci] (commit by @JakeStanger)059d68c- contributing: add details on---no-default-features(commit by @JakeStanger)f0aa89a- readme: replace banner image (commit by @JakeStanger)aeef5bb- examples: replace with newminimalanddesktopconfigs (commit by @JakeStanger)03b8f90- update desktop example README with the correct command (commit by @CBenoit)c3655ec- readme: add info on motivation (commit by @JakeStanger)2159aac- compiling: correct debian packages, split build/runtime (commit by @JakeStanger)f6fb373- battery: fix formatting for toml thresholds section (PR #1236 by @ksharizard)9964103- scripts: fix typos and improve clarity (PR #1237 by @ksharizard)a673bca- add development guidecc88560- styling guide: add libadwaita clarificationa384671- tidy and improve custom docs (commit by @JakeStanger)bac7f76- fix typo in Script.md documentation (commit by @postsolar)e1b1231- readme: remove unmaintained fedora copr package (commit by @JakeStanger)
v0.17.1 - 2025-10-05
e07d077- volume: adjust smoothly as slider is dragged (commit by @JakeStanger)
2aef88a- tray: menu buttons work on single screen only (commit by @JakeStanger)d09ba89- flake: correct apps.default to point to ironbar (commit by @GavBog)
7c17195- sysinfo: fix wrong symbol in tokens table (commit by @JakeStanger)ea1f304- gtk4: add bluetooth, menu to port status (commit by @JakeStanger)e419c9e- bluetooth: fix type not interpreted as string (PR #1152 by @benoitlx)b549c22- gtk4: update port status (commit by @JakeStanger)971eea6- gtk4: update port status (again) (commit by @JakeStanger)21d7167- gtk4: mark bindmode, bluetooth as ported (commit by @JakeStanger)926bff8- gtk4: update menu port status and image status (commit by @JakeStanger)6fb1085- gtk4: update theming port status (commit by @JakeStanger)3d538a0- gtk4: update launcher port status (commit by @JakeStanger)e17ac2a- gtk4: update tray port status (commit by @JakeStanger)b60dbfe- gtk4: update build info (commit by @JakeStanger)f3c9a2b- gtk4: update IPC port status (commit by @JakeStanger)f26592a- compiling: add detail on using docker image (commit by @JakeStanger)42a75e9- compilation: update linker section (commit by @JakeStanger)2fa4dd0- gtk4: update tray to fully ported (commit by @JakeStanger)baf8d36- gtk4: update clipboard, menu port info (commit by @JakeStanger)969b596- add IRONBAR_CSS note to Styling guide (PR #1185 by @carrot-sticks)
v0.17.0 - 2025-09-07
-
due to
03136e7- new sorting options (commit by @JakeStanger):The workspace
sortconfig option valid values have changed. Wherealphanumericis explicitly set, this will need changing to one oflabelorname. -
due to
01de0ac- overhaul to add aggregate/unit/formatting support (commit by @JakeStanger):Use of the
sys_infomodule in your config will need to be updated to use the new token format. See the wiki page for more info. -
due to
322fc0c- standardize home-manager module options (commit by @74k1):programs.ironbar.systemdis not enabled by default anymore -
due to
3e55d87- overhaul.desktopand image resolver systems (commit by @JakeStanger):The
icon_themesetting has been moved from per-bar to top-level -
due to
0d8ec47- commands for controlling css class names (commit by @JakeStanger):The
load-csscommand has been moved to thestylesubcommand (ieironbar style load-css).
afe534c- add.urgentworkspace css class (commit by @Rodrigodd)df4bfc8- truncate: explicitoffmode (commit by @JakeStanger)da13b9d- launcher:truncateandtruncate_popupconfig options (commit by @JakeStanger)64b953c- launcher: add option to minimize window if focused (commit by @pachliopta)9f7c391- sway: support workspace rename events (PR #799 by @quietvoid)7f71a38- launcher: open new window on middle-click (commit by @BowDown097)ccfe73f- libinputkeysmodule (commit by @JakeStanger)03136e7- workspaces: new sorting options (commit by @JakeStanger)4381fd5- add shell completions (commit by @donovanglover)708118d- justify property for clock and custom label (commit by @BowDown097)87c6801- launcher: icon overrides (commit by @BowDown097)03e6f10- keyboard: ability to display and switch kb layout (PR #836 by @kuzy000)5e7e741- volume: add pango support to button (commit by @JakeStanger)01de0ac- sysinfo: overhaul to add aggregate/unit/formatting support (commit by @JakeStanger)02a8dda- workspaces: niri support (commit by @anant-357)183ca40- launcher: pagination controls when item count is reached (commit by @JakeStanger)ba5ec80- label: add truncate to module and custom widget (commit by @JakeStanger)b83f26c- sysinfo: expose values as ironvars (commit by @JakeStanger)c20feb7- fully implement orientation/justify options (commit by @JakeStanger)5a5b110- rename sway_mode to bindmode and add Hyprland support (commit by @Rodrigodd)322fc0c- nix: standardize home-manager module options (commit by @74k1)89073dc- nix: uselib.filesetforsrc(commit by @reo101)b13c725- custom: add halign and valign options to box widget (PR #988 by @BBFifield)βοΈ addresses issue #985 opened by @BBFifield
3a0e102- changeicon_overridesto apply to all resolved images (commit by @JakeStanger)96e10fe- addmenumodule (commit by @ClaireNeveu)5520562- support glob patterns for keyboard layout icons (PR #949 by @postsolar)53b1e0f- bluetooth: add bluetooth module (commit by @kuzy000)ebcb972- smooth scrolling speed option (commit by @JakeStanger)69df0c9- menu, notifications, upower: use ironbar image system (commit by @JakeStanger)a2bd428- upower: expose properties as ironvars (commit by @JakeStanger)c76e569- upower: dynamic thresholds for styling (commit by @JakeStanger)0d8ec47- ipc: commands for controlling css class names (commit by @JakeStanger)757588e- notifications: add class for button widget (commit by @JakeStanger)ffca125- support pango markup in icon buttons (commit by @JakeStanger)
a181d4e- networkmanager, upower: widget not vertical on left/right bars (commit by @JakeStanger)fa6f27d- workspaces: rewrite module to fix several small issues (commit by @JakeStanger)e0bae2c- keys: high cpu usage (commit by @JakeStanger)75375aa- clipboard: possible deadlock when copying (PR #863 by @ToxicMushroom)1d29d61- exit 0 on ipc connection error (commit by @JakeStanger)551e1ce- keyboard: panic when layout update channel lags behind (PR #869 by @quietvoid)e8da00b- custom: buttons lock up on long running commands (commit by @JakeStanger)3320cf2- workspaces: niri workspaces not respectingaddedsort (PR #911 by @MapoMagpie)ff9ba7b- clipboard: failing to paste in some applications (commit by @JakeStanger)963a450- wayland: panicking on compositors without protocol support (commit by @JakeStanger)4d92af7- music: hours not being displayed in track duration (PR #968 by @postsolar)040e7e6- mpris: use set_position instead of seek (PR #978 by @postsolar)βοΈ fixes issue #970 opened by @postsolar
e240ab7- cairo: huge memory leak (commit by @JakeStanger)375ceb8- workspaces: reload broken on niri (commit by @JakeStanger)7b220cb- issues with bar appearing on wrong monitor (commit by @JakeStanger)ff359f6- launcher: regression - favourites in wrong order (commit by @JakeStanger)9ed0d12- unable to use markup in icon labels (commit by @JakeStanger)448f461- regression - image prefixes not handled correctly (commit by @JakeStanger)9b0c0dd- default HM moduleconfigoption tonull(commit by @postsolar)81ce2c1- upower: round battery percent to whole number (PR #1058 by @pgattic)673b05e- panic when module controller errors (commit by @JakeStanger)c4f5485- ipc: message size limited to 1024 bytes (commit by @JakeStanger)40adfaf- opening programs vialauncherandmenuleaving zombie processes (commit by @JakeStanger)ff185d0- desktop_file: case-insensitive app_id -> desktop_file find (commit by @slowsage)feccc29- regression caused by #1089 (commit by @JakeStanger)0159c01- app_id StartupWMClass resolution in launcher (commit by @slowsage)663ccda- notifications, upower: regression from #1125 (commit by @JakeStanger)caa1bf0- autohide: hiding bar when some widgets hovered (commit by @JakeStanger)c6a1670- autohide: hiding bar when leaving and re-entering within timeout (commit by @JakeStanger)8563786- custom: spaces in class names not handled (commit by @JakeStanger)c2e21d4-on_clickevents not working on button widgets (commit by @JakeStanger)
cc6f21e- take reference into image provider (commit by @JakeStanger)8b05ed5- move label truncate function to ext trait (commit by @JakeStanger)8cdbe7e- hyprland: improve logging (commit by @JakeStanger)5136637- fix some strict clippy warnings (commit by @JakeStanger)9cb1dfc- enum/struct formatting (commit by @BowDown097)59b5ddc- clock: move justify above common (commit by @BowDown097)d1b4af4- make icon overrides bar-level and apply to focused module (commit by @BowDown097)40d449e- address requested changes (commit by @BowDown097)d5e4e08- address requested changes (2) (commit by @BowDown097)2fd49e0- address requested changes (3) (commit by @BowDown097)63f5954- upgrade to zbus v5 (commit by @JakeStanger)c2beda8- ensure one copy of icon_overrides (commit by @BowDown097)f39c4c4- fix clippy warnings (commit by @JakeStanger)202c19e- update to rust 2024, fix strict clippy warnings (commit by @JakeStanger)a023155- keys: switch tocolpetto(commit by @JakeStanger)5bb1c88- clipboard: switch fromnixtorustix(commit by @JakeStanger)fc24949- updatemluacrate (commit by @JakeStanger)638f2a2- avoid explicity cast with long type (commit by @Rodrigodd)5affad3- nix: useflake-partsandflake-compat(commit by @74k1)1b6aa10- update hyprland-rs, removeexpects from hyprland client code (commit by @JakeStanger)c6f3af4- improvements to feature flags (commit by @JakeStanger)f929aef- replace channel macros with ext trait methods (commit by @JakeStanger)09ba381- couple of tiny changes (commit by @JakeStanger)8575300- module: remove redundantinto_popupparameters (commit by @JakeStanger)ca524f1- fix some strict clippy warnings (commit by @JakeStanger)3e55d87- overhaul.desktopand image resolver systems (commit by @JakeStanger)9d18ce5-recv_glibdependency arrays (commit by @JakeStanger)3c4b6a0- remove unnecessaryCloneconstraint fromrecv_glibmethods (commit by @JakeStanger)b62d0d5- fix clippy warnings (commit by @JakeStanger)d05c16f- music: moveIconPrefixedLabelto central module (commit by @JakeStanger)630f88e- ironvar: makeNamespaceTraitpublic (commit by @JakeStanger)ae4239c- upower: tidy module code (commit by @JakeStanger)cce6adc- music: remove regex dependency (commit by @JakeStanger)c507c16- fix lots of pedantic clippy warnings (commit by @JakeStanger)
7bff8c0- launcher: note middle click functionality (commit by @BowDown097)63a9a42- add keys page to sidebar (commit by @JakeStanger)814fbc2- keyboard: add missingshow_layoutoption (commit by @JakeStanger)9c7a562- tray: correct todirectioninstead oforientation(commit by @JakeStanger)3e5fcdc- add info on gtk 4 port (commit by @JakeStanger)41d29d8- gtk4: update notifications to ported (commit by @JakeStanger)caa2886- gtk4: add text format status (commit by @JakeStanger)f4f5910- gtk4: update clipboard, custom, keyboard, script, sysinfo to be ported (commit by @JakeStanger)0c84c0c- gtk4: update workspaces to be ported (commit by @JakeStanger)304fa03- gtk4: update music to ported, popup state (commit by @JakeStanger)e19af2b- gtk4: update launcher as partially ported, update popups/ipc (commit by @JakeStanger)da5164c- gtk4: fix launcher icon (commit by @JakeStanger)beab26a- add missing menu sidebar link (commit by @JakeStanger)34da5ed- sysinfo: add info on querying values (commit by @JakeStanger)
v0.16.1 - 2024-11-24
-
due to
e4e9632- menu causing bar to lose focus on sway (commit by @JakeStanger):The
directionoption has been changed to only accepthorizontalorvertical
662ddb6- tray: image support in menu items (commit by @JakeStanger)e1f3b1b- route gtk logging through tracing (commit by @JakeStanger)
82a6660- workspaces: incorrectly checking focus using name_map value (commit by @JakeStanger)2aa55d8- popup: incorrect pos when resolution changes (commit by @JakeStanger)d8b68fd- launcher: showing xwayland menus and tooltips (commit by @JakeStanger)e08027f- workspaces: prevent crash when clicking current workspace (PR #733 by @Leshuguita)b2db7b0- markup escape issues (commit by @JakeStanger)d87888d-on_scrollevents broken on touchpad (commit by @JakeStanger)80403e3- not properly redrawing on style reload (commit by @JakeStanger)81c48fe- clipboard: crash when unsupported image type (commit by @JakeStanger)e53a906- tray: cannot activate with mixed left/right click (commit by @JakeStanger)55c0940- tray: updatesystem-traydep to bring in a whole load of fixes (commit by @JakeStanger)fb17995- tray: image updates lag 1 behind (commit by @JakeStanger)05530cf- regression caused by #652 (commit by @JakeStanger)e4e9632- tray: menu causing bar to lose focus on sway (commit by @JakeStanger)42e25f5- ipc: support querying against duplicate bar names (commit by @zeroeightysix)5aa9f37- tray: menus not attaching to secondary bars (commit by @JakeStanger)f364bb6- tray: tray icons not disappearing on close (commit by @JakeStanger)ce48fc9- tray: prevent widget buttons from piling up (PR #788 by @cmeissl)230dd8b- workspaces: clicking currently focused workspace attempts to focus it (commit by @JakeStanger)
04f45cc- fix some pedantic clippy warnings (commit by @JakeStanger)486beff- put in basic placeholders for menu icon diffs (commit by @JakeStanger)cf38c37- tray: move some debug logging to trace logging (commit by @JakeStanger)30de23d- tray: switch over tolibdbusmenu-gtk3(commit by @JakeStanger)
56153f1- dynamic values: fix missing backtick (commit by @JakeStanger)ff3f541- tray: fix formatting (commit by @JakeStanger)f161429- clock: align table columns (commit by @JakeStanger)
The tray module now depends on libdbusmenu-gtk3 , which must be present at build time and runtime.
v0.16.0 - 2024-08-10
-
due to
9dd7112- improve CLI structure, add new commands (commit by @JakeStanger):ok_valueresponses will no longer printokas the first line when using the CLI- All IPC commands have changed. Namely,
typehas been changed tocommand, and bar/var related commands are now under asubcommand. The full spec can be found on the wiki. - Several CLI commands are now located under the
varandbarcategories. Usage of any commands to get/set Ironvars or control bar visibility will need to be updated. - The
open_popupandclose_popupIPC commands are now calledshow_popupandhide_popuprespectively. - The popup
nameargument has been renamed towidget_nameon all IPC commands. - The
set-visibilityCLI command now takes atrue/falsepositional argument in place of the-vflag.
f11da3e- music: pango markup support (commit by @JakeStanger)951576c- pango markup support in image icons (commit by @JakeStanger)36d724f- config: json schema support (commit by @JakeStanger)7413f78- cli: debug flag (commit by @JakeStanger)a33e0a2- cli: format flag, json output format (commit by @JakeStanger)9dd7112- improve CLI structure, add new commands (commit by @JakeStanger)aa45396- ability to set bar layer and exclusive zone (commit by @JakeStanger)92ae1a8- nix: home-manager option to read style.css file (commit by @Alpha-Ursae-Minoris)6d0fe4c- add networkmanager module (commit by @Zedfrigg)e307e15- new sway-mode module (PR #671 by @Rodrigodd)
5e7f576- workspaces: add support for hyprland rename event (commit by @JakeStanger)c45ea02- workspaces: regression due to #572 (commit by @JakeStanger)4a37429- launcher: ghost windows in reload (commit by @JakeStanger)520a94a- all bars showing on same display due to GTK bug (commit by @JakeStanger)4ad4b0e- ipc: regression - reload not working due to #592 (commit by @SerraPi)9a39420- launcher: favourites staying focused when closed in hyprland (commit by @JakeStanger)8dda494- cli: using zero exit code for error responses (commit by @JakeStanger)9d8a3eb- correctly escape pango markup (commit by @JakeStanger)277e6b6- notifications: unable to click through overlay (commit by @JakeStanger)dbd385d- launcher: apps with multiple windows stay focused when window closed (commit by @JakeStanger)176af99- music: tokens with¬ rendering (commit by @JakeStanger)7e04e30- wayland: exit on event dispatch error (commit by @JakeStanger)461bee8- bar: do not add start/center/end containers if empty (commit by @JakeStanger)fb6ae42- crash due to clipboard fd incorrectly closed (commit by @JakeStanger)2bc741d- tray: crash when provided empty pixmap (commit by @JakeStanger)f819aec- notifications: client broken by recent refactor (commit by @JakeStanger)45d5bf5- popups not accounting for monitor scaling (commit by @JakeStanger)474e1fe- upower: avoid panic on client init error (commit by @JakeStanger)
04a694e- fix latest clippy warnings (commit by @JakeStanger)c876904- updatenixcrate to latest version (commit by @JakeStanger)dedb89b- popup: renameis_visibletovisible(commit by @JakeStanger)a0cb01a- makeIronbar#unique_idmust_use(commit by @JakeStanger)b8fdd85- explicitly useset_texton non-pango labels (commit by @JakeStanger)9d12535- small tidy (commit by @JakeStanger)1899757- mpris: better logging, avoid panic on dbus error (commit by @JakeStanger)
c25440c- update CHANGELOG.md for v0.15.1 [skip ci] (commit by @JakeStanger)f7f991b- compiling: fix wrong fedora package for pulse libs (commit by @JakeStanger)c7743b2- add rustdoc comments to all module options (commit by @JakeStanger)7d19106- add notes about nerd fonts (commit by @JakeStanger)9db0cbc- upower: fix incorrect css selectors (commit by @JakeStanger)057fdff- examples: fix incorrect cpu sensor name (commit by @JakeStanger)076c2df- add fedora copr package to readme (commit by @victorvintorez)860a676- upower: add note to make clear upower is required (commit by @JakeStanger)
v0.15.1 - 2024-05-05
Release to bump hyprland-rs version due to Hyprland v0.40 socket path breaking change.
47b6c47- compiling: add lua deps (commit by @JakeStanger)1971f3b- volume: update deprecated volume token (PR #567 by @drendog)
v0.15.0 - 2024-04-28
f4384b6- enable use of markup in clock module format and format_popup, and update documentation to reflect supporting Pango markup in both commit by @Dridus)76a6816- upower: add new formatting properties (commit by @Disr0)b037a55- tray: adddirectionoption (commit by @calops)72440e6- tray: icon size setting (commit by @JakeStanger)a70956b- add new volume module (commit by @JakeStanger)7742a46- swaync notifications module (commit by @JakeStanger)ba00445- tray: option to prefer theme-provided icons (commit by @JakeStanger)994f4a4- ability to add custom modules instead native modules (commit by @JakeStanger)46cbaca- option to disable module popup (commit by @JakeStanger)46224d8- custom: ability to add modules/widgets to buttons (commit by @JakeStanger)702b0a6- Add orientation support for clock (commit by @ClaireNeveu)70b2c59- Add orientation support for custom label and button (commit by @ClaireNeveu)44be585- Add orientation and direction support for sys info (commit by @ClaireNeveu)cfaba87- ipc: ironvar list command (commit by @JakeStanger)b0a05b7- new cairo module (commit by @JakeStanger)d03c752- launcher: option to reverse order (commit by @SerraPi)
30b11db- tray: cannot activate menu options with right click (commit by @JakeStanger)f68d95a- logging: log file growing indefinitely (commit by @JakeStanger)6fe9c54- clipboard: unable to paste large images into xwayland (commit by @JakeStanger)a10466e- popup: re-posiiton on resize due to content change (commit by @JakeStanger)0675b91- tray: icons ignoring scaling (commit by @JakeStanger)c62d475- tray: submenus not working (commit by @JakeStanger)f263849- launcher: not resolving icon for some apps (commit by @slowsage)cf44c46- workspaces: favourites not persisting for initally opened workspaces (commit by @JakeStanger)180f874- music - Handle NoActivePlayer (playerctld) , NoReply, NoMethod, ServiceUnknown DBus errors in mpris. (commit by @slowsage)3ba8b4b- regressions introduced by #505 (commit by @JakeStanger)f50a65e- upower module should display correctly for vertical bars (commit by @ClaireNeveu)188abc3- tray: icon colour channels are being incorrectly rendered (commit by @rdnelson)ea2b208- focused: incorrectly clearing when unfocused window title changes (PR #556 by @JakeStanger)βοΈ fixes issue #488 opened by @bluebytβοΈ fixes issue #554 opened by @DanteDragan
a55ba8c- renameget_orientationmethod toorientation(commit by @JakeStanger)86c5b69- tray: tidy imports (commit by @JakeStanger)00a6a84- upower: cheaper string building (commit by @JakeStanger)b912619- image: add debug logging (commit by @JakeStanger)c7b6ee8- add dead_code allow to fix build warning (commit by @JakeStanger)004ea76- tray: complete client rewrite (commit by @JakeStanger)706e040- split bar/top-level config structs (commit by @JakeStanger)1b35354- fix clippy warnings (commit by @JakeStanger)9245188- better error handling for client initialization (commit by @JakeStanger)314bfe7- nix: simplify flake (commit by @JakeStanger)
76a6816- correct formatting tokens in upower (commit by @Disr0)e26e213- improve info about logging (commit by @JakeStanger)163a70e- readme: update nix caching info (commit by @JakeStanger)6a03c46- readme: add mixxc acknowledgement (commit by @JakeStanger)3a3d3d7- readme: add void package (commit by @JakeStanger)fc42f6c- readme: add repology badge (commit by @JakeStanger)8e9db14- macros: add missing comment (commit by @JakeStanger)bb02a21- compiling: add missing notifications feature flag (commit by @JakeStanger)ee8873a- custom: add native examples (commit by @JakeStanger)dffb3e5- workspaces: fix typo that results in a non working config (commit by @nyadiia)782b955- fix issues with several more toml examples (commit by @JakeStanger)
The addition of new modules requires the following new build dependencies:
libpulseluajit
It also requires lua-lgi as a runtime dependency.
v0.14.1 - 2024-02-10
1c9c9bb- cli: error when launched viaswaybar_command(commit by @JakeStanger)976dd6c- style: file watcher not working for relative paths (commit by @JakeStanger)4d9d78f- dynamic string: ironvar parser being too greedy (commit by @JakeStanger)63304a9- dynamic string: always sending partial string on initialization (commit by @JakeStanger)8016ec2- tray: crash caused by excess updates (commit by @JakeStanger)b3a70ce- tray: not handling checkbox items (commit by @JakeStanger)0616633- do not panic on full channels (commit by @JakeStanger)133632d- tray: vastly improve rendering performance (commit by @JakeStanger)
996ad7e- desktop file: simplify some none-type handling (commit by @JakeStanger)aaef3bf- fix new strict clippy warnings (commit by @JakeStanger)f3687c5- replace deprecated indexmap method (commit by @JakeStanger)
af7e037- dynamic string: test pango attributes with ironvars (commit by @JakeStanger)
754e339- add info on speeding up compilation time (commit by @JakeStanger)cb2f9b0- examples: fix issues with example css (commit by @JakeStanger)1b54276- compilation: add sccache section (commit by @JakeStanger)9d7cb08- ironvars: correct allowed chars in keys (commit by @JakeStanger)
v0.14.0 - 2024-01-20
25c490b- workspaces: visible CSS selector (commit by @malicean)60bb69f- addwidgetandwidget-containercss classes on all widgets (commit by @JakeStanger)ee04cd0- bar auto-hide options (commit by @JakeStanger)659c93d- use top-level config as fallback when using monitor-based config (commit by @JakeStanger)8371a92- load bars on monitor when it connects (commit by @JakeStanger)
4099847- styles: hot reload not working when edited with vim (commit by @JakeStanger)f24b21d- focused: clear when no window is focused (commit by @JakeStanger)34ed6a9- focused: not clearing when switching to empty workspace (commit by @JakeStanger)518c2ef- Home Manager systemdIntegration warnings (commit by @delliottxyz)5f82b6e- tray: existing icons rendering as text (commit by @chmanie)80de5dd- some modules crashing due to recent gtk refactor (commit by @JakeStanger)c356b22- workspaces: favourites missinginactiveclass on startup (commit by @JakeStanger)b4d7545- regression: GTK refactor causing updates to be missed (commit by @JakeStanger)b004d50- launcher: favourites not focused when opened (commit by @JakeStanger)963f8ed- script: spawning outside of tokio runtime causing crash (commit by @JakeStanger)
fea1f18- fix new clippy warnings, fmt (commit by @JakeStanger)4e67b73- wlr data control: update to new nix epoll bindings (commit by @JakeStanger)5582dcf- fix new clippy warning (commit by @JakeStanger)08e354e- fix new clippy warnings (commit by @JakeStanger)b2fa19a- begin restructuring core code to better encapsulate (commit by @JakeStanger)ed5a162- update wayland crates to latest versions (commit by @JakeStanger)bea442e- update gtk/glib, remove glib channels (commit by @JakeStanger)e847a84- fix casting based clippy warnings (commit by @JakeStanger)967801d- workspaces: avoid sending unknown update info (commit by @JakeStanger)b2a37a3- fix clippy warning (commit by @JakeStanger)57b57ed- pass context into modules controllers (commit by @JakeStanger)c702f6f- major client code changes (commit by @JakeStanger)6f531a5- removelazy_staticandasync_once(commit by @JakeStanger)e0dc5e1- wayland: remove unused request type (commit by @JakeStanger)18b4784- wayland: simplify task spawning code (commit by @JakeStanger)
b9c41af- workspaces: add missing.inactiveselector (commit by @JakeStanger)abd1f80- examples: update discord icon, temporarily disable random label (commit by @JakeStanger)ccc6ff2- readme: add nixpkgs details (commit by @JakeStanger)c2306d6- styling: add another example for selecting gtk widgets (commit by @JakeStanger)a768164- styling guide: add explanation on specificity (commit by @Schweber)917c1bd- dynamic values: link to scripts/ironvars pages (commit by @JakeStanger)74930df- compiling: fix fedora instructions (commit by @JakeStanger)f2c4ddb- sys info: fix cpu temp examples (commit by @cyhyraethz)a159825- fix nerdfont icons (commit by @eclairevoyant)
v0.13.0 - 2023-08-16
c3e9654- upower: icon size option (commit by @JakeStanger)f5bdc5a- ipc server and cli (commit by @JakeStanger)ded50cc- support for 'ironvar' dynamic variables (commit by @JakeStanger)c6319b7- ipc: support for injecting additional stylesheets (commit by @JakeStanger)27f920d- launcher: slightly improve focus logic when clicking item with multiple windows (commit by @JakeStanger)bd90167- clock: format option for popup header (commit by @JakeStanger)12053f1- music: progress/seek bar in popup (commit by @JakeStanger)7d3bb02- ipc: reload config command (commit by @JakeStanger)b310ea7- clock: localization support (commit by @JakeStanger)738b9e3- config: use default fallback with config instructions (commit by @JakeStanger)2ccb263- IPC for get_visible, set_visible, new barnameconfig option (commit by @A-Cloud-Ninja)b7ee794- ipc: commands for opening/closing popups (commit by @JakeStanger)ef443e6- image resolver: add fallback image (commit by @JakeStanger)9f65cf2- workspaces: addfavoritesandhiddenoptions (commit by @yavko)19c684e- nix: automatic development environment with direnv (commit by @yavko)
6db7742- crash on startup introduced by recent refactors (commit by @JakeStanger)f78c7f9- not resolving flatpak application icons (commit by @body20002)1759945- music: correctly show/hide popup elements based on player capabilities (commit by @JakeStanger)a9ac29d- clipboard partially behind wrong feature flag (commit by @JakeStanger)c711dd8- failing to resolve icons with home_manager (commit by @christoph00)1a272e0- label: not using markup (commit by @JakeStanger)4ca17d1- launcher: incorrectly resolving some applications (commit by @JakeStanger)eee2182- ipc: command/response casing (commit by @JakeStanger)c582bc3- cli:set-visiblecommand causing panic (commit by @JakeStanger)87dd764- launcher: not clearing focused state when closing window (commit by @JakeStanger)6f57ad4- launcher: not setting focus state when opening favourite (commit by @JakeStanger)2367faa- image: using fallback in places it shouldn't (commit by @JakeStanger)7f6fef6- image: matching desktop file names too eagerly (commit by @JakeStanger)89ec06f- music: hide album art widget when no image (commit by @JakeStanger)2902331- dynamic string: incorrectly handling strings containing multipoint utf-8 chars (commit by @JakeStanger)901a86c- custom: crash when clicking non-popup button (commit by @JakeStanger)54f0f23- launcher: popup not closing when hover leaves widget (commit by @JakeStanger)
d121dc3- fix unused var warning (commit by @JakeStanger)cc181a8- fix new clippy warnings (commit by @JakeStanger)7016f7f- use new smart pointer macros throughout codebase (commit by @JakeStanger)06251e2- fix new pedantic clippy warnings (commit by @JakeStanger)36f3db7- image: do not try to read desktop files where definitely not necessary (commit by @JakeStanger)
607c728- update for ipc/cli, tidy a bit (commit by @JakeStanger)4b88079- fix header (commit by @JakeStanger)4620f29- examples: update stylesheet (commit by @JakeStanger)3d94987- ipc: add link to luajit library (commit by @JakeStanger)
v0.12.1 - 2023-06-18
-
due to
e11177f- add sensible class names for icon labels (commit by @JakeStanger):Where both textual and image icons are supported, CSS classes have changed to better reflect their targets.
.iconhas changed to.icon-boxand.iconnow targets the underlying element..labelhas been changed to.icon.text-icon. This affects icons on the music, workspaces, and clipboard modules.
31a57ae- scripts don't work while running ironbar under a systemd service (commit by @JakeStanger)f82f897- upower: popup always empty (commit by @JakeStanger)9012fee- image: still blurry on hidpi (commit by @JakeStanger)0e65f93- excess popup windows (commit by @JakeStanger)87ca399- poor error handling for missing images (commit by @JakeStanger)22b630a- broken nerd font icons (commit by @JakeStanger)48d6af0- music: showing when no mpris player found (commit by @JakeStanger)b9740cb- upower icon too large (commit by @JakeStanger)a6b6866- upower: icon outside button (commit by @JakeStanger)a5ecb36- popups occasionally getting jumbled with multiple bars (commit by @JakeStanger)e11177f- add sensible class names for icon labels (commit by @JakeStanger)ac34c05- focused: empty icon rendered whenshow_icon = false(commit by @JakeStanger)de3aa5d- focused: previous icon does not clear if new icon fails to load (commit by @JakeStanger)de98cf3- tray: (maybe?) sometimes bus name is taken (commit by @JakeStanger)103a224- launcher: crash when focusing newly opened window in popup (commit by @JakeStanger)
327e345- examples: fix css button styles (commit by @JakeStanger)13d3923- examples: fix casing of steam in launcher favourites (commit by @JakeStanger)cdeafbd- sys info: add typical temperature sensors for intel/amd cpus (commit by @JakeStanger)ff315ff- music: fix incorrect type forhost/music_diroptions (commit by @JakeStanger)bd144e8- readme: make prettier (commit by @JakeStanger)242b70e- contributing: enforce conventional commits (commit by @JakeStanger)96d36c4- add missing icon/image selectors (commit by @JakeStanger)
v0.12.0 - 2023-05-06
-
due to
dea6641- module-levelnameandclassoptions (commit by @JakeStanger):To allow for the
nameproperty, any widgets that were previously targeted by name should be targeted by class instead. This affects all modules and all popups, as well as several widgets inside modules. This will break a lot of rules in your stylesheet. To attempt to mitigate the damage, a migration script can be found here that should get you most of the way.
6c62286- new label module (commit by @JakeStanger)cac064f- ability to configure popup gap (commit by @JakeStanger)dfe1964- custom: slider widget (commit by @JakeStanger)72b14b6- custom: progress bar widget. (commit by @JakeStanger)a9d1233- custom: support dynamic strings on buttons (commit by @JakeStanger)3d308ab- custom: support dynamic string in image source (commit by @JakeStanger)4a09b70- custom: support common options in widgets (commit by @JakeStanger)83f44fd- wrap modules in a revealer to support animated show/hide (commit by @JakeStanger)1fa0c0e- custom: support mouse wheel on slider (commit by @JakeStanger)2da28b9- ability to configure image icon sizes (commit by @JakeStanger)033d0f7- custom: option to toggle slider label (commit by @JakeStanger)76e2b7b- music: option to hide status icon on widget (commit by @JakeStanger)ad3c171- implement upower module (commit by @p00f)2a155b9- music: add css selector for button contents (commit by @JakeStanger)c1ea5fa- logging: include line numbers (commit by @JakeStanger)dea6641- module-levelnameandclassoptions (commit by @JakeStanger)
9109453- dynamic string: parser issue related to incorrectly matching braces (commit by @JakeStanger)7355db7- image: http provider not handling non-success codes (commit by @JakeStanger)a87d8d5- tray: icons sometimes not showing (commit by @JakeStanger)15a9d8d- script: parser incorrectly handling colons (commit by @JakeStanger)68bc823- tray: icons sometimes not showing (commit by @JakeStanger)b038e76- tray: icons sometimes not showing (commit by @JakeStanger)7926bb0- nix: Fixnix runsupport (commit by @yavko)2c88c99- dynamic string: crash when last segment is static and a single char (commit by @JakeStanger)338f5a0- nix: Attempt to fix image blurriness (commit by @yavko)db0868a- image: not scaling icons for hidpi (commit by @JakeStanger)14b6c1a- bars duplicate when starting second instance (commit by @JakeStanger)98aaaa0- fallback to default icon theme for notifier items (commit by @oknozor)735f5cc- launcher: crash when focusing window (commit by @JakeStanger)e1abadc- clipboard: copying large images filling write pipe (commit by @JakeStanger)
2ab06f0- custom: split into enum with separate file per widget (commit by @JakeStanger)3613aef- custom: reduce a lot of repeated code (commit by @JakeStanger)c214f65- fix strict clippy warnings (commit by @JakeStanger)27d11de- config: split common code into separate file (commit by @JakeStanger)6fd69d6- move module creation code to module module (commit by @JakeStanger)e63509a- fix a few new clippy warnings (commit by @JakeStanger)7f46cb4- wayland: update to 0.30.0 (commit by @JakeStanger)38da59c- fix a few pedantic clippy warnings (commit by @JakeStanger)
e928b30- custom: rewrite widget options to be clearer (commit by @JakeStanger)138b5b3- custom: fix potential error in progress example (commit by @JakeStanger)07df51c- include readme in rust docs (commit by @JakeStanger)dd7c9f3- add transition module-level options (commit by @JakeStanger)610c352- add missing link to upower page (commit by @JakeStanger)ea9f7ca- add missingupowerfeature flag (commit by @JakeStanger)618b7ef- improve example css (commit by @JakeStanger)139bc5d- compiling: improve requirements list (commit by @JakeStanger)cf32870- compiling: add ron feature flag (commit by @JakeStanger)
v0.11.0 - 2023-04-01
-
due to
ca4fe42- ability to set fixed length (commit by @JakeStanger):This changes the behaviour of
truncate.length. A new property,truncate.max_length, has been introduced that uses the old behaviour.
d253c4b- add configurable margins around bar (commit by @ttoino)ca4fe42- truncate: ability to set fixed length (commit by @JakeStanger)575d6cc- new clipboard manager module (commit by @JakeStanger)9984b63- nix: initial nix feature flags impl (commit by @yavko)b1475a1- nix: use cargo default features (commit by @yavko)102d247- module hover options (commit by @JakeStanger)
2ac5071- not setting layer shell namespace (commit by @JakeStanger)7dff3e6- image: widgets missing names (commit by @JakeStanger)54b9b28- make readme more concise (commit by @yavko)8cbb73b- dynamic string: dynamic sections not respecting ordering (commit by @JakeStanger)d0b7bdb- nix: home manager module, and features (commit by @yavko)
d84139a- general tidy up (commit by @JakeStanger)7212bbc- dynamic string: use vec instead of indexmap (commit by @JakeStanger)ecdd71a- config: useuniversal-configcrate. (commit by @JakeStanger)6221f74- fix new clippy warnings (commit by @JakeStanger)
7c36f5c- fix a couple of issues (commit by @JakeStanger)83a4916- compiling: add info about build deps (commit by @JakeStanger)5bbe64b- clock: format table (commit by @JakeStanger)2b26eaf- clipboard: fix incorrect setting description (commit by @JakeStanger)0125ce5- examples: update styles example (commit by @JakeStanger)
v0.10.0 - 2023-02-01
-
due to
3cf9be8- global icon theme setting (commit by @JakeStanger):This removes the
icon_themeoption fromlauncherandfocused. You will need to set this at the top of your config instead. -
due to
90f57d6- remove irrelevanticonformat token (commit by @JakeStanger):(Missed from #96141d4) The
{icon}token has been removed from themusicmodule due to incompatibility with the new image/icon support. The icon now always displays as a separate widget before the label and should be removed from your formatting string.
8691824- music: ability to truncate button text (commit by @JakeStanger)07dbf78- focused: ability to truncate label text (commit by @JakeStanger)393800a- custom: image widget (commit by @JakeStanger)3cf9be8- global icon theme setting (commit by @JakeStanger)b054c17- workspaces: support for using images inname_map(commit by @JakeStanger)96141d4- music: support for using images inname_map, additional icon options (commit by @JakeStanger)c347b6c- add feature flags (commit by @JakeStanger)
5772711- music: remote mpris album art not showing (commit by @JakeStanger)5fb4125- tray: some init issues (commit by @JakeStanger)058c8f4- hyprland: issues with tracking workspaces (commit by @JakeStanger)51d2c22- images: incorrectly resolving non-files (commit by @JakeStanger)
012762e- swap out some code for existing macros (commit by @JakeStanger)9750255- music: split config code into separate file (commit by @JakeStanger)15f0857- replace icon loading with improved general image loading (commit by @JakeStanger)
90f57d6- music: remove irrelevanticonformat token (commit by @JakeStanger)6a39905- compiling: add missing full stop (commit by @JakeStanger)7b23e61- wiki: update screenshots and examples (commit by @JakeStanger)
v0.9.0 - 2023-01-28
-
due to
fa67d07- mouse event config options (commit by @JakeStanger):on_clickis now calledon_click_leftfor consistency with new options. -
due to
6d8e647- mpris support (commit by @JakeStanger):The
mpdmodule has been renamed tomusic. You will need to update thetypevalue in your config and addplayer_typeto continue using MPD. You will also need to update your styles.
1dd5863- better surface some config error messages (commit by @JakeStanger)fa67d07- mouse event config options (commit by @JakeStanger)6d8e647- mpris support (commit by @JakeStanger)6e5d0c1- workspaces: hyprland support (commit by @JakeStanger)9ba28fe- workspaces: better ordering (commit by @JakeStanger)
e1f523c- music: popup artist label using wrong name (commit by @JakeStanger)08cfbbc- music: unable to go to prev with mpris (commit by @JakeStanger)0cefcbd- music: wrong widget name on vol slider (commit by @JakeStanger)90cd078- mpd: stops working if connection lost (commit by @JakeStanger)
2c1b292- move most of the horribleadd_modulemacro content into proper functions (commit by @JakeStanger)fd2d7e5- move startup logging code to logging module (commit by @JakeStanger)9d5049d- standardise error messages (commit by @JakeStanger)5e21cbc- macros to reduce repeated code (commit by @JakeStanger)ea2c84d- general code tidy-up (commit by @JakeStanger)0d7ab54- remove redundant clone (commit by @JakeStanger)
c223892- workspaces: update for hyprland/new ordering option (commit by @JakeStanger)
v0.8.0 - 2022-11-30
-
due to
df77020- use snake_case for module tokens for consistency (commit by @JakeStanger):This renames the module from
sys-infotosys_info, and almost every formatting token fromkebab-casetosnake_case. Any use of this module will need to be updated. -
due to
8c75bc4- renamepathtocmdfor consistency (commit by @JakeStanger):This changes the option in the
scriptmodule. Any uses of the module must be updated to use the new option name. -
due to
e274ba3- renameexectoon_clickfor consistency (commit by @JakeStanger):This changes the option on buttons in the
custommodule. Any uses of the module must be updated to use the new custom widget attribute name.
73158c2- script: new watch mode (commit by @JakeStanger)a3f90ad- add nix flake support (commit by @yavko)c9e66d4- common module options (show_if,on_click,tooltip) (commit by @JakeStanger)5d153a0- custom: ability to embed scripts in labels for dynamic content (commit by @JakeStanger)d20972c- dynamic tooltips (commit by @JakeStanger)
ff17ec1- various changes based on rust 1.65 clippy (commit by @JakeStanger)4662f60- move various clients to own folder (commit by @JakeStanger)0fb5fa8- use latestlibcornwith serde support (commit by @JakeStanger)df77020- sys_info: use snake_case for module tokens for consistency (commit by @JakeStanger)8c75bc4- script: renamepathtocmdfor consistency (commit by @JakeStanger)e274ba3- custom: renameexectoon_clickfor consistency (commit by @JakeStanger)64f5404- move dynamic_label.rs to dynamic_string.rs and fix failing test (commit by @JakeStanger)
907a565- dynamic label: do not run if cannot initialise gtk (commit by @JakeStanger)
58d55db- migrate wiki into main repo (commit by @JakeStanger)c480296- script: improve doc comment (commit by @JakeStanger)8c77410- script: add information on new mode options (commit by @JakeStanger)c4cdf4b- update example configs (commit by @JakeStanger)ec69649- update example configs (commit by @JakeStanger)1320639- add custom power menu example (commit by @JakeStanger)afedf02- add link to new custom power menu example (commit by @JakeStanger)
v0.7.0 - 2022-11-05
fad90fd- sys-info: add loads more formatting tokens (commit by @JakeStanger)dec402e- sys-info: config options for refresh intervals (commit by @JakeStanger)91c57ed- sys-info: pango markup support (commit by @JakeStanger)ec1d596- logging:IRONBAR_LOGandIRONBAR_FILE_LOGenv vars (commit by @JakeStanger)493df6b- mpd: add volume slider to popup (commit by @JakeStanger)3750124- new custom module (commit by @JakeStanger)b7792a4- env var to set custom css location (commit by @JakeStanger)ad77dc4- improved logging & error handling (commit by @JakeStanger)
9e6dbbd- sys-info: tokens not replaced if more than one in string (commit by @JakeStanger)f17ae7a- script: not parsing pango markup (commit by @JakeStanger)b66bd78- logging for creating bar incorrect still (commit by @JakeStanger)3c43c20- weird behaviour when config does not exist (commit by @JakeStanger)70e1b52- logging: file log not capturing panics (commit by @JakeStanger)cbd0c49- css watcher not working (commit by @JakeStanger)e693c1c- mpd: volume slider causing mpd server errors (commit by @JakeStanger)3a83bd3- able to insert duplicate keys into collection (commit by @JakeStanger)
5ebc84c- logging: consts for default log levels (commit by @JakeStanger)bc625b9- clippy & fmt (commit by @JakeStanger)
27d0479- readme: add warning about crate being outdated (commit by @JakeStanger)a06c4bc- examples: add full system info config (commit by @JakeStanger)0a331f3- readme: remove warning about outdated cargo package (commit by @JakeStanger)
v0.6.0 - 2022-10-15
b188bc7- initial support for running outside sway (commit by @JakeStanger)324f00c- wlroots-agnostic support forfocusedmodule (commit by @JakeStanger)b1c66b9- wlroots-agnostic support forlaunchermodule (commit by @JakeStanger)1dd0a9e- launcher: add popup css selectors (commit by @JakeStanger)06cfad6- more positioning options (PR #23 by @JakeStanger)
5523e9a- popup: often opening in wrong place (commit by @JakeStanger)8536ad7- mpd: incorrectly checking for unix sockets (commit by @JakeStanger)bd5bdf5- logging for creating bar incorrect (commit by @JakeStanger)75339f0- vertical bars ignoring height config option (commit by @JakeStanger)b7b6488- sometimes panicking on startup (commit by @JakeStanger)
5ce50b0- tidy and format (commit by @JakeStanger)1b853bc- fix clippy warning (commit by @JakeStanger)
b352181- update json example (commit by @JakeStanger)bb4fe7f- readme: credit smithay client toolkit (commit by @JakeStanger)994d0f5- readme: update references to sway (commit by @JakeStanger)
-
due to
06cfad6- more positioning options (PR #23 by @JakeStanger):The
leftandrightconfig options have been renamed tostartandend
v0.5.2 - 2022-09-07
b801751- release: v0.5.2 (commit by @JakeStanger)
v0.5.1 - 2022-09-06
b81927e- launcher: opening new instances when focused/urgent (commit by @JakeStanger)a35d255- launcher: item state changes not handled correctly (commit by @JakeStanger)
481adfc- intellij: update run configs (commit by @JakeStanger)6871126- release: v0.5.1 (commit by @JakeStanger)
v0.5.0 - 2022-08-25
1e38719- introduce logging in some areas (commit by @JakeStanger)
023c2fb- workspaces: not listening to move event (commit by @JakeStanger)6dcae66- avoid creating loads of sway/mpd clients (commit by @JakeStanger)
015dcd3- release: v0.5.0 (commit by @JakeStanger)
v0.4.0 - 2022-08-22
ab8f7ec- logging support and proper error handling (commit by @JakeStanger)
f2ee2df- error when using withswaybar_command(commit by @JakeStanger)
1d7c377- release: v0.4.0 (commit by @JakeStanger)