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

35 commits

Author SHA1 Message Date
BowDown097
7f71a383c4
feat(launcher): open new window on middle-click 2024-12-15 07:00:42 -08:00
pachliopta
64b953ce5e
feat(launcher): add option to minimize window if focused 2024-11-24 21:46:45 +00:00
da13b9d500
feat(launcher): truncate and truncate_popup config options 2024-11-24 21:35:38 +00:00
cc6f21ed68
refactor: take reference into image provider 2024-11-24 21:30:54 +00:00
04a694e2ad refactor: fix latest clippy warnings 2024-05-11 20:56:18 +01:00
slowsage
f2638497fa
fix(launcher): not resolving icon for some apps
When using spotify in wayland with hyprland, the spotify icon is not
pulled up correctly by the launcher module.
The class/app_id is "" while the name/title is "Spotify Premium". This
uses item.name as a fallback which ensure spotify icon shows up
correctly under wayland.

Refs: #228, #146
2024-02-27 20:11:14 +00:00
a55ba8c523
refactor: rename get_orientation method to orientation 2024-02-18 14:57:29 +00:00
f3687c5f9e
refactor: replace deprecated indexmap method 2024-02-02 20:05: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
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
8ec0237bc5
amend 54f0f232 2023-08-13 20:38:49 +01:00
54f0f232f2
fix(launcher): popup not closing when hover leaves widget
Fixes #224
2023-08-13 15:07:31 +01:00
2367faab04
fix(image): using fallback in places it shouldn't 2023-07-26 21:49:45 +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
87ca399220 fix: poor error handling for missing images
Previously images that could not be located were handled by throwing a
full report error, which incorrectly stated it was an invalid image
*type*.

This changes the image handling to instead log a single-line warning
directly in the image provider code, reducing the error handling
required by each consumer.

Resolves #146.
2023-05-20 14:38:39 +01:00
7f46cb4976
refactor(wayland): update to 0.30.0
This is pretty much a rewrite of the Wayland client code for `wayland-client` and `wayland-protocols` v0.30.0, and `smithay-client-toolkit` v0.17.0
2023-05-04 20:07:42 +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
dfe1964abf
feat(custom): slider widget
Resolves partially #68.
2023-04-10 00:17:09 +01:00
b054c17d14
feat(workspaces): support for using images in name_map 2023-01-30 11:51:01 +00:00
15f0857859
refactor: replace icon loading with improved general image loading 2023-01-29 17:46:02 +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
4662f60ac5
refactor: move various clients to own folder 2022-11-06 23:38:51 +00:00
3a83bd31ab
fix: able to insert duplicate keys into collection
This replaces the custom `Collection` implementation with `IndexMap` from the crate of the same name.

Fixes #28.
2022-11-05 17:32:01 +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
5ce50b0987
refactor: tidy and format 2022-10-10 21:59:44 +01:00
b1c66b9117
feat: wlroots-agnostic support for launcher module 2022-10-10 20:15:24 +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
a35d25520c
fix(launcher): item state changes not handled correctly
This completely rewrites the item open state handling code (again) in a more logical way that should prevent incorrect states, and removes some locking issues.
2022-09-06 21:46:02 +01:00
b81927e3a5
fix(launcher): opening new instances when focused/urgent 2022-08-25 22:08:08 +01:00
ab8f7ecfc8
feat: logging support and proper error handling 2022-08-21 23:36:51 +01:00
8576ac5c44
fix: popup placement issues 2022-08-15 21:11:00 +01:00
dc14cb003f
feat: new focused window module 2022-08-14 20:40:11 +01:00
e37d8f2b14
chore: initial commit 2022-08-14 14:30:13 +01:00