Commit Graph

858 Commits

Author SHA1 Message Date
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
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
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
f2085fcd92 Merge pull request #2592 from zjeffer/hyprland/workspaces
General cleanup in hyprland/workspaces
2023-10-23 08:45:52 +02:00
2d33c20231 Revert "Fix potential memory leaks" 2023-10-22 09:44:46 +02:00
dab1493644 cleanup onEvent, dont use try/catch for flow control 2023-10-21 19:33:55 +02:00
2d614c68f5 code review 2023-10-21 18:15:22 +02:00
ed65d9cdbd General cleanup in hyprland/workspaces 2023-10-21 16:52:23 +02:00
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
ae748b2644 modules+util: fix actual (potential) memory leaks 2023-10-21 11:51:33 +02:00
a73669be6a modules/upower: use smart pointer to avoid memory leak 2023-10-21 11:50:28 +02:00
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
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
eefd6e8336 Merge pull request #2578 from Syndelis/fix/hyprland-windows-disappearing 2023-10-20 10:24:56 +02:00
a41225c4e0 Revert "fix: fill persistent workspaces' windows at init"
This reverts commit e14a3b8687.
2023-10-19 21:23:00 -03:00
a0d2d95b41 chore: remove unused function 2023-10-19 21:21:55 -03:00
e14a3b8687 fix: fill persistent workspaces' windows at init 2023-10-19 21:19:08 -03:00
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
208928ded5 fix: lint 2023-10-17 19:29:06 +02:00
6b73e2aa58 Merge pull request #2114 from mmhat/split-cpu-module
Split cpu module
2023-10-17 19:25:29 +02:00
6ddd283d0f fix: special workspaces weren't registering windows because of the special qualifier prefix 2023-10-16 20:48:52 -03:00
e70a67d958 chore: lint
chore: swap push_back to emplace_back
2023-10-16 19:14:50 -03:00
67c0c9a66c fix: delay window creation to await for hyprland to create a workspace 2023-10-16 19:07:00 -03:00
ecbcf242d5 feat: allow unmuting by moving the pulseaudio slider 2023-10-15 17:52:12 -03:00
11d7ca1d73 feat: backlight slider 2023-10-15 17:52:12 -03:00
c3779dd16e refactor: move backlight backend out of backlight module 2023-10-15 17:52:12 -03:00
442a4b0da0 feat: pulseaudio slider module 2023-10-15 17:52:12 -03:00
c9e129cda2 feat: allow setting volume directly 2023-10-15 17:52:12 -03:00
64d7fae03a refactor: move pulseaudio handling to separate class 2023-10-15 17:52:12 -03:00
93daf089b5 Merge pull request #2574 from Syndelis/feat/group-drawers 2023-10-15 21:26:04 +02:00
7645ae1907 Merge pull request #2563 from Syndelis/feat/hyprland-window-rename-by-title 2023-10-15 21:21:32 +02:00
3d496c2200 Merge pull request #2554 from mutoroglin/cava-hide-on-silence 2023-10-15 21:19:17 +02:00
5e44cb6ba2 refactor: move signal handler adding into separate method
fix: typo in handleMouseHover method name
2023-10-14 18:30:27 -03:00
fad858782c feat: improve drawer configuration 2023-10-14 18:24:50 -03:00
5246ab15cb feat: add drawer bool option to group 2023-10-14 17:17:52 -03:00
bbb7fb0c82 refactor: don't use a group's box directly in bar 2023-10-14 13:23:11 -03:00
c59264d6b4 fix: clang < 16 can't emplace back struct with no constructor 2023-10-12 17:30:32 -03:00
ee652677a6 feat: ignore windows with empty classes or titles (if any rule uses title) 2023-10-11 11:40:49 -03:00
c995bafa7a feat: add option to ignore workspaces based on regex 2023-10-11 10:59:33 -03:00
387e54498e docs: document new regex collection class 2023-10-09 14:46:57 -03:00
fad43d4b16 feat: listen to windowtitle IPC event condiationally to update window rules 2023-10-09 14:42:53 -03:00
8d057e6f96 refactor: separate regex rule matching and caching in separate class 2023-10-09 13:53:00 -03:00
c16e791cdc Adding options to allow disk outputs to always be in a specific unit 2023-10-08 16:24:50 +01:00
1eb0777799 add function to cava module to hide on silence 2023-10-07 12:50:24 +02:00
258ab8b147 refactor: take window representation directly from old workspace on movewindow event 2023-09-22 21:12:42 -03:00
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
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
3e2761e81f feat: dynamically assign windows to workspaces
Co-authored-by: Gabriel Fox <Inbox@GabrielFox.Dev>
2023-09-22 19:12:50 -03:00
bf371f70d1 add waitingWorker() to Custom 2023-09-18 14:56:14 -07:00
7c28ffc856 add indefinite sleep() function to SleeperThread 2023-09-18 14:55:50 -07:00