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
Tamino Bauknecht
8c57756556
util: add scope_guard
...
This custom small implementation avoids adding an extra dependency like
Boost.ScopeExit
2023-10-21 11:50:06 +02:00
Tamino Bauknecht
b8afde043c
sleeper_thread: allow interrupting sleep()
...
This keeps the function consistent with sleep_until() and sleep_for()
which both can be interrupted.
This is relevant to allow an update via a "signal" without an "interval"
in a custom module.
2023-10-20 23:57:54 +02:00
Alexis Rouillard
eefd6e8336
Merge pull request #2578 from Syndelis/fix/hyprland-windows-disappearing
2023-10-20 10:24:56 +02:00
Brenno Lemos
a41225c4e0
Revert "fix: fill persistent workspaces' windows at init"
...
This reverts commit e14a3b8687
.
2023-10-19 21:23:00 -03:00
Brenno Lemos
a0d2d95b41
chore: remove unused function
2023-10-19 21:21:55 -03:00
Brenno Lemos
e14a3b8687
fix: fill persistent workspaces' windows at init
2023-10-19 21:19:08 -03:00
Brenno Lemos
193040c41e
feat: attempt to move windows out of the create window payload before taking them from workspaces
2023-10-18 19:11:49 -03:00
Alex
208928ded5
fix: lint
2023-10-17 19:29:06 +02:00
Alexis Rouillard
6b73e2aa58
Merge pull request #2114 from mmhat/split-cpu-module
...
Split cpu module
2023-10-17 19:25:29 +02:00
Brenno Lemos
6ddd283d0f
fix: special workspaces weren't registering windows because of the special qualifier prefix
2023-10-16 20:48:52 -03:00
Brenno Lemos
e70a67d958
chore: lint
...
chore: swap push_back to emplace_back
2023-10-16 19:14:50 -03:00
Brenno Lemos
67c0c9a66c
fix: delay window creation to await for hyprland to create a workspace
2023-10-16 19:07:00 -03:00
Brenno Lemos
ecbcf242d5
feat: allow unmuting by moving the pulseaudio slider
2023-10-15 17:52:12 -03:00
Brenno Lemos
11d7ca1d73
feat: backlight slider
2023-10-15 17:52:12 -03:00
Brenno Lemos
c3779dd16e
refactor: move backlight backend out of backlight module
2023-10-15 17:52:12 -03:00
Brenno Lemos
442a4b0da0
feat: pulseaudio slider module
2023-10-15 17:52:12 -03:00
Brenno Lemos
c9e129cda2
feat: allow setting volume directly
2023-10-15 17:52:12 -03:00
Brenno Lemos
64d7fae03a
refactor: move pulseaudio handling to separate class
2023-10-15 17:52:12 -03:00
Alexis Rouillard
93daf089b5
Merge pull request #2574 from Syndelis/feat/group-drawers
2023-10-15 21:26:04 +02:00
Alexis Rouillard
7645ae1907
Merge pull request #2563 from Syndelis/feat/hyprland-window-rename-by-title
2023-10-15 21:21:32 +02:00
Alexis Rouillard
3d496c2200
Merge pull request #2554 from mutoroglin/cava-hide-on-silence
2023-10-15 21:19:17 +02:00
Brenno Lemos
5e44cb6ba2
refactor: move signal handler adding into separate method
...
fix: typo in handleMouseHover method name
2023-10-14 18:30:27 -03:00
Brenno Lemos
fad858782c
feat: improve drawer configuration
2023-10-14 18:24:50 -03:00
Brenno Lemos
5246ab15cb
feat: add drawer bool option to group
2023-10-14 17:17:52 -03:00
Brenno Lemos
bbb7fb0c82
refactor: don't use a group's box directly in bar
2023-10-14 13:23:11 -03:00
Brenno Lemos
c59264d6b4
fix: clang < 16 can't emplace back struct with no constructor
2023-10-12 17:30:32 -03:00
Brenno Lemos
ee652677a6
feat: ignore windows with empty classes or titles (if any rule uses title)
2023-10-11 11:40:49 -03:00
Brenno Lemos
c995bafa7a
feat: add option to ignore workspaces based on regex
2023-10-11 10:59:33 -03:00
Brenno Lemos
387e54498e
docs: document new regex collection class
2023-10-09 14:46:57 -03:00