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

42 commits

Author SHA1 Message Date
Leshuguita
e08027fe69
fix(workspaces): prevent crash when clicking current workspace (#733)
* fix(workspaces): prevent crash on hyprland error

* fix(workspaces): typo in warning message

* refactor: fix format

---------

Co-authored-by: Leshu <leshuguita.saiyan@gmail.com>
2024-09-24 21:42:13 +01:00
82a6660c85
fix(workspaces): incorrectly checking focus using name_map value
Fixes #639
2024-08-11 16:43:41 +01:00
36d724f148
feat(config): json schema support
This PR includes the necessary code changes, CI changes and documentation to generate and deploy a full JSON schema for each release and the master branch, which can be used within config files for autocomplete and type checking.
2024-05-31 22:01:50 +01:00
c7743b28c6
docs: add rustdoc comments to all module options
This part of an upcoming effort to generate documentation from code.

Pushing this out before that stage so that the JSON schema is fully documented.
2024-05-23 21:46:33 +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
994f4a4a12
feat: ability to add custom modules instead native modules
Resolves #131
2024-04-01 15:01:37 +01:00
cf44c461db
fix(workspaces): favourites not persisting for initially open workspaces
Fixes #464.
2024-03-10 13:41:52 +00:00
a55ba8c523
refactor: rename get_orientation method to orientation 2024-02-18 14:57:29 +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
57b57ed002
refactor: pass context into modules controllers
This paves the way to keep things tidier for the next refactors.
2024-01-07 23:42:34 +00:00
967801dc32
refactor(workspaces): avoid sending unknown update info 2023-12-31 00:50:41 +00:00
c356b22401
fix(workspaces): favourites missing inactive class on startup
Fixes #390
2023-12-30 23:30:03 +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
Alice Janik
25c490b8b4
feat(workspaces): visible CSS selector 2023-08-25 20:50:51 -05:00
yavko
9f65cf293d
feat(workspaces): add favorites and hidden options 2023-08-15 20:09:32 +01:00
b7ee794bfc
feat(ipc): commands for opening/closing popups
Also includes some refactoring around related GTK helper code
2023-07-16 19:15:55 +01:00
2da28b9bf5
feat: ability to configure image icon sizes
Adds `icon_size` option to following widgets:

- `clipboard`
- `launcher`
- `music`
- `workspaces`

Also adds `cover_image_size` option to `music`.
2023-04-22 22:22:49 +01:00
058c8f4228
fix(hyprland): issues with tracking workspaces 2023-01-30 22:24:00 +00:00
b054c17d14
feat(workspaces): support for using images in name_map 2023-01-30 11:51:01 +00:00
9ba28fe7fa
feat(workspaces): better ordering
Includes option to revert to previous (lack of) ordering method if preferred.
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
5e21cbcca6
refactor: macros to reduce repeated code 2022-12-11 22:45:52 +00:00
9d5049dde0
refactor: standardise error messages 2022-12-11 21:31:45 +00:00
2c1b2924d4
refactor: move most of the horrible add_module macro content into proper functions 2022-12-04 23:23:22 +00:00
c9e66d4664
feat: common module options (show_if, on_click, tooltip)
The first three of many options that are common to all modules.

Resolves #36. Resolves partially #34.
2022-11-28 22:09:18 +00:00
4662f60ac5
refactor: move various clients to own folder 2022-11-06 23:38:51 +00:00
06cfad62e2
feat: more positioning options (#23)
* feat: more positioning options

Can now display the bar on the left/right, and avoid anchoring to edges to centre the bar.

BREAKING CHANGE: The `left` and `right` config options have been renamed to `start` and `end`
2022-10-15 16:27:25 +01:00
1b853bcb71
refactor: fix clippy warning 2022-10-15 16:19:21 +01:00
006c242f49
style: run fmt 2022-10-15 00:09:38 +01:00
2cd59ef5ff
build: fix compilation errors caused by package update 2022-10-15 00:07:10 +01:00
720ba7bfb0
Major module refactor (#19)
* refactor: major module restructuring

Modules now implement a "controller", which allows for separation of logic from UI code and enforces a tighter structure around how modules should be written. The introduction of this change required major refactoring or even rewriting of all modules.

This also better integrates the popup into modules, making it easier for data to be passed around without fetching the same thing twice

The refactor also improves some client code, switching from `ksway` to the much more stable `swayipc-async`. Partial multi-monitor for the tray module has been added.

BREAKING CHANGE: The `mpd` module config has changed, moving the icons to their own object.
2022-09-25 22:49:00 +01:00
78e30b39fe docs: add some rustdoc comments throughout 2022-08-28 16:57:41 +01:00
1e38719996
feat: introduce logging in some areas 2022-08-25 21:53:57 +01:00
6dcae66570
fix: avoid creating loads of sway/mpd clients 2022-08-25 21:53:42 +01:00
023c2fb118
fix(workspaces): not listening to move event 2022-08-24 21:27:19 +01:00
ab8f7ecfc8
feat: logging support and proper error handling 2022-08-21 23:36:51 +01:00
7625635050
refactor: fix a couple of clippy warnings 2022-08-15 21:11:17 +01:00
dc14cb003f
feat: new focused window module 2022-08-14 20:40:11 +01:00
53adaa846c
feat(workspaces): support for toggling showing workspaces for all monitors 2022-08-14 16:23:41 +01:00
e37d8f2b14
chore: initial commit 2022-08-14 14:30:13 +01:00