Jake Stanger
fea1f18524
refactor: fix new clippy warnings, fmt
2023-08-25 22:55:12 +01:00
Jake Stanger
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
Jake Stanger
738b9e3da7
feat(config): use default fallback with config instructions
...
When no config file is found, the bar will now automatically instead load a hard-coded default consisting of the `focused` and `clock` modules, and a `label` informing you the bar is not configured. Instructions are also printed to the log.
2023-07-04 17:38:39 +01:00
Jake Stanger
7d3bb02b46
feat(ipc): reload config command
2023-07-01 00:05:12 +01:00
Jake Stanger
6db7742e06
fix: crash on startup introduced by recent refactors
2023-06-29 18:02:51 +01:00
Jake Stanger
9a68dc99bd
build: fix error
2023-06-29 17:37:10 +01:00
Jake Stanger
cc181a8b6d
refactor: fix new clippy warnings
2023-06-29 16:57:47 +01:00
Jake Stanger
ded50cca6f
feat: support for 'ironvar' dynamic variables
2023-06-29 16:26:54 +01:00
Jake Stanger
f5bdc5a027
feat: ipc server and cli
2023-06-29 16:19:19 +01:00
Jake Stanger
a5ecb363fd
fix: popups occasionally getting jumbled with multiple bars
2023-05-29 14:01:42 +01:00
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
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
14b6c1a69f
fix: bars duplicate when starting second instance
...
This ensures that starting `ironbar` while an instance already running causes the 2nd instance to cleanly exit, and avoids launching the init code a second time.
2023-04-30 19:43:58 +01:00
Jake Stanger
e63509a3a7
refactor: fix a few new clippy warnings
2023-04-22 13:45:44 +01:00
Jake Stanger
07df51c249
docs: include readme in rust docs
2023-04-21 23:50:49 +01:00
Jake Stanger
ecdd71a43d
refactor(config): use universal-config crate.
...
XML config is not supported.
2023-03-19 16:22:40 +00:00
Jake Stanger
15f0857859
refactor: replace icon loading with improved general image loading
2023-01-29 17:46:02 +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
fd2d7e5c7a
refactor: move startup logging code to logging module
2022-12-11 21:31:23 +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
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
4662f60ac5
refactor: move various clients to own folder
2022-11-06 23:38:51 +00:00
Jake Stanger
bc625b929b
refactor: clippy & fmt
2022-11-05 17:32:42 +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
b7792a415e
feat: env var to set custom css location
...
Set `IRONBAR_CSS` to load CSS from that path instead of regular path.
2022-11-01 13:25:46 +00: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
cbd0c49e25
fix: css watcher not working
2022-10-16 22:21:51 +01:00
Jake Stanger
27f6abad67
chore: format and fix clippy warnings
2022-10-16 13:54:48 +01:00
Jake Stanger
70e1b526a9
fix(logging): file log not capturing panics
2022-10-16 13:42:35 +01:00
Jake Stanger
3c43c20c6a
fix: weird behaviour when config does not exist
2022-10-16 12:58:11 +01:00
Jake Stanger
b66bd788b2
fix: logging for creating bar incorrect still
2022-10-16 12:57:37 +01:00
Jake Stanger
bd5bdf5af5
fix: logging for creating bar incorrect
2022-10-15 15:36:23 +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
b188bc7146
feat: initial support for running outside sway
...
Progress is being tracked in #18 . Currently the workspaces, focused and launcher modules are not supported.
2022-09-27 20:24:16 +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
6dcae66570
fix: avoid creating loads of sway/mpd clients
2022-08-25 21:53:42 +01:00
Jake Stanger
f2ee2dfe7a
fix: error when using with swaybar_command
2022-08-22 23:08:41 +01:00
Jake Stanger
ab8f7ecfc8
feat: logging support and proper error handling
2022-08-21 23:36:51 +01:00
Jake Stanger
7625635050
refactor: fix a couple of clippy warnings
2022-08-15 21:11:17 +01:00
Jake Stanger
2d755d37e5
feat: support for multiple bars per monitor, loading config from env var
...
Restructures `monitor` config key into object of monitor names -> configs.
2022-08-15 17:06:42 +01:00
Jake Stanger
dc14cb003f
feat: new focused window module
2022-08-14 20:40:11 +01:00