Commit Graph

3263 Commits

Author SHA1 Message Date
Félix Baylac Jacqué 09bb6a055d modules/power_profiles_daemon: safely call dbus asynchronously
2 changes to address the review feedback:

1. Aleksei pointed out in this
   comment (https://github.com/Alexays/Waybar/pull/2971#issuecomment-1972364896)
   that there's no way to tell if a proxy is alive other than trying to
   call a method on it. We perform a little dance to check whether or
   not power-profiles-daemon is available on the system by calling
   properties.GetAll. If something responds, we assume
   power-profiles-daemon is installed, it's then safe to draw the
   widget and attach the callback to the active profile.
2. We replaced all the synchronous DBus operations by their async
   counterparts.
2024-03-01 12:55:37 +01:00
Félix Baylac Jacqué 61fed6a214 modules/power_profiles_daemon: add custom format from config
We move to a single icon label format to save space on the bar. We
still display the profile name and the driver in the tooltip.
2024-03-01 11:18:24 +01:00
Félix Baylac Jacqué 162b41c4d0 modules/power-profiles-daemon: apply clang-tidy suggestions 2024-02-29 21:46:27 +01:00
Félix Baylac Jacqué 968f469289 modules/power-profiles-daemon: run clang format 2024-02-26 14:44:14 +01:00
Félix Baylac Jacqué c38d05b04f Introduce power-profiles-daemon module
We introduce a module in charge to display and toggle on click the
power profiles via power-profiles-daemon.

https://gitlab.freedesktop.org/upower/power-profiles-daemon

This daemon is pretty widespread. It's the component used by Gnome and
KDE to manage the power profiles. The power management daemon is a
pretty important software component for laptops and other
battery-powered devices.

We're using the daemon DBus interface to:

- Fetch the available power profiles.
- Track the active power profile.
- Change the active power profile.

The original author recently gave up maintenance on the project. The
Upower group took over the maintenance burden… …and created a new
DBus name for the project. The old name is still advertised for now.
We use the old name for compatibility sake: most distributions did not
release 0.20, which introduces this new DBus name. We'll likely revisit
this in the future and point to the new bus name. See the inline
comment for more details.

Given how widespread this daemon is, I activated the module in the
default configuration.
2024-02-26 14:44:14 +01:00
Alexis Rouillard 6703adc37f
Merge pull request #2972 from alebastr/config-tweaks
RFC: Rename config to config.jsonc
2024-02-25 23:43:25 +01:00
Aleksei Bavshin 43aabf046c
chore: rename config to config.jsonc
Only changes the name of the default config we install and does not
affect the lookup logic in any way.

Man pages were already fixed in #2744
2024-02-25 12:00:53 -08:00
Aleksei Bavshin 2108959644
chore(config): add modeline for Emacs json-mode
json-mode supports jsonc format since 1.8.0, but does not register
.jsonc as a file extension.
2024-02-25 11:21:58 -08:00
Alexis Rouillard 3a33c0b290
Merge pull request #2930 from zjeffer/fix/zjeffer/hyprland-clang-tidy
fix clang-tidy errors in hyprland module
2024-02-25 17:11:13 +01:00
Alexis Rouillard fb193529fc
Merge pull request #2961 from alebastr/sway-language-single-layout
feat(sway/language): option to hide module with single layout
2024-02-25 17:10:50 +01:00
Alexis Rouillard 75dce1ef4b
Merge pull request #2969 from alebastr/config-tweaks
Config tweaks
2024-02-25 17:10:22 +01:00
zjeffer 42f4386e2e fix clang-tidy errors in hyprland module 2024-02-25 12:11:22 +01:00
zjeffer edd723d95c Change PrivateMember styling to use trailing underscore instead of m_ in .clang-tidy 2024-02-25 11:44:55 +01:00
Aleksei Bavshin 05fbbc1c43
style: align 'sway/mode' text with other modules
Use `box-shadow` instead of borders for consistent vertical alignment.
See 77c7e10 for a similar conversion of other modules.
2024-02-24 18:26:02 -08:00
Aleksei Bavshin 2540c07f1d
chore: wrap module lists in the config
"modules-right" has gotten too long, and it's easier to compare configs
that way.
2024-02-24 18:24:39 -08:00
Aleksei Bavshin 188789592e
feat(sway/language): option to hide module with single layout 2024-02-24 00:30:45 -08:00
Aleksei Bavshin 99c48bca36
fix: formatting 2024-02-24 00:30:44 -08:00
Alexis Rouillard 601af3de81
Merge pull request #2958 from JonnyTischbein/mediaplayer-exclude 2024-02-24 00:06:03 +01:00
Jonny Tischbein 3d31e9a22a
mediaplayer: add exclude player option 2024-02-23 18:41:45 +01:00
Alexis Rouillard 793394c862
Merge pull request #2949 from aokblast/feat/bsd_cpufreq
feat: implement cpufreq for bsd by sysctl
2024-02-22 01:25:21 +01:00
aokblast 514d00803c
feat: implement cpufreq for bsd by sysctl 2024-02-22 04:47:09 +08:00
Alexis Rouillard 977c66e7c5
Merge pull request #2948 from alebastr/clang-tidy-fix
ci: fix clang-tidy action
2024-02-21 09:19:20 +01:00
Alex 450a344426 chore: only label issues 2024-02-21 09:19:03 +01:00
Aleksei Bavshin 5fc2b97194
ci: fix clang-tidy action 2024-02-20 17:22:33 -08:00
Alex efb2eb5073 chore: update cpp-linter 2024-02-20 22:24:30 +01:00
Alexis Rouillard 1606dce62e
Merge pull request #2944 from grimpy/waybarwindows
Implement windows formating in sway/workspaces
2024-02-20 18:34:32 +01:00
Jo De Boeck bb843e0494 Implement windows formating in sway/workspaces
This implementation mimics to some extend the implementation of hyprland

Signed-off-by: Jo De Boeck <deboeck.jo@gmail.com>
2024-02-20 19:12:26 +02:00
Alexis Rouillard 1b4008c58b
Merge pull request #2943 from iynaix/master
nix: update libcava version and removal of gtk-layer-shell meson option
2024-02-20 11:34:04 +01:00
Alex a45932973a fix: lint 2024-02-20 11:33:41 +01:00
Lin Xianyi 00ee538c95 nix: update libcava version and removal of gtk-layer-shell meson option 2024-02-20 17:57:07 +08:00
Alexis Rouillard 4ef5b48474
Merge pull request #2934 from tomben13/master
Fixed window#waybar.swallowing for module hyprland/window
2024-02-20 10:39:33 +01:00
Tom Benham e6aa06cdf3 window#waybar.swallowing -- backward compatibility 2024-02-20 09:39:03 +01:00
Alex e42635197c chore: more labels 2024-02-20 08:35:28 +01:00
Alex b8324be8c4 fix: token 2024-02-20 08:26:14 +01:00
Alexis Rouillard 197bc6a877
Merge pull request #2938 from thejch/click-special 2024-02-20 08:03:16 +01:00
Alexis Rouillard 536933ca24
Merge pull request #2940 from alebastr/clock 2024-02-20 08:02:08 +01:00
Alexis Rouillard a118af0d1b
Merge pull request #2939 from alebastr/ci-update-debian-dependencies 2024-02-20 08:01:18 +01:00
Aleksei Bavshin f885baba61
fix(clock): remove literal operator with reserved name
```
../include/util/date.hpp:34:26: warning: literal operator suffixes not preceded by ‘_’ are reserved for future standardization [-Wliteral-suffix]
   34 | constexpr decltype(auto) operator""d(unsigned long long d) noexcept {
```
2024-02-19 21:56:47 -08:00
Aleksei Bavshin a2deff3689
fix(clock): crash on scrolling with local timezone (`""`) in the list
While we at it, eliminate use of non-portable GCC conditional expression
syntax. There are no significant side-effects that would justify use of
the language extension.
2024-02-19 21:56:46 -08:00
Aleksei Bavshin 5d6acfd1d4
test: restore compatibility with older Catch2 releases 2024-02-19 17:00:01 -08:00
Aleksei Bavshin d59d6e8765
chore: remove duplicate fedora/c++20 job definition 2024-02-19 16:35:56 -08:00
Aleksei Bavshin bdb2f2bd1a
chore: update Debian CI dependencies
This should speed-up "linux (debian)" and "clang-tidy" builds and enable
lints for more modules.
2024-02-19 16:35:21 -08:00
Jeremy Huang 4a5444d196 fix click special 2024-02-19 16:16:46 -08:00
Alexis Rouillard ce5a1cf2f9
Merge pull request #2937 from alebastr/factory-includes
refactor: move all module includes to factory.cpp
2024-02-20 00:44:38 +01:00
Aleksei Bavshin c6f5cbdf0c
refactor: move all module includes to factory.cpp
None of these includes are required in the header.
2024-02-19 15:11:08 -08:00
Alexis Rouillard 6048e23e09
Merge pull request #2926 from alebastr/meson-cleanup
build: refactorings and deprecation fixes
2024-02-19 23:44:52 +01:00
Alexis Rouillard 3d75167e67
Merge pull request #2936 from Alexays/revert-2773-waybarwindows
Revert "Implement windows formating in sway/workspaces"
2024-02-19 23:28:15 +01:00
Alexis Rouillard ee2407496f
Revert "Implement windows formating in sway/workspaces" 2024-02-19 23:28:08 +01:00
Alex 175852e527 chore: auto label 2024-02-19 23:24:20 +01:00
Alexis Rouillard d36f15c26b
Merge pull request #2935 from Alexays/revert-2915-cpu_style
Revert "Add style class for CPU state"
2024-02-19 23:10:20 +01:00