1
0
Fork 0
mirror of https://github.com/Zedfrigg/ironbar.git synced 2025-08-17 23:01:04 +02:00
Commit graph

484 commits

Author SHA1 Message Date
b62d0d58cb
refactor: fix clippy warnings 2025-05-27 13:33:05 +01:00
3c4b6a0fdb
refactor: remove unnecessary Clone constraint from recv_glib methods 2025-05-27 13:31:22 +01:00
448f461943
fix: regression - image prefixes not handled correctly
Fixes #1015
2025-05-27 11:38:08 +01:00
9d18ce52f5
refactor: recv_glib dependency arrays
Adds a dependency array system to `recv_glib` which internally clones the passed deps and then passes by reference to the callback.

This cleans up a lot of the big `{}` blocks full of `widget.clone()` and removes a lot of boilerplate. Yay!
2025-05-26 22:46:25 +01:00
333796a9ae
Merge pull request #609 from ClaireNeveu/menu-widget
feat: Add Menu module
2025-05-26 16:37:15 +01:00
Claire Neveu
96e10fe139
feat: add menu module
Adds a new Menu module which allows users to create XDG or custom menus that open after clicking on a button.

Resolves #534

Co-authored-by: Jake Stanger <mail@jstanger.dev>
2025-05-26 16:23:49 +01:00
9ed0d1270a
fix: unable to use markup in icon labels 2025-05-25 23:27:03 +01:00
3a0e102afc
feat: change icon_overrides to apply to all resolved images 2025-05-25 16:24:17 +01:00
3e55d87c3a
refactor: overhaul .desktop and image resolver systems
Rewrites the desktop file parser code and image resolver code to introduce caching system and make fully async. They should be much faster now.

BREAKING CHANGE: The `icon_theme` setting has been moved from per-bar to top-level
2025-05-25 16:24:17 +01:00
ca524f19f6
refactor: fix some strict clippy warnings 2025-05-25 12:14:24 +01:00
bd9b3af5bc
Merge pull request #999 from postsolar/fix-calendar-date
fix(clock): reset selected calendar date on each popup open
2025-05-20 16:55:09 +01:00
postsolar
c4b29e199c Calendar: reset selected date on each popup open 2025-05-20 17:50:09 +03:00
ff359f61c2
fix(launcher): regression - favourites in wrong order
Fixes #997
2025-05-20 15:42:07 +01:00
8575300044
refactor(module): remove redundant into_popup parameters 2025-05-19 15:57:44 +01:00
09ba3816d6
refactor: couple of tiny changes 2025-05-19 15:33:08 +01:00
7b220cb2ae
fix: issues with bar appearing on wrong monitor
Due to a GTK bug, the bar relied on GDK and the compositor reporting monitors in the same order. This broke down when monitors were connected, or occasionally on reload.

