1
0
Fork 0
mirror of https://github.com/Zedfrigg/ironbar.git synced 2025-09-18 20:56:57 +02:00
Commit graph

165 commits

Author SHA1 Message Date
af49acb40b
fix(networkmanager): remove icons for removed devices 2025-09-04 14:25:20 +02:00
d752e88abf
refactor(networkmanager): make dbus connection a ClientInner field
Should be more efficient as the connection will now only be created once.
2025-09-04 13:25:48 +02:00
f83c9e6852
refactor(networkmanager): merge devices and watchers fields in ClientInner 2025-09-04 11:17:42 +02:00
01de9da7e0
refactor(networkmanager): store property watcher join handles & stop them when no longer needed
Also optimise dbus connection and proxy creation.
2025-09-03 18:11:56 +02:00
13c2520c76
refactor(networkmanager): use inner client with static lifetime, make its functions methods 2025-09-03 12:41:20 +02:00
5385c7e705
refactor(networkmanager): Replace Mutex with RwLock for shared state in run(), add debug logging 2025-09-03 11:29:40 +02:00
3ffb668e6b
refactor(networkmanager): pass device proxy directly to device state watcher
Also clarify what receiver we're dealing with in handle_update_events.
2025-09-02 23:23:44 +02:00
4c516a1c2a
refactor(networkmanager): rename DeviceStateChanged event to DeviceChanged
Also add a little TODO about icon order.
2025-09-02 22:44:14 +02:00
ec00b2ce69
refactor(networkmanager): break Client::run up into multiple functions
Also replace its shared state lifetime and synchonisation mechanisms with Arc<Mutex<_>>.
2025-09-02 22:26:30 +02:00
226b32ce6a
fix(networkmanager): support late module initialisation
For example when a second monitor is connected while Ironbar is already running.
2025-09-02 20:42:26 +02:00
4594271c42
refactor(networkmanager): remove now unused state.rs 2025-08-20 20:02:47 +02:00
dfad982204
refactor(networkmanager): implement clippy::pedantic suggestions 2025-08-20 19:08:42 +02:00
e6f610687c
refactor(networkmanager): remove unnecessary async & unused fields 2025-08-17 21:15:10 +02:00
8bb95e2e3f
fix(networkmanager): prevent race condition, support all device types 2025-08-17 20:57:40 +02:00
1836ab2943
refactor(networkmanager): replace state-based w/ event-based approach 2025-08-16 15:31:06 +02:00
9ca5f4baa4
WIP failed attempt at StreamMap-based implementation 2025-08-14 18:14:31 +02:00
26686739a0
WIP update of networkmanager & volume modules 2025-08-10 16:37:55 +02:00
c42024d48a
Merge branch 'master' into develop
# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	src/clients/networkmanager.rs
#	src/modules/networkmanager.rs
#	src/modules/volume.rs
2025-07-14 14:44:53 +02:00
ca524f19f6
refactor: fix some strict clippy warnings 2025-05-25 12:14:24 +01:00
09ba3816d6
refactor: couple of tiny changes 2025-05-19 15:33:08 +01: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
postsolar
040e7e64ee
fix(mpris): use set_position instead of seek (#978) 2025-05-12 16:06:29 +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
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
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
76ca6115a3
chore: add trace logging to volume module 2025-03-24 11:51:26 +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
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
01de0ac6f5
feat(sysinfo): overhaul to add aggregate/unit/formatting support
This completely reworks the sysinfo module to add support for aggregate functions, better support for working with individual devices, the ability to specify units, and some string formatting support.

Several new tokens have also been added, and performance should be marginally improved.

BREAKING CHANGE: Use of the `sys_info` module in your config will need to be updated to use the new token format. See the wiki page for more info.
2025-02-15 22:58:17 +00:00
63f5954837
refactor: upgrade to zbus v5
Also drops the deprecated `upower-dbus` crate
2025-02-08 01:56:01 +00:00
Merlijn
75375aa341
fix(clipboard): possible deadlock when copying (#863)
* Change clipboard calloop event loop with blocking read to tokio async readers.

Co-authored-by: Ridan Vandenbergh <ridanvandenbergh@gmail.com>

* cargo fmt

---------

Co-authored-by: Ridan Vandenbergh <ridanvandenbergh@gmail.com>
2025-02-06 16:29:33 +00:00
kuzy000
03e6f10141
feat(keyboard): ability to display and switch kb layout (#836)
This extends the existing `keys` module to be able to show the current keyboard layout, and cycle between layouts (using the `next` command) by clicking. The `keys` module has been renamed to `keyboard` to more accurately reflect its extended featureset.
2025-02-03 21:19:30 +00:00
e0bae2c0af
fix(keys): high cpu usage
Fixes #834
2025-01-06 22:13:57 +00:00
5136637752
refactor: fix some strict clippy warnings 2024-12-29 00:40:12 +00:00
fa6f27d4b9
fix(workspaces): rewrite module to fix several small issues
Rewrites the module code to be better structured, in a similar pattern to the launcher. The code is now more robust and more maintainable, yay!

Fixes #705

Fixes an issue with moving favourite workspaces.

Fixes an issue with workspace visible state being incorrect.

Fixes an issue where the `inactive` class looked at hidden instead of closed favourites.
2024-12-28 13:38:03 +00:00