Commit Graph

36 Commits

Author SHA1 Message Date
Jake Stanger
dfe1964abf feat(custom): slider widget
Resolves partially #68.
2023-04-10 00:17:09 +01:00
Jake Stanger
4b4f1ffc21 Merge pull request #103 from JakeStanger/feat/popup-gap-config
feat: ability to configure popup gap
2023-04-07 15:02:58 +01:00
Jake Stanger
cac064f479 feat: ability to configure popup gap 2023-04-07 14:53:18 +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
102d2478a9 feat: module hover options
Resolves #70.
2023-04-01 13:29:40 +01: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
toino
d253c4bd7f feat: add configurable margins around bar 2023-02-08 18:47:21 +00:00
Jake Stanger
fbee6e8bd4 style: run fmt 2023-02-08 17:30:09 +00:00
Jake Stanger
2ac507144b fix: not setting layer shell namespace 2023-02-02 20:36:31 +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
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
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
fa67d077b1 feat: mouse event config options
Adds `on_click_middle`, `on_click_right`, `on_scroll_up`, `on_scroll_down`.

BREAKING CHANGE: `on_click` is now called `on_click_left` for consistency with new options.

Resolves #44.
2022-12-15 21:37:08 +00:00
Jake Stanger
5e21cbcca6 refactor: macros to reduce repeated code 2022-12-11 22:45:52 +00:00
Jake Stanger
9d5049dde0 refactor: standardise error messages 2022-12-11 21:31:45 +00:00
Jake Stanger
2c1b2924d4 refactor: move most of the horrible add_module macro content into proper functions 2022-12-04 23:23:22 +00:00
Jake Stanger
862c46c7ec style: run rustfmt
d'oh
2022-11-30 22:49:49 +00:00
Jake Stanger
64f54040ef refactor: move dynamic_label.rs to dynamic_string.rs and fix failing test 2022-11-30 22:40:53 +00:00
Jake Stanger
d20972cb32 feat: dynamic tooltips
Resolves #36
2022-11-30 22:27:56 +00:00
Jake Stanger
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
Jake Stanger
3750124d8c feat: new custom module
Allows basic modules to be created from a config object, including popup content.
2022-10-23 17:01:35 +01:00
Jake Stanger
75339f07ed fix: vertical bars ignoring height config option 2022-10-15 16:35:31 +01:00
Jake Stanger
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
Jake Stanger
5523e9af46 fix(popup): often opening in wrong place
Fixes #16.
2022-10-14 23:48:28 +01:00
Jake Stanger
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
Jake Stanger
78e30b39fe docs: add some rustdoc comments throughout 2022-08-28 16:57:41 +01:00
Jake Stanger
1e38719996 feat: introduce logging in some areas 2022-08-25 21:53:57 +01:00
Jake Stanger
ab8f7ecfc8 feat: logging support and proper error handling 2022-08-21 23:36:51 +01:00
Jake Stanger
8576ac5c44 fix: popup placement issues 2022-08-15 21:11:00 +01:00
Jake Stanger
de80b99e64 refactor: use macro for module config matching 2022-08-14 23:32:20 +01:00
Jake Stanger
2e0f033bed feat: config option for bar height 2022-08-14 20:41:38 +01:00
Jake Stanger
dc14cb003f feat: new focused window module 2022-08-14 20:40:11 +01:00
Jake Stanger
53adaa846c feat(workspaces): support for toggling showing workspaces for all monitors 2022-08-14 16:23:41 +01:00
Jake Stanger
a358037d3e feat: add support for showing bar at top of screen 2022-08-14 15:56:21 +01:00
Jake Stanger
e37d8f2b14 chore: initial commit 2022-08-14 14:30:13 +01:00