All versions since v0.17.0
v0.17.0
A huge release a long time in the making. Thanks to everybody who contributed in any form, especially those who submitted PRs and are listed below! It means a lot to have so many people contributing to my silly little project.
:boom: BREAKING CHANGES
-
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).
:sparkles: New Features
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)- :arrow_lower_right: addresses issue #575 opened by @madfanat
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)- :arrow_lower_right: 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)
:bug: Bug Fixes
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)- :arrow_lower_right: fixes issue #967 opened by @Ly-sec
040e7e6- mpris: use set_position instead of seek (PR #978 by @postsolar)- :arrow_lower_right: 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)
:recycle: Refactors
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)
:memo: Documentation Changes
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.17.1
This is a very small release to mark the last commit of the GTK3 version of Ironbar, mostly to act as a “stable” fallback point if required.
All future commits and releases will be built on GTK4.
:sparkles: New Features
e07d077- volume: adjust smoothly as slider is dragged (commit by @JakeStanger)
:bug: Bug Fixes
2aef88a- tray: menu buttons work on single screen only (commit by @JakeStanger)d09ba89- flake: correct apps.default to point to ironbar (commit by @GavBog)
:recycle: Refactors
1fb1b27- config: serde::__private methods -> custom deserialization (commit by @slowsage)
:memo: Documentation Changes
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.18.0 - GTK4 Latest
GTK4!
Details on important differences compared to the previous GTK3 versions can be found here: https://github.com/JakeStanger/ironbar/wiki/gtk4
:package: Note for packagers
GTK4 means a change to dependencies - namely switching out the major GTK version and dropping libdbusmenu-gtk3. Details here.
:boom: BREAKING CHANGES
-
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>
:sparkles: New Features
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)
:bug: Bug Fixes
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)- :arrow_lower_right: fixes issue #1261 opened by @tixwho
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)
:recycle: Refactors
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)
:white_check_mark: Tests
b69ff35- fix clippy warnings (commit by @JakeStanger)
:memo: Documentation Changes
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)