Commit Graph

751 Commits

Author SHA1 Message Date
Mann mit Hut 729564cc27
Introduced separate load module
The module provides the three system load averages. This is an
improvement compared what you can do with the cpu module: cpu
only provides the one minute sample and the state of the cpu module is
derived from the cpu usage which messes up the formating of the load
average. Also, at least on modern Linux systems, the load of a system
takes much more than the cpu utilization into account and it should
therefore live in a separate module.
2023-09-13 21:56:30 +02:00
Alexis Rouillard fc67558717
Merge branch 'master' into darkmode 2023-09-11 09:25:45 +02:00
Austin Horstman 79cf33b9f1
refactor: enumparser create implementation file 2023-09-09 17:59:40 -05:00
Austin Horstman b8630968b2
refactor: move capitalize string helper 2023-09-09 13:23:17 -05:00
Austin Horstman 2fee12d930
fix: enumparser capitalize everything to avoid issues 2023-09-09 12:14:52 -05:00
Austin Horstman 3ae2fe3272
refactor: PR review cleanup 2023-09-09 12:08:30 -05:00
Austin Horstman 2b8c92e8fd
refactor: enum utility allow overriding 2023-09-09 11:18:12 -05:00
Austin Horstman 8ce64ea784
refactor: make parsing sort-by more lenient 2023-09-09 10:04:49 -05:00
Austin Horstman 8ea2626de8
refactor: sort-by enum hyprland 2023-09-09 10:04:48 -05:00
Austin Horstman cbc12e5443
feat: hyprland workspaces add sort-by 2023-09-08 22:49:15 -05:00
Austin Horstman 587bd0cd62
refactor: cleanup hyprland workspaces constructor 2023-09-08 22:24:05 -05:00
Calvin Lee 9bb2c01a44 clean up client.cpp 2023-09-07 13:43:59 +00:00
Calvin Lee 09873f0ed9 search for dark or light mode stylesheet
summary:
-------
This commit adds xdg-desktop-portal support to waybar. If a portal
supporting `org.freedesktop.portal.Settings` exists, then it will be
queried for the current colorscheme. This colorscheme will then be used
to prefer a `style-light.css` or `style-dark.css` over the basic
`style.css`.

technical details:
-----------------
Appearance is provided by several libraries, such as libhandy (mobile)
and libadwaita. However, waybar links to neither of these libraries. As
the amount of code required to communicate with xdg-desktop portal as a
client is rather minimal, I believe doing so is better than linking to
an additional library.

The Gio library for communicating with dbus is rather messy, Instead of
the `Portal` class containing a `Gio::Dbus::Proxy`, it extends it which
simplifies signal handling.

`Portal` then exposes its own signal, which can be listened to by waybar
to update CSS.

For a reference implementation, please see another one of my projects:
https://github.com/4e554c4c/darkman.nvim/blob/main/portal.go

test plan:
---------
If no desktop portal which provides `Settings` exists, then waybar
continues with the log line
```
[2023-09-06 14:14:37.754] [info] Unable to receive desktop appearance: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Settings” on object at path /org/freedesktop/portal/desktop
```

Furthermore, if `style-light.css` or `style-dark.css` do not exist, then
`style.css` will still be searched for.

Waybar has been tested with both light and dark startup. E.g. if the
appearance is dark on startup the log lines
```
[2023-09-06 14:27:45.379] [info] Discovered appearance 'dark'
[2023-09-06 14:27:45.379] [debug] Try expanding: $XDG_CONFIG_HOME/waybar/style-dark.css
[2023-09-06 14:27:45.379] [debug] Found config file: $XDG_CONFIG_HOME/waybar/style-dark.css
[2023-09-06 14:27:45.379] [info] Using CSS file /home/pounce/.config/waybar/style-dark.css
```
will be observed.
If the color then changes to light during the operation of waybar, it
will change css files:
```
[2023-09-06 14:28:17.173] [info] Received new appearance 'dark'
[2023-09-06 14:28:17.173] [debug] Try expanding: $XDG_CONFIG_HOME/waybar/style-light.css
[2023-09-06 14:28:17.173] [debug] Found config file: $XDG_CONFIG_HOME/waybar/style-light.css
[2023-09-06 14:28:17.173] [info] Using CSS file /home/pounce/.config/waybar/style-light.css
```

Finally, tested resetting waybar and toggling style (works, and style is
only changed once).

