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
Brenno Lemos
fad43d4b16
feat: listen to windowtitle IPC event condiationally to update window rules
2023-10-09 14:42:53 -03:00
Brenno Lemos
8d057e6f96
refactor: separate regex rule matching and caching in separate class
2023-10-09 13:53:00 -03:00
SWarrener
c16e791cdc
Adding options to allow disk outputs to always be in a specific unit
2023-10-08 16:24:50 +01:00
Joerg Weislogel
1eb0777799
add function to cava module to hide on silence
2023-10-07 12:50:24 +02:00
Brenno Lemos
258ab8b147
refactor: take window representation directly from old workspace on movewindow event
2023-09-22 21:12:42 -03:00
Brenno Lemos
adbc9d95de
feat: optional default icon for 0-match classes
...
Co-authored-by: Gabriel Fox <Inbox@GabrielFox.Dev>
2023-09-22 19:16:59 -03:00
Brenno Lemos
b9d5912a4f
feat: rewrite window classes
...
feat: cache window class rewrite resolution
Co-authored-by: Gabriel Fox <Inbox@GabrielFox.Dev>
2023-09-22 19:16:53 -03:00
Brenno Lemos
3e2761e81f
feat: dynamically assign windows to workspaces
...
Co-authored-by: Gabriel Fox <Inbox@GabrielFox.Dev>
2023-09-22 19:12:50 -03:00
Evan Overman
bf371f70d1
add `waitingWorker()` to `Custom`
2023-09-18 14:56:14 -07:00
Evan Overman
7c28ffc856
add indefinite `sleep()` function to `SleeperThread`
2023-09-18 14:55:50 -07:00
Mann mit Hut
8d7341da6e
cpu module: Reuse getLoad of load module
2023-09-13 21:56:37 +02:00
Mann mit Hut
d1602e383c
cpu module: Reuse getCpuUsage of cpu_usage module
2023-09-13 21:56:36 +02:00
Mann mit Hut
c45f6681b3
cpu module: Reuse getCpuFrequency of cpu_frequency module
2023-09-13 21:56:35 +02:00
Mann mit Hut
dce6a98f38
Added changes made to the cpu module
2023-09-13 21:56:34 +02:00
Mann mit Hut
982ffde002
Use labels instead of buttons
2023-09-13 21:56:33 +02:00
Mann mit Hut
888adb57ec
Introduce cpu_usage module
2023-09-13 21:56:32 +02:00
Mann mit Hut
c36fe3a004
Introduce cpu_frequency module
2023-09-13 21:56:31 +02:00
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
Alexis Rouillard
14fa9cf7b7
Merge pull request #2128 from Alan-Kuan/image-tooltip
...
Image tooltip
2023-07-04 22:40:04 +02:00
Alex
6c196b8f8d
fix: lint
2023-07-04 22:35:27 +02:00
Alexis Rouillard
265b4edb2e
Merge pull request #2276 from skligys/fix_mpris_ui_spamming
...
Stop MPRIS module from updating every ~20ms
2023-07-04 22:29:48 +02:00
Alexis Rouillard
bb61461aad
Merge pull request #2278 from Anakael/pr/anakael/hyprland-workspaces
2023-07-04 08:02:45 +02:00
dmitry
de626dcbbc
format
2023-07-04 01:24:34 +03:00
dmitry
c9b963e82b
fix segfault
2023-07-04 01:17:26 +03:00
André Aparício
a1cd0acac5
Fix random segfault on GTK icon functions
...
The segfaults were happening on GTK icon theme functions, which are
called via the C++ interface functions such as Gtk::IconTheme::has_icon.
There are multiple modules and threads using this functions on the default
icon theme by calling Gtk::IconTheme::get_default(), which returns the same
object for all callers, and was causing concurrent access to the same internal
data structures on the GTK lib. Even a seemingly read-only function such as
has_icon can cause writes due to the internal icon cache being updated.
To avoid this issues, a program wide global mutex must be used to ensure
a single thread is accessing the default icon theme instance.
This commit implements wrappers for the existing IconTheme function calls,
ensuring the global lock is held while calling the underling GTK functions.
2023-07-03 22:32:24 +01:00
Skirmantas Kligys
c2f9d889f4
Stop MPRIS module from updating every ~20ms as onPlayerMetadata(), onPlayerPlay()
...
callbacks get triggered without regard for update interval.
2023-07-03 13:52:57 -07:00
gardenapple
cdece498c1
hyprland/window: .solo class accounts for hidden & fullscreen windows
2023-07-02 20:58:42 +03:00
Alexis Rouillard
91588fb8bb
Merge pull request #2212 from evyatark2/wpscroll
...
wireplumber: Support for scrolling
2023-07-02 11:46:56 +02:00
Alex
9d741f89e2
fix: lint
2023-07-01 11:12:14 +02:00
Alex
cc4370f1b2
fix: build
2023-07-01 11:08:31 +02:00
Alexis Rouillard
85854c71d6
Merge pull request #2219 from xytovl/wake_threads_on_resume
...
Wake all sleeping threads when leaving suspend
2023-07-01 11:02:13 +02:00
dmitry
887c44bf68
finish MVP
2023-07-01 00:18:57 +03:00
dmitry
33236c222f
save
2023-06-28 02:52:01 +03:00
Erik Rodriguez
77a8420aaf
mpris: Add dynamic-order and dynamic-separator
...
This commit allows better handling of ordering and exclusion of the tags in Dynamics tags.
It also becomes possible to choose the separator between the tags.
2023-06-22 02:13:34 -03:00
gardenapple
30c4f08773
hyprland/window: Correct application of .solo class
2023-06-20 03:54:02 +03:00
gardenapple
4f14ce3285
hyprland/window: add .floating and .fullscreen CSS classes
2023-06-20 00:42:19 +03:00
gardenapple
e233022d1a
hyprland/window: Rework, add .empty, .solo and .<app_id> CSS classes
2023-06-19 23:44:20 +03:00
Viktar Lukashonak
17af49d421
Upower native-path filter
...
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-06-09 18:22:24 +03:00
Patrick Nicolas
3c9cbc99d7
Wake all sleeping threads when leaving suspend
...
std::condition_variable::wait_for does not count time spent in sleep
mode, resulting in longer than expected waits.
2023-06-07 10:17:42 +02:00
Evyatar Stalinsky
d22fd3bbd1
Use a minimum step as provided by wireplubmer; Default step to 1
2023-06-06 11:42:02 +03:00
Evyatar Stalinsky
88a1a702b4
wireplumber: Support for scrolling
2023-06-05 22:03:46 +03:00
D3vil0p3r
b728a37b6d
Fixing 'incomplete type error' during building
...
Fixing errors during the building due to missing library after latest GCC updates.
2023-06-05 16:28:32 +02:00
Alex
097cbc0c53
fix: lint
2023-05-29 09:24:33 +02:00
David Delarosa
7e9bfc504c
Update to new ipc version
2023-05-25 00:27:50 +03:00
cptpcrd
5cbbfd5c8a
Close pipe if fork() fails when spawning processes
...
Prevents potential file descriptor leakage, albeit in a bit of an edge
case.
2023-05-21 12:15:49 -04:00
cptpcrd
df65cab17a
Open command pipes as close-on-exec
...
Avoids a race where the pipe could be inherited by another process
spawning at about the same time. If the other process didn't exit
quickly (e.g. if it was a custom script that did its own looping), it
would keep the write end of the pipe open, and so reading from the pipe
to try to get the command's output would block.
This bug manifested as some custom modules randomly not appearing in the
bar, requiring a reload to fix. The custom script had run and exited,
but the pipe had been inherited by another process, and the thread that
updated the module's output was blocked trying to read from it.
2023-05-21 12:10:44 -04:00
MonstrousOgre
c04485a5d0
separate css class for empty workspaces
2023-05-05 00:09:32 +05:30
Paymon
3da3732cc9
network: detect if link is p2p and use local addr
...
without this we endup with peer's addr
Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2023-04-26 13:52:17 -04:00
Alan-Kuan
6a17139423
feat: tooltip for image module
2023-04-21 16:38:21 +08:00
Alex
ede1d25440
fix: lint
2023-04-17 09:01:14 +02:00
Alex
8be889c5aa
Merge pull request #2103 from xdavidel/dwl-module
...
Add DWL tags module
2023-04-17 09:01:00 +02:00
Alex
b1e3347fca
Merge pull request #2089 from MonstrousOgre/master
2023-04-17 08:59:22 +02:00
Alex
8aafe817bf
Merge pull request #2102 from LukashonakV/Cava
2023-04-16 18:06:53 +02:00
Viktar Lukashonak
a5607b66ca
Cava module
...
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-04-15 02:36:15 +03:00
Viktar Lukashonak
6de3b58d6a
ISSUE#2073
...
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-04-13 17:16:03 +03:00
David Delarosa
60cdf10e64
Add DWL tags module
2023-04-11 04:50:21 +03:00
Alex
a6084ea7e6
Merge pull request #2068 from TheRealLorenz/master
2023-04-03 09:44:04 +02:00
Alex
60467ad7f2
Merge pull request #2064 from en3wton/hyprland-language-format-replacements
2023-04-03 09:43:28 +02:00
Alex
ef99b0226c
Merge pull request #1932 from ldelossa/wlr-taskbar-sort-app-id
2023-04-03 09:42:19 +02:00
Alex
60e0584d16
fix: lint
2023-04-03 09:41:24 +02:00
chayleaf
0cfd1c7094
mpris: don't put ellipsis after whitespace
2023-03-31 19:54:44 +07:00
chayleaf
e5524d5059
mpris: switch base class from AModule to ALabel
2023-03-31 19:54:39 +07:00
chayleaf
5383f7bd56
mpris: add unicode support; add position tag
2023-03-31 19:54:20 +07:00
chayleaf
a53c97f7f6
mpris: add tooltip and length limits
2023-03-31 19:53:53 +07:00
TheRealLorenz
63525ec956
Rename function name
2023-03-25 17:33:01 +01:00
MonstrousOgre
5791a6abc6
Reading persistent workspaces
2023-03-24 23:11:47 +05:30
en3wton
bbcfb5e138
remove use of new on Layout
2023-03-21 19:30:35 +00:00
en3wton
4ab4ff790e
add more format replacements for hyprland/language
2023-03-19 15:12:11 +00:00
Alex
b34d325a71
Merge pull request #2037 from LukashonakV/Happy_clang
...
Happy clang
2023-03-02 19:42:38 +01:00
Alex
3bda22da72
Merge pull request #1589 from qubidt/module-group-orientation
...
group module: configurable orientation
2023-03-02 19:42:22 +01:00
Viktar Lukashonak
61a6c00c02
Happy clang
2023-03-02 16:57:32 +03:00
Louis DeLosSantos
79eb2f5bc1
wlr-taskbar: allow sorting by app_id
...
some users (maybe only myself) may want to sort the task bar by app_id
which then places occurrences of the same task next to each other.
Signed-off-by: Louis DeLosSantos <louis.delos@gmail.com>
2023-03-01 12:16:28 +00:00