yangyingchao
b8e68b0e63
(hyprland) fix crash when failed to parse IPC message
...
IPC messages are parsed in a dedicated thread, and the thread terminates when
an exception is not caught, which causes the waybar process to crash with
SIGABORT.
While this issue might be related to Hyprland, it is really annoying to see
waybar crash. It would be better to catch those exceptions and report errors
instead of crashing.
2024-05-22 12:52:01 +08:00
Tuur Vanhoutte
29917fb073
Fix hyprland/language events not working with keyboard names with commas in them ( #3224 )
2024-05-07 08:26:05 +02:00
Tuur Vanhoutte
f41458ea24
Fix Hyprland socketpath changed to XDG_RUNTIME_DIR ( #3183 )
2024-04-29 19:46:28 +02:00
Tom Benham
084b561d5b
[hyprland/workspaces] Update window count and sort workspaces AFTER their creation
2024-04-12 11:40:05 +02:00
Tom Benham
cd3d588abd
[hyprland/workspaces] Fix active workspace not getting updated on multi monitor setups
2024-04-12 11:33:29 +02:00
Alexis Rouillard
32e241dc47
Merge pull request #2917 from alttabber/master
...
Add always on option for hyprland/submap
2024-03-22 23:21:17 +01:00
Alexis Rouillard
e30ddda23a
Merge pull request #2987 from tomben13/master
...
[hyprland/workspaces] New options to change on click behaviour and active workspace status
2024-03-22 23:16:57 +01:00
Tom Benham
736309ef1f
Fixed segfault
2024-03-17 23:00:48 +01:00
Alexis Rouillard
ca17bdb214
Merge pull request #2968 from jramrath/hyprland_workspaces_monitor_class
...
Hyprland workspaces `hosting-monitor` css class
2024-03-17 13:06:50 +01:00
Jannik
f014a7d2e5
man docs & different css class name
2024-03-16 21:22:01 +01:00
Tom Benham
68889494d0
Removed option `active-per-monitor`
2024-03-05 11:12:46 +01:00
Tom Benham
df7f1fffcf
feat(hyprland/workspaces): added options `move-to-monitor` and `active-per-monitor`
2024-03-04 13:17:52 +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
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
Jannik
9bc8de8876
fix clang complaints
2024-02-25 13:46:49 +01:00
zjeffer
42f4386e2e
fix clang-tidy errors in hyprland module
2024-02-25 12:11:22 +01:00
Jannik
4cc2800a78
add 'onThisMonitor' css class
2024-02-25 00:52:33 +01:00
Jannik
16079eae09
update m_output
2024-02-25 00:51:52 +01:00
Alex
a45932973a
fix: lint
2024-02-20 11:33:41 +01:00
Alexis Rouillard
4ef5b48474
Merge pull request #2934 from tomben13/master
...
Fixed window#waybar.swallowing for module hyprland/window
2024-02-20 10:39:33 +01:00
Tom Benham
e6aa06cdf3
window#waybar.swallowing -- backward compatibility
2024-02-20 09:39:03 +01:00
Jeremy Huang
4a5444d196
fix click special
2024-02-19 16:16:46 -08: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
9abd0da1c7
Merge pull request #2603 from zjeffer/hyprland/persistent-workspaces
...
Hyprland/workspaces: use Hyprland's workspace rules for persistency
2024-02-19 22:55:28 +01:00
Tom Benham
745d5687b8
Fixed window#waybar.swallowing for module hyprland/window
2024-02-19 22:23:03 +01:00
zjeffer
11310b89f0
hyprland/workspaces: Use hyprland's persistent workspaces configuration
2024-02-18 16:04:47 +01:00
Viktar Lukashonak
d7d4dca6ba
libcava bump 0.10.1
...
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2024-02-17 18:20:03 +03: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
alttabber
77c7b91b40
Add style classes for hyprland/submap
2024-02-13 11:46:27 +01:00
Jannik
acf6611098
clang-format
2024-02-10 17:35:46 +01:00
Jannik
a2925fa5da
fix 'visible' class for special workspaces
2024-02-10 17:26:44 +01:00
Jannik
240b49f9d2
Add 'empty' css class to special workspaces
2024-02-10 16:59:53 +01:00
Jannik
d4331ce7fe
improve handling of special workspace name
2024-02-09 13:49:39 +01:00
Jannik
692f8f4ea4
add/remove 'active' on 'focusedmon' IPC event
2024-02-07 22:42:05 +01:00
Jannik
61be2267ab
add 'visible' css class to special workspaces
2024-02-07 21:10:17 +01:00
Jannik
c30541b954
remove whitespaces
2024-02-07 16:56:37 +01:00
Jannik
3bfcd5e086
Add 'active' css class to special workspaces
2024-02-07 16:33:19 +01:00
Brenno Lemos
9e08512927
feat: strip workspace qualifiers when creating windows
2024-01-10 02:24:51 -03:00
Brenno Lemos
4339030c9d
feat: fetch clients data when moving workspaces accross monitors
2024-01-08 20:11:39 -03:00
Brenno Lemos
bc7acbde5c
fix: rename windows while queued for creation
...
this avoids the window arriving with the wrong icon when its eventually
able to be created
2024-01-08 18:30:53 -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
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
Alexis Rouillard
4b20f522f0
Merge pull request #2789 from DreamMaoMao/master
...
fix:#2769
2024-01-04 15:33:26 +01:00
Emily Ellis
ff09ef6d71
hyprland/workspaces: allow using the original window class/title
...
This turns the values of window rewrite rules in hyprland/workspaces from static strings to format strings with the values {class} and {title} available.
2023-12-30 21:07:40 -05:00
DreamMaoMao
e64d66ab24
fix:the workspace data is null in a small probability
...
update
fix clang-format warn
no manual unlock
2023-12-25 21:55:46 +08:00
zjeffer
4d5b715dc4
applied clang-tidy suggestions for hyprland workspaces
2023-12-06 21:58:26 +01:00
Jeremy Huang
0162dbd485
add button single click check to hyprland workspaces
2023-11-27 16:20:05 -08:00
aserowy
b6b495e1bc
hyprland module: added sort_workspaces after rename occured
...
Signed-off-by: aserowy <serowy@hotmail.com>
2023-11-18 11:36:47 +01:00
fdev31
375a38a489
Fix for #2646
2023-11-14 21:26:17 +01:00
André Silva
8555456050
hyprland/workspaces: fix crash on monitor off/on
2023-11-01 22:04:19 +00:00
Viktar Lukashonak
9012cebbf2
Happy Linter
...
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-10-31 23:31:58 +03:00
DreamMaoMao
1f0ce1a5d9
Fixed variable synchronization exception caused by the "hyprland/workspace" module receiving create or delete IPC requests too quickly
2023-10-27 14:17:43 +08:00
Brenno Lemos
4aee5977d6
fix: set workspace as persistent on create_workspace
2023-10-23 21:07:37 -03:00
zjeffer
dab1493644
cleanup onEvent, dont use try/catch for flow control
2023-10-21 19:33:55 +02:00
zjeffer
acc911737d
update window count inside the on_window_* functions
2023-10-21 18:53:53 +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
Brenno Lemos
7d5577a2ed
feat: create persistent workspaces after regular ones at init
...
feat: avoid recreating duplicate workspaces
2023-10-19 21:29:38 -03: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
846842be80
feat: emit dispatcher when any window is created during update
2023-10-19 10:45:00 -03:00
Brenno Lemos
e845db84ad
feat: avoid recreating workspaces
2023-10-18 19:11:49 -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
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
Alexis Rouillard
7645ae1907
Merge pull request #2563 from Syndelis/feat/hyprland-window-rename-by-title
2023-10-15 21:21:32 +02: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
f9a7ecf3a9
feat: optimize cache usage when window titles aren't involved
2023-10-09 14:49:38 -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
Alexis Rouillard
58e506a675
Merge pull request #2529 from Syndelis/feat/hyprland-window-workspaces
...
Feature: Hyprland dynamic window names on workspaces
2023-10-02 19:17:42 +02:00
Alexis Rouillard
4c0347d9f2
Merge pull request #2540 from Syndelis/fix/hyprland-special-workspaces
2023-09-25 22:33:36 +02:00
Brenno Lemos
9a3238c20b
chore: avoid the creation and deletion of doubled-special workspaces
...
see hyprwm/Hyprland#3424 for more info
Co-authored-by: Gabriel Fox <Inbox@GabrielFox.Dev>
2023-09-25 17:13:26 -03:00
Brenno Lemos
6e48b236a1
fix: workspace special wasn't removed
...
fixes #2505
Co-authored-by: Gabriel Fox <Inbox@GabrielFox.Dev>
2023-09-25 17:12:51 -03:00
woojiq
d37954322a
fix(hyprland): use workspace `name` as default icon
...
Wlr and Sway modules use the workspace `name` as the default icon if no icon is provided. This adds the same behavior for the `hyprland/workspace` module.
Closes https://github.com/Alexays/Waybar/issues/2533
2023-09-23 21:55:18 +03: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
fbe544984c
fix: ipc vs json window addr format mismatch
...
feat: ignore empty windows
Co-authored-by: Gabriel Fox <Inbox@GabrielFox.Dev>
2023-09-22 19:16:56 -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
Roberto Previdi
69736d68aa
Update workspaces.cpp
...
Fix unchecked string to int conversion of workspace name (which can be a string)
Closes #2501
2023-09-13 18:20:13 +02:00
Alexis Rouillard
196b400abf
Merge pull request #2468 from khaneliman/persistent-rename
...
deprecate persistent_workspaces in favor of persistent-workspaces
2023-09-11 09:22:07 +02: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
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
Austin Horstman
2837b72064
fix: rename workspace active fix
2023-09-08 14:11:02 -05:00
zjeffer
6c3565c520
Add urgent icon
...
Fixes #2476
2023-09-07 19:33:56 +02:00
khaneliman
c9e1899594
refactor: deprecate instead of remove persistent_workspaces
2023-09-05 16:02:45 -05:00
khaneliman
44ac6b8044
refactor!: hyprland persistent workspaces config option name standardization
2023-09-05 16:02:19 -05:00