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
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