Aleksei Bavshin
bb60d41842
fix(mpd): use timers with second granularity where possible
...
Reuse already armed timer in Disconnected state.
2024-03-01 00:27:23 -08:00
Félix Baylac Jacqué
162b41c4d0
modules/power-profiles-daemon: apply clang-tidy suggestions
2024-02-29 21:46:27 +01:00
alttabber
d9abc080e1
Fix merge conflict with #2930
2024-02-28 22:52:08 +01:00
Alexis Rouillard
04f73e7303
Merge pull request #2973 from Azazel-Woodwind/feature/hyprland-window-improvements
...
Improved hyprland/window by fixing icon search and implementing configurable spacing
2024-02-28 09:29:54 +01:00
Alexis Rouillard
e79ea93d7d
Merge pull request #2967 from aruhier/pr_hyprland_workspaces
...
hyprland/workspaces: Improve the workspaces persistency logic
2024-02-27 16:41:32 +01:00
Azazel
c59bb509bd
fix: hide icon if window is unfocused
2024-02-26 21:00:16 +00: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
Anthony Ruhier
d6d4d87cf7
Attributes doc format fix from the review
...
Co-authored-by: Tuur Vanhoutte <4633209+zjeffer@users.noreply.github.com>
2024-02-26 00:21:36 +01:00
Anthony Ruhier
b3ee94d87a
Improve hyprland/workspaces persistency logic
...
Fixes #2945
Split the config and rule persistency in 2 attributes, one storing the
persistency as set in Waybar's config, the other one storing the
persistency as set in Hyprland.
It fixes some conflicts between the persistency state of a workspace as
set in Waybar's config and its dynamic state in Hyprland.
It allows to remove a persistent workspace in Waybar if this workspace
is removed from Hyprland and if the workspace is not set as persistent
in Waybar's config.
2024-02-26 00:14:25 +01: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
zjeffer
42f4386e2e
fix clang-tidy errors in hyprland module
2024-02-25 12:11:22 +01:00
Jannik
16079eae09
update m_output
2024-02-25 00:51:52 +01:00
Aleksei Bavshin
188789592e
feat(sway/language): option to hide module with single layout
2024-02-24 00:30:45 -08: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
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
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
ee2407496f
Revert "Implement windows formating in sway/workspaces"
2024-02-19 23:28:08 +01:00
Alexis Rouillard
742cd7f371
Revert "Add style class for CPU state"
2024-02-19 23:10:10 +01:00
Aleksei Bavshin
a95b6a39c9
build: mark bluetooth as Linux-specific
2024-02-19 14:08:22 -08:00
Alexis Rouillard
ae1e11db22
Merge pull request #2773 from grimpy/waybarwindows
...
Implement windows formating in sway/workspaces
2024-02-19 23:05:24 +01:00
Alexis Rouillard
347197865f
Merge pull request #2885 from jones-josh/ordinal-date
...
Add ordinal date toolbar format specifier to clock module
2024-02-19 23:03:40 +01:00
Alexis Rouillard
91b79a2e9e
Merge pull request #2894 from jramrath/active-for-hyprland-special-workspaces
...
Add css classes to hyprland special workspaces
2024-02-19 23:02:17 +01:00
Alexis Rouillard
70dc388dff
Merge pull request #2915 from haasn/cpu_style
...
Add style class for CPU state
2024-02-19 22:58:21 +01:00
Alexis Rouillard
bba8da76b6
Merge pull request #2836 from alebastr/require-gtk-layer-shell
...
Require gtk-layer-shell
2024-02-19 22:57:50 +01:00
Aleksei Bavshin
8a4a44896a
refactor: merge BarSurface into Bar
...
With only one implementation left, the abstraction is no longer
necessary.
2024-02-19 03:00:38 -08:00
Aleksei Bavshin
4420447e74
fix(bar): use std::string for mode names
...
`string_view` leads to UAF when reading custom mode definitions from the
configuration.
2024-02-19 01:50:40 -08:00
zjeffer
11310b89f0
hyprland/workspaces: Use hyprland's persistent workspaces configuration
2024-02-18 16:04:47 +01:00
Aleksei Bavshin
543290ab07
fix: `-Wnon-virtual-dtor` warning in CssReloadHelper
...
```
../include/util/css_reload_helper.hpp:15:7: warning: 'class waybar::CssReloadHelper' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor]
```
2024-02-17 21:43:10 -08:00
Aleksei Bavshin
f3063e86aa
build: install man pages only for enabled modules
2024-02-17 21:43:08 -08:00
Aleksei Bavshin
9a21884272
feat!: drop RawSurfaceImpl with direct use of wlr-layer-shell
...
BREAKING CHANGE: gtk-layer-shell is now required and unconditionally
used. The corresponding config option is removed.
As a part of preparation for future versions of GTK, remove an ability
to use wlr-layer-shell directly. The APIs it required were dropped in
GTK4, and with the menus/tooltips positioning issue being practically
unsolvable it doesn't make sense to keep maintaining the code.
2024-02-17 11:23:17 -08:00
Aleksei Bavshin
72406fa3f2
build: require gio-unix-2.0 unconditionally
...
We already use it without checking (`<gio/gdesktopappinfo.h>` in
wlr/taskbar), it's a transitive dependency of GTK and it's always
available on Unix platforms.
2024-02-17 08:33:31 -08:00
Aleksei Bavshin
104accdc34
build: drop std::filesystem checks
...
The `<experimental/filesystem>` and `-lc++experimental` aren't needed
since LLVM 9.0. And since we now require C++20, checking for the
`<filesystem>` support shouldn't be necessary either.
2024-02-17 08:33:22 -08:00
Aleksei Bavshin
d590d508ca
feat: add `module` class to the root elements of the modules
...
Previously, the only way to select all the module labels was with the
following kind of selector:
```css
.modules-left > widget > label,
.modules-center > widget > label,
.modules-right > widget > label {
/* ... */
}
```
(and a matching block for the `box` containers).
Now, this can be expressed as
```css
label.module, box.module {
/* ... */
}
```
2024-02-14 22:41:13 -08:00
Aleksei Bavshin
2f555a6936
refactor(bar): use Gtk enums for position and orientation
...
Ensure that the position and the corresponding CSS class on window are
always set.
2024-02-14 22:11:21 -08:00
alttabber
9ea470410f
Add always on option for hyprland/submap
2024-02-13 17:02:14 +01:00
Niklas Haas
a0bac34329
Add style class for CPU state
...
Fixes: https://github.com/Alexays/Waybar/issues/2911
2024-02-13 10:49:57 +01:00
zjeffer
dd8d6fbe6c
Fix build warnings
2024-02-12 20:09:22 +01:00
Jannik
3bfcd5e086
Add 'active' css class to special workspaces
2024-02-07 16:33:19 +01:00
Josh Jones
718dd4afae
add ordinal date toolbar format specifier to clock module
2024-02-04 15:41:39 +01:00
Jo De Boeck
c641d52e06
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-03 12:31:06 +02:00
Alex
fb6658e8fd
chore: lint
2024-01-30 09:07:37 +01:00
Alexis Rouillard
1dce607c42
Merge pull request #2852 from dpayne/add_css_reload
...
Adding css reloader
2024-01-29 22:44:29 +01:00
dpayne
10cb4180f6
* Fixing clang tidy comments
...
* Fixing missing includes
* Fixing formatting
2024-01-28 14:44:25 -08:00
Alexis Rouillard
5534fc48b1
Merge pull request #2496 from zjeffer/tests/json
...
Fix JSON parsing with hexadecimal characters
2024-01-28 23:38:54 +01:00
Jay-716
14d168c254
pulseaudio: extract context connecting into `connectContext()`
2024-01-27 23:47:39 +08:00
Arnesh Roychowdhury
90b5b21394
Merge branch 'Alexays:master' into master
2024-01-24 02:01:17 +05:30
dpayne
970a7519d4
Merge branch 'master' of github.com:Alexays/Waybar into add_css_reload
2024-01-22 12:40:02 -08:00
SquishyPandaDev
82b632e4ec
Fix module UPower display device poniter
...
Force displayDevice to be a nullptr on class setup
2024-01-22 03:22:19 -05:00
dpayne
f7eca99496
Using Gio::FileMonitor for watching style changes
2024-01-21 20:49:13 -08:00
dpayne
d7ed4f1fa8
Adding css reloader
2024-01-21 18:23:46 -08:00
zjeffer
8f5d0098d6
Fixed json parsing with hexadecimal characters
...
* replace \x with \u00 to follow JSON spec
* fixes #2475 and #2495
* added unit tests for json parsing
2024-01-14 14:06:06 +01:00
Arnesh Roychowdhury
4eef1ce10f
Merge branch 'Alexays:master' into master
2024-01-13 16:07:11 +05:30
Alexis Rouillard
f744d906be
Merge pull request #2820 from oxalica/feat/systemd-failed-units
...
Add module systemd-failed-units to monitor failed systemd units
2024-01-12 09:45:40 +01:00
oxalica
eedd1f8e6a
Add module systemd-failed-units
2024-01-09 18:19:30 +08:00
Brenno Lemos
4339030c9d
feat: fetch clients data when moving workspaces accross monitors
2024-01-08 20:11:39 -03:00
Brenno Lemos
512c6fb127
feat: add orphan windows attribute to workspaces
...
this attribute will keep every window that doesn't have an associated
workspace in the current bar
2024-01-08 18:30:53 -03:00
Arnesh Roychowdhury
f1f3442e38
Merge branch 'Alexays:master' into master
2024-01-08 22:54:08 +05:30
yangyingchao
bdd7271da9
Improvements for Hyprland backend
...
1. Fix warnings reported by clang tidy
2. Use unique lock instead of manully lock/unlock on mutex.
The RAII style locking makes sure mutex is unlocked when exceptions are thrown
2024-01-08 09:26:16 +08:00
yangyingchao
a34e3ccc86
Improvements for Hyprland workspace
...
1. Utilize `m_mutex` to safeguard member fields of `hyprland::Workspaces` as they are modified by multiple threads, including the event listener thread and UI thread. This applies to all member fields, not just `m_workspacesToCreate`.
2. Tidy up the create/remove workspace code.
2024-01-08 09:14:36 +08:00
ArneshRC
3390c16f52
added support for battery state-based classes on the entire waybar
2024-01-07 17:22:34 +05:30
Jo De Boeck
0ea5143493
Pass WAYBAR_OUTPUT_NAME environment variable to custom exec scripts
...
Signed-off-by: Jo De Boeck <deboeck.jo@gmail.com>
2023-12-19 22:54:12 +02:00
Alexis Rouillard
f5370fcff5
Merge pull request #2573 from CromFr/cabi_plugins
...
C ABI plugin system
2023-12-18 14:10:02 +01:00
zjeffer
4d5b715dc4
applied clang-tidy suggestions for hyprland workspaces
2023-12-06 21:58:26 +01:00
czadowanie
2334faa7fd
upower: show-icon config option
2023-11-28 19:39:08 +01:00
Viktar Lukashonak
86a38980e4
c++20. clock chrono API. STL + format
...
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-11-10 17:57:26 +03:00
Alexis Rouillard
e24adbc3c2
Merge pull request #2612 from ErikReider/privacy-module
...
Add Privacy Module
2023-11-06 09:42:35 +01:00
Yaroslav Chvanov
c420b40668
refactor(backlight): use concrete types for some helper functions
...
This fixes linking of the best_device() function with 'mold' linker.
2023-11-04 18:31:25 +03:00
Erik Reider
6050fa3a43
Added documentation
2023-11-04 15:16:13 +01:00
Erik Reider
ca7c9a68f1
Made creation of privacy modules more modular
2023-11-04 14:05:01 +01:00
Alex
e7c2e90236
Revert "custom: reap zombie processes on termination"
...
This reverts commit 1c1a39f597
.
2023-11-03 14:06:50 +01:00
André Silva
1c1a39f597
custom: reap zombie processes on termination
2023-11-02 01:57:55 +00:00
Viktar Lukashonak
9012cebbf2
Happy Linter
...
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-10-31 23:31:58 +03:00
Alexis Rouillard
6425bd2fe0
Merge pull request #2623 from LukashonakV/cavaBump
2023-10-31 21:13:52 +01:00
Viktar Lukashonak
e9a66d68b7
Fix debug mode. cava issue
...
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-10-31 20:27:00 +03:00
Erik Reider
49caa4bf31
Add the PrivacyNodeInfo object as pw_proxy data
2023-10-31 11:38:01 +01:00
Erik Reider
c60a8e9836
free pipewire listeners on proxy destruction
2023-10-31 08:52:54 +01:00
Erik Reider
c4226f3745
Readded signal_timeout instead of map to fix indicator being stuck
2023-10-30 18:01:47 +01:00
Erik Reider
d32da917e4
Added tooltips
2023-10-29 00:17:53 +02:00
Erik Reider
46e36c0e68
Simplified the privacy_item hiding/showing logic
2023-10-28 18:30:50 +02:00
Erik Reider
4a4c888d7d
Fixed linter complaining
2023-10-27 00:01:40 +02:00
Erik Reider
e73ea8d608
Fixed cases where the module would be hidden when it should be visible
2023-10-26 23:37:10 +02:00
Erik Reider
f7224d8459
Initial implementation
2023-10-26 23:22:02 +02:00
Crom (Thibaut CHARLES)
02c64f3f1e
Moved all waybar info into a single struct
2023-10-24 20:16:50 +02:00
Crom (Thibaut CHARLES)
d86059016e
Send update dispatcher though FFI
2023-10-24 20:16:50 +02:00
Crom (Thibaut CHARLES)
088ca6b963
Added cffi/* module for third-party advanced modules
2023-10-24 20:16:50 +02:00
Crom (Thibaut CHARLES)
6ae354f564
PoC
2023-10-24 20:16:23 +02:00
Tamino Bauknecht
68dfd6aa3a
scope_guard/modules: Rename scope_guard to ScopeGuard
...
Using pascal case for the class name keeps it more consistent with the
majority of the other class names.
2023-10-24 17:51:38 +02:00
Tamino Bauknecht
dd1de3efbf
Revert "Revert "Fix potential memory leaks""
...
This reverts commit 2d33c20231
and
reapplies various patches for memory leaks.
The reason for the revert was a bug for a maximum duration interval
which caused sleep_for() to cause unpredictable behavior.
2023-10-24 17:51:38 +02:00
Tamino Bauknecht
521dac8086
sleeper_thread: Make sleep_for more robust
...
In the previous fix for a passed max duration, the assumption was made
that at maximum one second will pass between the duration assignment and
the std::condition_variable::sleep_for() call.
This implementation makes the behavior more predictable by using
sleep_until() instead to emulate the sleep_for() behavior.
2023-10-24 17:51:34 +02:00
Tamino Bauknecht
ad7d4eb07d
sleeper_thread: Allow sleep_for with max duration
...
The standard library has the implicit requirement that for
std::condition_variable::sleep_for() the duration must not cause an
overflow if added to the current time.
This commit will reduce the duration accordingly to fit into the
duration type.
2023-10-24 17:44:35 +02:00
Alexis Rouillard
f2085fcd92
Merge pull request #2592 from zjeffer/hyprland/workspaces
...
General cleanup in hyprland/workspaces
2023-10-23 08:45:52 +02:00
Alexis Rouillard
2d33c20231
Revert "Fix potential memory leaks"
2023-10-22 09:44:46 +02:00
zjeffer
dab1493644
cleanup onEvent, dont use try/catch for flow control
2023-10-21 19:33:55 +02:00
zjeffer
2d614c68f5
code review
2023-10-21 18:15:22 +02:00
zjeffer
ed65d9cdbd
General cleanup in hyprland/workspaces
2023-10-21 16:52:23 +02:00
Alexis Rouillard
06f4028697
Merge pull request #2588 from taminob/bugfix/fix-custom-module-signal-without-interval
...
Custom module: Allow signal without interrupt
2023-10-21 14:09:12 +02:00
Tamino Bauknecht
ae748b2644
modules+util: fix actual (potential) memory leaks
2023-10-21 11:51:33 +02:00
Tamino Bauknecht
a73669be6a
modules/upower: use smart pointer to avoid memory leak
2023-10-21 11:50:28 +02:00