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

378 commits

Author SHA1 Message Date
8016ec256d
fix(tray): crash caused by excess updates
Some icons seem to absolutely spam updates in some circumstances. Increasing the channel size by 4x seems sufficient to prevent this.
2024-01-27 00:35:16 +00:00
63304a9ddd
fix(dynamic string): always sending partial string on initialization 2024-01-25 22:42:48 +00:00
af7e037dd5
test(dynamic string): test pango attributes with ironvars 2024-01-25 22:42:48 +00:00
4d9d78f4ca
fix(dynamic string): ironvar parser being too greedy 2024-01-25 22:31:07 +00:00
996ad7e27f
refactor(desktop file): simplify some none-type handling 2024-01-24 23:04:14 +00:00
976dd6c55a
fix(style): file watcher not working for relative paths
Fixes that changes were not hot-loaded when overriding the default style path with `IRONBAR_CSS` and providing a relative file path.
2024-01-24 22:40:10 +00:00
1c9c9bbece
fix(cli): error when launched via swaybar_command
Fixes #11 (again)
2024-01-20 23:42:43 +00:00
18b47844f9
refactor(wayland): simplify task spawning code 2024-01-14 15:42:29 +00:00
963f8edc45
fix(script): spawning outside of tokio runtime causing crash
Fixes #408.
2024-01-14 15:42:28 +00:00
e0dc5e104a
refactor(wayland): remove unused request type 2024-01-14 01:34:49 +00:00
thmasq
ddf91b18cc build: add focused and launcher feature flags 2024-01-13 22:08:31 -03:00
e737177ab0
Merge pull request #405 from JakeStanger/feat/dpms-support
feat: load bars on monitor when it connects
2024-01-13 17:27:53 +00:00
8371a92204
feat: load bars on monitor when it connects
Finally, Ironbar will respond to events of monitors being (dis)connected, and will create bars when a monitor connects.

This means at last - resolves #291

yaay
2024-01-13 17:20:09 +00:00
b004d5007c
fix(launcher): favourites not focused when opened
Fixes #225
2024-01-13 17:15:19 +00:00
6f531a5654
refactor: remove lazy_static and async_once 2024-01-09 23:33:07 +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
b4d75450ac
fix(regression): GTK refactor causing updates to be missed
Regression introduced by recent GTK refactor.

The `glib_recv` macros  previously using the passed in expression as the receiver, which was causing a new receiver to be created *every* time an event was received. This caused some peculiar behaviours where some events just never got through if sent too close to each other.

This was most obvious in the `workspaces` module.

Fixes #381
2023-12-31 15:56:41 +00:00
b2a37a32b0
refactor: fix clippy warning 2023-12-31 00:50:41 +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
80de5dd824
fix: some modules crashing due to recent gtk refactor
Fixes a crash introduced by commit bea442e where the `await_sync` function incorrectly tried to use the current tokio runtime, which it is often outside, instead of the singleton.

Fixes #382
2023-12-24 13:44:38 +00:00
e847a84c21
refactor: fix casting based clippy warnings 2023-12-18 22:09:21 +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
ed5a16237d
refactor: update wayland crates to latest versions 2023-12-11 22:01:50 +00:00
9a7ee6babc
Merge pull request #372 from JakeStanger/feat/auto-hide
feat: bar auto-hide options
2023-12-11 21:37:55 +00:00
659c93dd2a
feat: use top-level config as fallback when using monitor-based config
This allows you to configure a default bar to use, then override specific monitors.

Not setting anything at the top level will hide bars which are not explicitly configured.

This actually came about as a bug in the recent refactorings, but now it's a feature :)
2023-12-10 23:12:21 +00:00
ee04cd025a
feat: bar auto-hide options
Adds two new bar-level options:

- `start_hidden`, which stops a bar from showing when Ironbar starts. It can then be hidden via IPC or auto-hide.
- `autohide`, which takes a delay after which the bar will be hidden when the cursor leaves. Hovering at the screen edge where the bar is located reveals the bar again.

Resolves #167
2023-12-10 22:56:43 +00:00
56f423e408
Merge pull request #371 from JakeStanger/refactor/encapsulate
refactor: begin restructuring core code to better encapsulate
2023-12-09 21:37:08 +00:00
b2fa19ab6c
refactor: begin restructuring core code to better encapsulate
This is a first pass towards trying to structure things a bit better, with data generally encapsulated under a single hierarchical tree, rather than lots of globals all over the place. Lots of work is still required.

The plan is that with this and some more work, #291 should become a lot easier to sort.
2023-12-08 22:39:27 +00:00
Chris Maniewski
5f82b6e9e0
fix(tray): existing icons rendering as text 2023-12-02 22:26:15 +01:00
34ed6a9e11
fix(focused): not clearing when switching to empty workspace 2023-10-19 22:43:18 +01:00
08e354e019
refactor: fix new clippy warnings 2023-10-19 21:12:19 +01:00
f24b21d242
fix(focused): clear when no window is focused
Fixes #337
2023-10-19 20:34:18 +01:00
5582dcf373
refactor: fix new clippy warning 2023-10-17 20:22:19 +01:00
40998475e2
fix(styles): hot reload not working when edited with vim
Possibly resolves the same issue with other editors or scripts.

Fixes #304
2023-10-17 20:22:02 +01:00
4e67b73a83
refactor(wlr data control): update to new nix epoll bindings 2023-09-05 22:43:29 +01:00
60bb69feec
feat: add widget and widget-container css classes on all widgets 2023-09-05 22:37:58 +01:00
Alice Janik
25c490b8b4
feat(workspaces): visible CSS selector 2023-08-25 20:50:51 -05:00
fea1f18524
refactor: fix new clippy warnings, fmt 2023-08-25 22:55:12 +01:00
1b476eb9f9
chore(wayland): downgrade some logs from debug to trace 2023-08-16 20:27:24 +01:00
yavko
9f65cf293d
feat(workspaces): add favorites and hidden options 2023-08-15 20:09:32 +01:00
8ec0237bc5
amend 54f0f232 2023-08-13 20:38:49 +01:00
9e2ac0f43d
Merge pull request #272 from JakeStanger/build/stray
build: replace `stray` with `system-tray` fork
2023-08-13 15:25:30 +01:00
b6e4ed6608
build: replace stray with system-tray fork
Fully resolves #166
2023-08-13 15:11:29 +01:00
54f0f232f2
fix(launcher): popup not closing when hover leaves widget
Fixes #224
2023-08-13 15:07:31 +01:00
9fe6d49195
build: update to latest hyprland-rs
Resolves #269
2023-08-11 21:15:45 +01:00
901a86caa4
fix(custom): crash when clicking non-popup button 2023-08-01 21:29:00 +01:00
2902331af0
fix(dynamic string): incorrectly handling strings containing multipoint utf-8 chars 2023-07-30 23:30:24 +01:00
89ec06fc7b
fix(music): hide album art widget when no image 2023-07-26 22:03:27 +01:00