This reverts the workaround put in place for the bug, since it has since been patched upstream
2025-05-19 15:29:26 +01:00
Brandon
b13c725f67
feat(custom): add halign and valign options to box widget (#988) 2025-05-19 09:20:59 +01:00
postsolar
aa2d82469f Send a dummy event on init so that the widget starts hidden 2025-05-18 23:09:26 +03:00
postsolar
f6598f46d5 Hide bindmode label if it's empty 2025-05-18 22:53:27 +03:00
375ceb81ce
fix(workspaces): reload broken on niri
Fixes #930
Fixes #981
2025-05-18 19:54:42 +01:00
f929aef2d9
refactor: replace channel macros with ext trait methods 2025-05-18 15:22:58 +01:00
999d173eff
build: fix issues with compositor feature flags 2025-05-18 14:29:40 +01:00
c6f3af4142
refactor: improvements to feature flags 2025-05-16 22:33:54 +01:00
1b6aa10423
refactor: update hyprland-rs, remove expects from hyprland client code
Fixes #960
2025-05-16 22:29:25 +01:00
e240ab7acb
fix(cairo): huge memory leak
Fixes increasing the reference count of the `Context` without ever decreasing it.

Fixes #972
2025-05-14 22:29:43 +01:00
postsolar
040e7e64ee
fix(mpris): use set_position instead of seek (#978) 2025-05-12 16:06:29 +01:00
postsolar
4d92af7ced
fix(music): hours not being displayed in track duration (#968) 2025-05-12 09:16:06 +01:00
Rodrigodd
638f2a20d2 refactor: avoid explicity cast with long type
Aparently Rust doesn't implicitly cast a `Result<Arc<T>>` to
`Result<Arc<dyn T>>`, so the `Result` was being mapped with a explicity
cast.

But unwrapping the `Result` with a `?` and then wrapping it back into
`Ok` make the implicit cast work. This avoid typing the entire type,
which was breaking the code in multiple lines.
2025-04-21 19:13:59 -03:00
Rodrigodd
5a5b110c7a feat: rename sway_mode to bindmode and add Hyprland support
Signed-off-by: Rodrigodd <rodrigobatsmoraes@hotmail.com>
2025-04-21 19:13:59 -03:00
963a450ff5
fix(wayland): panicking on compositors without protocol support
This allows Ironbar to run on a wider range of compositors, where support for the `wlr_foreign_toplevel` protocol used by focused/launcher, and the `wlr_data_control_device` protocol used by clipboard is missing
2025-04-21 20:11:47 +01:00
Rodrigo Batista de Moraes
cff6b1fc83
build: fix compilation for many feature combinations (#932)
* Fix compilation for many feature combinations

* fix: keep Mpris as the default music player type

* fix: update futures-lite comment

* fix: remove redundant "clap" feature dependency from "cli"

* fix: don't make IPC a dependency of sysinfo module

* refactor: move serde_json feature to "shared" section

* refactor: avoid cfgs inside listen_workspace_events

by splitting list_keyboards_events out of it, which manages its own
connection to the Hyprland IPC socket.

* refactor: sort multiline cfg any's

* Revert "refactor: avoid cfgs inside listen_workspace_events"

This reverts commit 1b4202ed80c9483c609ada8c4436e0fec26a9eef.

* refactor: split listen_workspace_events in more functions

* style: fix broken identation

Not sure why rustfmt didn't catch this.
2025-04-16 22:43:14 +01:00
fc249497aa
refactor: update mlua crate 2025-04-04 20:34:33 +01:00
ff9ba7b5f5
fix(clipboard): failing to paste in some applications
Fixed by ensuring the internal mime type is always last
2025-04-04 19:32:32 +01:00
5bb1c88c12
refactor(clipboard): switch from nix to rustix 2025-04-01 22:21:02 +01:00
a0231559d0
refactor(keys): switch to colpetto
Switches from the `input` crate to new async `colpetto`
2025-04-01 22:20:46 +01:00
bfb9f04afd
build: fix even more coupling issues with keyboard/workspace/sway
damn it
2025-03-28 20:51:26 +00:00
557ef4c898
build: fix more coupling issues with keyboard/workspace/sway 2025-03-28 20:47:26 +00:00
15177d707e
build: add feature flags for custom, label, script modules 2025-03-24 22:11:24 +00:00
MapoMagpie
3320cf27b2
fix(workspaces): niri workspaces not respecting added sort (#911)
* refactor: sort niri workspaces before init

* chore: comment for ordered_niri_workspace changing
2025-03-24 14:16:23 +00:00
a4eb149816
build: decouple workspace and keyboard modules
Fixes #862
2025-03-24 12:22:02 +00:00
e8da00b850
fix(custom): buttons lock up on long running commands
Fixes #899
2025-03-24 12:01:59 +00:00
76ca6115a3
chore: add trace logging to volume module 2025-03-24 11:51:26 +00:00
c20feb77b7
feat: fully implement orientation/justify options
Adds `orientation` and `justify` options to all modules and custom
widgets where it makes sense to do so.

Any modules without support document this. Widgets fully document the
options inline where present for now.

Resolves #296
2025-03-22 19:24:41 +00:00
202c19efd4
refactor: update to rust 2024, fix strict clippy warnings 2025-03-03 21:28:29 +00:00
b83f26cb1a
feat(sysinfo): expose values as ironvars 2025-02-23 16:51:30 +00:00
ba5ec8015d
feat(label): add truncate to module and custom widget 2025-02-22 12:59:00 +00:00
183ca402d4
feat(launcher): pagination controls when item count is reached
Resolves #633
2025-02-22 12:59:00 +00:00
Anant Sharma
02a8ddabf0
feat(workspaces): niri support
Co-authored-by: Jake Stanger <mail@jstanger.dev>
2025-02-21 16:12:05 +00:00
quietvoid
551e1ce691
fix(keyboard): panic when layout update channel lags behind (#869)
Fixes #866
2025-02-16 23:01:21 +00:00
f39c4c430e
refactor: fix clippy warnings 2025-02-15 23:18:57 +00:00