fixes: Alexays/Waybar#1973
2023-09-06 15:19:56 +00:00
zjeffer 04b39ea64e hyprland/workspaces: implement 'active_only' option and visible class 2023-09-05 18:22:54 +02:00
Maxim Baz 9c49f46b01
hyprland/workspaces: react on renameworkspace event 2023-09-05 17:13:25 +02:00
Alexis Rouillard 2d27e484c7
Merge pull request #2417 from Cherser-s/sni-click-coordinate-fix
sni: fix passing relative coordinates to dbus methods
2023-09-04 22:01:04 +02:00
Austin Horstman ce076927f3
chore: cpplint fixes hyprland headers 2023-09-02 23:56:04 -05:00
Alexis Rouillard 82b7e4ea01
Merge pull request #2414 from KosmX/add_release_v2
Release button event second attempt
2023-09-01 09:08:23 +02:00
Cherser-s 65dfabc430 sni: fix passing relative coordinates to dbus methods
Doesn't correctly handle the case with both margin and width/height being set at the same time.
2023-08-25 20:37:16 +03:00
Cherser-s 936937ec78 store margins and global window offset in the bar object 2023-08-25 20:37:14 +03:00
Austin Horstman ee4fbc58f7
hyprland add urgent ipc support 2023-08-23 12:52:29 -05:00
asas1asas200 54a6668846 feat(keyboard-state): add binding-keys options 2023-08-20 08:33:34 +08:00
KosmX 2ff347f9a8
Add handleRelease method to release events
This commit shouldn't change the handleToggle behaviour,
it shouldn't break anything.
2023-08-16 17:14:49 +02:00
KosmX 1d8331d0c5
Add release events to event map 2023-08-16 17:12:32 +02:00
PucklaJ 22817089db Add no-controller format to bluetooth module 2023-08-16 15:34:06 +02:00
Alex b5ea14c896 revert: release event 2023-08-16 13:31:24 +02:00
Jan Palus c8237437d2
Explicitly cast ustring to string when passing to fmt
don't rely on implicit conversion which is no longer present in fmt
10.1.0

Fixes #2403
2023-08-15 20:57:07 +02:00
Alex db1d859881 fix: lint 2023-08-14 14:20:08 +02:00
KosmX 46f5034030
Add button release events to eventMap 2023-08-13 18:20:43 +02:00
zjeffer 600653538b Persistent workspaces in hyprland/workspaces 2023-07-30 11:47:37 +02:00
Alexis Rouillard c087d8c318
Merge pull request #2316 from MightyPlaza/workspaces
hyprland/workspaces improvements
2023-07-24 13:40:23 +02:00
Viktar Lukashonak 4d9e0ea802
time conversion between time zones
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-07-24 01:21:33 +03:00
dmitry d3bcff31e5 add high-priority-named optiion 2023-07-20 22:56:15 +03:00
MightyPlaza d3e7a8c797
Merge branch 'Alexays:master' into workspaces 2023-07-17 22:38:13 +00:00
zjeffer 2721e19ee6 small improvements 2023-07-17 16:22:59 +02:00
Patrick Nicolas f62b3d0e9d Ensure signal is disconnected in destructor 2023-07-16 23:29:28 +02:00
MightyPlaza 6d24b22b21
moves createWorkspace to update() 2023-07-16 01:43:54 +00:00
MightyPlaza 4f81e55e41
workspaces.hpp 2023-07-16 01:20:30 +00:00
MightyPlaza 495b63d7dc
workspaces.hpp 2023-07-15 17:44:57 +00:00
gardenapple daca57129f
hyprland/window: rename .hidden to .swallowing (and fix grouped windows) 2023-07-12 19:01:45 +03:00
MisterPine a8a1a4985f
Add removed secondary identifier
(class for xwayland under sway)
2023-07-10 23:48:18 +02:00
MisterPine 31683d9e2a
Implemented AAppIconLabel for sway/window 2023-07-10 22:55:46 +02:00
MisterPine 00e143d47e
Introducce AAppIconLabel class
Implemented for hyprland
2023-07-10 22:50:58 +02:00
MisterPine a373f6b654
Icon working 2023-07-10 22:02:03 +02:00
MisterPine f97c1c7136
remove getWindowData 2023-07-08 23:22:29 +02:00
MisterPine c5f1771375
Use already existing `queryActiveWorkspace()` 2023-07-08 22:40:16 +02:00
MisterPine c4bace504c
Separate query and struct 2023-07-08 22:40:16 +02:00
Alexis Rouillard 3299d4a25c
Merge pull request #2270 from gardenappl/hypr-backend
hyprland/window: Add .hidden CSS class, account for hidden & fullscreen windows
2023-07-05 08:14:49 +02:00
zjeffer d21f29cb14 Fixed build warnings 2023-07-04 23:05:26 +02:00
Alexis Rouillard 0d1016d4d2
Merge pull request #2203 from rodrgz/mprisImprovement
mpris: dynamic tag ordering and separator customization
2023-07-04 22:44:21 +02:00