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

43 commits

Author SHA1 Message Date
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
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
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
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
202c19efd4
refactor: update to rust 2024, fix strict clippy warnings 2025-03-03 21:28:29 +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
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
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
8cdbe7e083
refactor(hyprland): improve logging 2024-12-28 12:58:29 +00:00
quietvoid
9f7c3918c4
feat(sway): support workspace rename events (#799)
And reorder based on label with fallback to widget name
2024-12-05 12:04:22 +00:00
Rodrigo Batista de Moraes
afe534ccd9 feat: add .urgent workspace css class 2024-09-25 22:44:12 -03:00
Rodrigo Batista de Moraes
e307e15dc4
feat: new sway-mode module (#671)
* feat: add sway-mode module

* refactor: Avoid making multiple connections to SwayIPC

Now `sway::Client` is store in `ironbar.clients`, and allow dynamically
registering event listeners, instead of hardcoding events for Workspace
updates.

Remove the use of `swayipc::Connection` from `sway-mode` module, and
replace it with the new event listener system.

#671
2024-08-05 13:22:01 +01:00
c45ea02a7d fix(workspaces): regression due to #572
Fixes #574
2024-05-09 17:25:08 +01:00
5e7f576841 fix(workspaces): add support for hyprland rename event
Renaming workspaces on Hyprland will now work as expected.

This also refactors the workspace code to depend on IDs rather than
names which should make it more robust against the same sort of issue
in future.

Fixes #469
2024-05-07 09:42:55 +01:00
Nadia
f7a39ddecc
build: update hyprland-rs to 0.4.0-alpha.1
(#565) 

this does have some breaking changes in it so it could have other
side effects.
2024-05-03 21:39:09 +01:00
26ffed7b40
build: remove some unused features/deps 2024-04-02 20:12:09 +01:00
9245188af7
refactor: better error handling for client initialization 2024-04-01 16:34:25 +01:00
aaef3bf96c
refactor: fix new strict clippy warnings 2024-02-01 22:39:43 +00:00
c702f6fffa
refactor: major client code changes
This does away with `lazy_static` singletons for all the clients, instead putting them all inside a `Clients` struct on the `Ironbar` struct.

Client code has been refactored in places to accommodate this, and module code has been updated to get the clients the new way.

The Wayland client has been re-written from the ground up to remove a lot of the needless complications, provide a nicer interface and reduce some duplicate data.

The MPD music client has been overhauled to use the `mpd_utils` crate, which simplifies the code within Ironbar and should offer more robustness and better recovery when connection is lost to the server.

The launcher module in particular has been affected by the refactor.
2024-01-09 23:33:07 +00:00
967801dc32
refactor(workspaces): avoid sending unknown update info 2023-12-31 00:50:41 +00:00
bea442ed96
refactor: update gtk/glib, remove glib channels
This is a major refactor which updates GTK, GLib and GTK Layer Shell to their latest versions.

GLib channels, previously used for receiving events on the GLib Main Context thread have been deprecated and a new method for running Futures on the main thread has been added instead. This commit also replaces all the deprecated code with this.

As part of the above, a bug was uncovered related to creating the GLib main context inside the Tokio runtime. Spawning of Tokio tasks has been refactored to fix this.
2023-12-18 22:09:21 +00:00
08e354e019
refactor: fix new clippy warnings 2023-10-19 21:12:19 +01:00
Alice Janik
25c490b8b4
feat(workspaces): visible CSS selector 2023-08-25 20:50:51 -05:00
9fe6d49195
build: update to latest hyprland-rs
Resolves #269
2023-08-11 21:15:45 +01:00
7016f7f79e
refactor: use new smart pointer macros throughout codebase 2023-06-29 23:16:31 +01:00
c347b6c944
feat: add feature flags
Flags allow you to disable certain functionality and compile with only select features to reduce build time.

Resolves #54.
2023-02-01 20:45:52 +00:00
058c8f4228
fix(hyprland): issues with tracking workspaces 2023-01-30 22:24:00 +00:00
db72bc09b4
chore(hyprland): add debug logging 2023-01-30 18:49:30 +00:00
012762e102
refactor: swap out some code for existing macros 2023-01-28 22:07:05 +00:00
ad97550583
build: update deps 2023-01-28 22:06:47 +00:00
eb30105fc2
style: fix 1.67 clippy warnings 2023-01-28 14:40:31 +00:00
0d7ab54160
refactor: remove redundant clone 2023-01-27 23:18:59 +00:00
6e5d0c1e8c
feat(workspaces): hyprland support
Resolves #18.

The bar will now automatically detect whether running under Sway or Hyprland and use the correct IPC client depending.
2023-01-27 23:18:59 +00:00