Commit Graph

114 Commits

Author SHA1 Message Date
Jake Stanger
dea66415c2 feat: module-level name and class options
BREAKING CHANGE: To allow for the `name` property, any widgets that were previously targeted by name should be targeted by class instead. This affects **all modules and all popups**, as well as several widgets inside modules. **This will break a lot of rules in your stylesheet**. To attempt to mitigate the damage, a migration script can be found [here](https://raw.githubusercontent.com/JakeStanger/ironbar/master/scripts/migrate-styles.sh) that should get you most of the way.

Resolves #75.
2023-05-06 13:22:35 +01:00
Jake Stanger
735f5cc9f1 fix(launcher): crash when focusing window
Fixes #41 🎉
2023-05-04 20:07:46 +01:00
Jake Stanger
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
Jake Stanger
2a155b9aa8 feat(music): add css selector for button contents 2023-05-02 23:08:13 +01:00
Paul Delafosse
98aaaa0d14 fix: fallback to default icon theme for notifier items 2023-05-01 14:10:43 +01:00
Jake Stanger
0e3102de8c Merge pull request #83 from p00f/upower-string
implement upower module
2023-04-30 00:26:34 +01:00
Chinmay Dalal
ad3c171eca feat: implement upower module 2023-04-30 00:15:04 +01:00
Jake Stanger
e5bc44168f Merge pull request #125 from JakeStanger/feat/custom-slider-label
feat(custom): option to toggle slider label
2023-04-23 17:35:40 +01:00
Jake Stanger
76e2b7ba3e feat(music): option to hide status icon on widget
Adds new `show_status_icon` option.

Resolves #97.
2023-04-23 13:00:37 +01:00
Jake Stanger
033d0f7e6e feat(custom): option to toggle slider label
Adds new `show_label` option.

Resolves #115 (for real this time).
2023-04-23 12:59:55 +01:00
Jake Stanger
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
Jake Stanger
1fa0c0e977 feat(custom): support mouse wheel on slider 2023-04-22 21:29:47 +01:00
Jake Stanger
83f44fd92f feat: wrap modules in a revealer to support animated show/hide
Resolves #72.
2023-04-22 14:49:15 +01:00
Jake Stanger
4a09b70854 feat(custom): support common options in widgets 2023-04-22 13:34:39 +01:00
Jake Stanger
9d09855fce Merge pull request #109 from JakeStanger/fix/tray-icons
fix(tray): icons sometimes not showing
2023-04-22 11:01:06 +01:00
Jake Stanger
6fd69d657c refactor: move module creation code to module module 2023-04-21 23:51:54 +01:00
Jake Stanger
b038e7671a fix(tray): icons sometimes not showing
Previously icons were only loaded from the theme based on the provided icon name. Sometimes no icon name was provided, and sometimes the name is just missing from the theme.

This falls back to using the provided pixbuf, and then falls back to just displaying the name as text if that is not available.
2023-04-21 23:02:53 +01:00
Jake Stanger
68bc8230dd fix(tray): icons sometimes not showing
Previously icons were only loaded from the theme based on the provided icon name. Sometimes no icon name was provided, and sometimes the name is just missing from the theme.

This falls back to using the provided pixbuf, and then falls back to just displaying the name as text if that is not available.
2023-04-21 22:31:09 +01:00
Jake Stanger
c214f65ecb refactor: fix strict clippy warnings 2023-04-10 20:04:59 +01:00
Jake Stanger
3d308ab572 feat(custom): support dynamic string in image source
Resolves #94.
2023-04-10 20:04:36 +01:00
Jake Stanger
3613aef5c5 refactor(custom): reduce a lot of repeated code 2023-04-10 13:51:07 +01:00
Jake Stanger
a9d1233909 feat(custom): support dynamic strings on buttons 2023-04-10 13:49:09 +01:00
Jake Stanger
72b14b6c4e feat(custom): progress bar widget.
Resolves partially #68.
2023-04-10 12:59:24 +01:00
Jake Stanger
dfe1964abf feat(custom): slider widget
Resolves partially #68.
2023-04-10 00:17:09 +01:00
Jake Stanger
2ab06f044e refactor(custom): split into enum with separate file per widget 2023-04-07 20:24:41 +01:00
Jake Stanger
6c622864b3 feat: new label module
Takes a text label, with the ability to include embedded scripts.

Resolves #80.
2023-04-07 14:29:07 +01:00
Jake Stanger
6221f7454a refactor: fix new clippy warnings 2023-03-19 16:22:40 +00:00
Jake Stanger
575d6cc30f feat: new clipboard manager module 2023-02-26 13:42:53 +00:00
Jake Stanger
d84139a914 refactor: general tidy up
fix clippy warnings from latest stable rust
2023-02-25 14:26:02 +00:00
Jake Stanger
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
Jake Stanger
058c8f4228 fix(hyprland): issues with tracking workspaces 2023-01-30 22:24:00 +00:00
Jake Stanger
96141d4990 feat(music): support for using images in name_map, additional icon options 2023-01-30 11:51:01 +00:00
Jake Stanger
b054c17d14 feat(workspaces): support for using images in name_map 2023-01-30 11:51:01 +00:00
Jake Stanger
3cf9be89fd feat: global icon theme setting
BREAKING CHANGE: This removes the `icon_theme` option from `launcher` and `focused`. You will need to set this at the top of your config instead.
2023-01-30 11:51:01 +00:00
Jake Stanger
393800aaa2 feat(custom): image widget 2023-01-30 11:51:01 +00:00
Jake Stanger
5772711192 fix(music): remote mpris album art not showing
Fixes #55.
2023-01-30 11:47:56 +00:00
Jake Stanger
15f0857859 refactor: replace icon loading with improved general image loading 2023-01-29 17:46:02 +00:00
Jake Stanger
07dbf78010 feat(focused): ability to truncate label text 2023-01-28 23:01:44 +00:00
Jake Stanger
97502559b3 refactor(music): split config code into separate file 2023-01-28 22:43:22 +00:00
Jake Stanger
8691824db1 feat(music): ability to truncate button text
Adds new `truncate.mode` and `truncate.length` options, and `truncate` shorthand for mode.

Resolves #56.
2023-01-28 22:07:05 +00:00
Jake Stanger
012762e102 refactor: swap out some code for existing macros 2023-01-28 22:07:05 +00:00
Jake Stanger
eb30105fc2 style: fix 1.67 clippy warnings 2023-01-28 14:40:31 +00:00
Jake Stanger
90cd078973 fix(mpd): stops working if connection lost
The client will now attempt to reconnect when a connection loss is detected.

Fixes #21.
2023-01-28 14:40:12 +00:00
Jake Stanger
1cdfebf8db Merge pull request #53 from JakeStanger/feat/hyprland-workspaces
feat(workspaces): hyprland support
2023-01-28 00:53:23 +00:00
Jake Stanger
0cefcbd02b fix(music): wrong widget name on vol slider 2023-01-28 00:51:24 +00:00
Jake Stanger
e1f523cf2a fix(music): popup artist label using wrong name 2023-01-28 00:27:22 +00:00
Jake Stanger
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
Jake Stanger
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
Jake Stanger
6d8e647f12 feat: mpris support
Resolves #25.

Completely refactors the MPD module to be the 'music' module. This now supports both MPD and MPRIS with the same UI for both.

BREAKING CHANGE: The `mpd` module has been renamed to `music`. You will need to update the `type` value in your config and add `player_type` to continue using MPD. You will also need to update your styles.
2023-01-25 23:09:49 +00:00
Jake Stanger
ea2c84d1bd refactor: general code tidy-up 2022-12-11 23:17:15 +00:00