Commit Graph

2868 Commits

Author SHA1 Message Date
d5203e5b37 Fixed cpu module: Provide stub implementation for parseCpuFrequencies 2023-09-13 23:12:35 +02:00
91b6629103 Fixed format errors 2023-09-13 21:59:42 +02:00
93d66a9258 Moved cpu/common.cpp to cpu.cpp 2023-09-13 21:56:37 +02:00
8d7341da6e cpu module: Reuse getLoad of load module 2023-09-13 21:56:37 +02:00
d1602e383c cpu module: Reuse getCpuUsage of cpu_usage module 2023-09-13 21:56:36 +02:00
c45f6681b3 cpu module: Reuse getCpuFrequency of cpu_frequency module 2023-09-13 21:56:35 +02:00
dce6a98f38 Added changes made to the cpu module 2023-09-13 21:56:34 +02:00
982ffde002 Use labels instead of buttons 2023-09-13 21:56:33 +02:00
888adb57ec Introduce cpu_usage module 2023-09-13 21:56:32 +02:00
c36fe3a004 Introduce cpu_frequency module 2023-09-13 21:56:31 +02:00
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
4d32991bee Merge pull request #2507 from hariseldon78/patch-1
Update workspaces.cpp
2023-09-13 18:21:22 +02:00
69736d68aa Update workspaces.cpp
Fix unchecked string to int conversion of workspace name (which can be a string)
Closes #2501
2023-09-13 18:20:13 +02:00
a90e275d5e Merge pull request #2470 from 4e554c4c/darkmode
search for dark or light mode stylesheet
2023-09-11 09:36:05 +02:00
fc67558717 Merge branch 'master' into darkmode 2023-09-11 09:25:45 +02:00
196b400abf Merge pull request #2468 from khaneliman/persistent-rename
deprecate persistent_workspaces in favor of persistent-workspaces
2023-09-11 09:22:07 +02:00
05a2af2d7c Merge pull request #2486 from khaneliman/workspace-sorting
feat: hyprland workspaces add sort-by
2023-09-11 09:21:35 +02:00
79cf33b9f1 refactor: enumparser create implementation file 2023-09-09 17:59:40 -05:00
b8630968b2 refactor: move capitalize string helper 2023-09-09 13:23:17 -05:00
2fee12d930 fix: enumparser capitalize everything to avoid issues 2023-09-09 12:14:52 -05:00
3ae2fe3272 refactor: PR review cleanup 2023-09-09 12:08:30 -05:00
2b8c92e8fd refactor: enum utility allow overriding 2023-09-09 11:18:12 -05:00
8ce64ea784 refactor: make parsing sort-by more lenient 2023-09-09 10:04:49 -05:00
8ea2626de8 refactor: sort-by enum hyprland 2023-09-09 10:04:48 -05:00
65ba449460 chore: update man page index 2023-09-08 23:17:21 -05:00
cbc12e5443 feat: hyprland workspaces add sort-by 2023-09-08 22:49:15 -05:00
587bd0cd62 refactor: cleanup hyprland workspaces constructor 2023-09-08 22:24:05 -05:00
309edd0585 Merge pull request #2485 from khaneliman/active-rename 2023-09-08 23:11:58 +02:00
2837b72064 fix: rename workspace active fix 2023-09-08 14:11:02 -05:00
38ef38b72f Merge pull request #2477 from zjeffer/fix/urgent-icon 2023-09-07 20:33:22 +02:00
6c3565c520 Add urgent icon
Fixes #2476
2023-09-07 19:33:56 +02:00
9bb2c01a44 clean up client.cpp 2023-09-07 13:43:59 +00:00
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
c9e1899594 refactor: deprecate instead of remove persistent_workspaces 2023-09-05 16:02:45 -05:00
b405dc436c refactor!: wlr persistent workspaces config rename 2023-09-05 16:02:22 -05:00
4a6c1269fb refactor!: sway persistent workspaces config name rename 2023-09-05 16:02:21 -05:00
44ac6b8044 refactor!: hyprland persistent workspaces config option name standardization 2023-09-05 16:02:19 -05:00
80de22a159 Merge pull request #2408 from zjeffer/hyprland/workspaces_active-only
Implement 'active_only' option and 'visible' class in hyprland/workspaces
2023-09-05 22:59:49 +02:00
04b39ea64e hyprland/workspaces: implement 'active_only' option and visible class 2023-09-05 18:22:54 +02:00
116aa5cdbd Merge pull request #2466 from maximbaz/hyprland-support-workspace-rename
hyprland/workspaces: react on renameworkspace event
2023-09-05 17:23:06 +02:00
9c49f46b01 hyprland/workspaces: react on renameworkspace event 2023-09-05 17:13:25 +02:00
f7ff005dd5 Merge pull request #2460 from xercesblue/set_urgent_segfault
modules/hyprland: Fix segfault when attempting to set_urgent on a missing workspace
2023-09-05 08:42:39 +02:00
d40ccd0da8 modules/hyprland: Fix segfault when attempting to set_urgent on a missing workspace 2023-09-04 16:57:00 -07:00
6f66af9ab9 Merge pull request #2134 from bruceblore/battery-weighted-percentage
Display battery percentage as weighted average of battery levels
2023-09-04 22:01:40 +02:00
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
a77ccf4bd1 Merge pull request #2457 from khaneliman/hyprland-cleanup
Hyprland linting cleanup
2023-09-04 22:00:44 +02:00
4cb8efbecc chore: cpplint fixes hyprland classes 2023-09-03 00:18:31 -05:00
8fc4187713 refactor: replace strcpy with snprintf 2023-09-02 23:56:06 -05:00
ce076927f3 chore: cpplint fixes hyprland headers 2023-09-02 23:56:04 -05:00
8eb614f69e Merge pull request #2438 from khaneliman/hyprland-workspace-array
hyprland persistent workspace support new config declaration
2023-09-01 09:10:23 +02:00