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

17 commits

Author SHA1 Message Date
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
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
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
9245188af7
refactor: better error handling for client initialization 2024-04-01 16:34:25 +01: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
Alice Janik
25c490b8b4
feat(workspaces): visible CSS selector 2023-08-25 20:50:51 -05: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
eb30105fc2
style: fix 1.67 clippy warnings 2023-01-28 14:40:31 +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