Commit Graph
117 Commits
Author SHA1 Message Date
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
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 00f973c3a4 style: run rustfmt 2022-11-28 22:30:32 +00:00
Jake Stanger 5d153a02fc feat(custom): ability to embed scripts in labels for dynamic content
Fully resolves #34.
2022-11-28 22:30:31 +00:00
Jake Stanger e274ba39cd refactor(custom): rename exec to on_click for consistency
BREAKING CHANGE: This changes the option on buttons in the `custom` module. Any uses of the module must be updated to use the new custom widget attribute name.
2022-11-28 22:26:14 +00:00
Jake Stanger 8c75bc46ac refactor(script): rename path to cmd for consistency
BREAKING CHANGE: This changes the option in the `script` module. Any uses of the module must be updated to use the new option name.
2022-11-28 22:25:14 +00:00
Jake Stanger df77020c52 refactor(sys_info): use snake_case for module tokens for consistency
BREAKING CHANGE: This renames the module from `sys-info` to `sys_info`, and almost every formatting token from `kebab-case` to `snake_case`. Any use of this module will need to be updated.
2022-11-28 22:23:33 +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 47420d83bf Merge pull request #35 from JakeStanger/feat/script-watch
feat(script): new watch mode
2022-11-07 21:26:38 +00:00
Jake Stanger 4662f60ac5 refactor: move various clients to own folder 2022-11-06 23:38:51 +00:00
Jake Stanger b4db0226cd Merge branch 'master' into feat/script-watch 2022-11-06 22:55:16 +00:00
Jake Stanger ff17ec1996 refactor: various changes based on rust 1.65 clippy 2022-11-06 22:53:48 +00:00
Jake Stanger 73158c2fce feat(script): new watch mode
Resolves #30
2022-11-06 17:40:01 +00:00
Jake Stanger bc625b929b refactor: clippy & fmt 2022-11-05 17:32:42 +00:00
Jake Stanger ad77dc4e4c feat: improved logging & error handling 2022-11-05 17:32:29 +00:00
Jake Stanger 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
Jake Stanger 9f82ba58cd chore: cleanup println 2022-10-23 17:18:49 +01:00
Jake Stanger a93700e8fd Merge pull request #27 from JakeStanger/feat/custom-widget
feat: new custom module
2022-10-23 17:11:17 +01: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 e693c1c166 fix(mpd): volume slider causing mpd server errors 2022-10-16 22:23:40 +01:00
Jake Stanger be0f4c6366 chore: run fmt 2022-10-16 16:44:32 +01:00
Jake Stanger 493df6bb49 feat(mpd): add volume slider to popup 2022-10-16 16:00:18 +01:00
Jake Stanger b4ac1c9850 Merge pull request #26 from JakeStanger/feat/sysinfo-tokens
Add loads more tokens & interval options to `sysinfo`, optimise info refreshing
2022-10-16 14:04:11 +01:00
Jake Stanger f17ae7a415 fix(script): not parsing pango markup 2022-10-16 12:56:39 +01:00
Jake Stanger e4e72d8008 style(sys-info): fix clippy warnings & run fmt 2022-10-16 01:03:20 +01:00
Jake Stanger 9e6dbbd131 fix(sys-info): tokens not replaced if more than one in string 2022-10-16 01:00:43 +01:00
Jake Stanger 91c57edc73 feat(sys-info): pango markup support 2022-10-16 01:00:14 +01:00
Jake Stanger dec402edd9 feat(sys-info): config options for refresh intervals 2022-10-16 00:59:28 +01:00
Jake Stanger fad90fdad6 feat(sys-info): add loads more formatting tokens 2022-10-16 00:58:47 +01:00
Jake Stanger b7b64886e3 fix: sometimes panicking on startup 2022-10-15 18:01:09 +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 1b853bcb71 refactor: fix clippy warning 2022-10-15 16:19:21 +01:00
Jake Stanger 8536ad719a fix(mpd): incorrectly checking for unix sockets 2022-10-15 00:17:40 +01:00
Jake Stanger 006c242f49 style: run fmt 2022-10-15 00:09:38 +01:00
Jake Stanger 2cd59ef5ff build: fix compilation errors caused by package update 2022-10-15 00:07:10 +01:00
Jake Stanger 1dd0a9e52f feat(launcher): add popup css selectors 2022-10-14 23:49:11 +01:00
Jake Stanger 5523e9af46 fix(popup): often opening in wrong place
Fixes #16.
2022-10-14 23:48:28 +01:00
Jake Stanger 5ce50b0987 refactor: tidy and format 2022-10-10 21:59:44 +01:00
Jake Stanger b1c66b9117 feat: wlroots-agnostic support for launcher module 2022-10-10 20:15:24 +01:00
Jake Stanger 324f00cdf9 feat: wlroots-agnostic support for focused module 2022-10-04 23:26:07 +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 ee67b3be28 build: update deps
new corn version allows unicode keys :)
2022-09-07 22:47:47 +01:00
Jake Stanger 64650fbf3a Merge pull request #14 from JakeStanger/fix/launcher-state
Fix launcher state issues
2022-09-06 21:56:21 +01:00