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
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
xercesblue
d40ccd0da8
modules/hyprland: Fix segfault when attempting to set_urgent on a missing workspace
2023-09-04 16:57:00 -07:00
Austin Horstman
4cb8efbecc
chore: cpplint fixes hyprland classes
2023-09-03 00:18:31 -05:00
Austin Horstman
8fc4187713
refactor: replace strcpy with snprintf
2023-09-02 23:56:06 -05:00
Alexis Rouillard
8eb614f69e
Merge pull request #2438 from khaneliman/hyprland-workspace-array
...
hyprland persistent workspace support new config declaration
2023-09-01 09:10:23 +02:00
Alexis Rouillard
347dd1c799
Merge pull request #2431 from zjeffer/fix/persistent-workspace-icon
...
hyprland/workspaces: Add "empty" icon and class
2023-09-01 09:09:32 +02:00
PucklaJ
a18b41911d
hyprland/workspaces: Show workspace on all outputs if an empty array is given
...
This behaviour is consistent with sway/workspaces and wlr/workspaces
2023-08-30 13:35:19 +02:00
Austin Horstman
52309615c1
hyprland new persistent_workspace configuration style
2023-08-29 00:11:25 -05:00
zjeffer
06a9f98878
hyprland/workspaces: Add "empty" icon and class
2023-08-24 21:19:20 +02:00
Austin Horstman
ee4fbc58f7
hyprland add urgent ipc support
2023-08-23 12:52:29 -05:00
zjeffer
6f7e7c5199
formatting
2023-08-10 20:37:42 +02:00
zjeffer
2ba11e8401
Hyprland/workspaces: use named icons instead of searching by id
2023-08-10 20:09:30 +02:00
Marshall Moats
e40860c3e9
keep id
2023-08-08 17:17:58 -05:00
Marshall Moats
2bcd0eb09f
Change default workspace format
2023-08-02 16:02:50 -05:00
Marshall Moats
ce2ede70f2
Fix logical errors, formatting error
2023-08-01 15:55:37 -05:00
zjeffer
600653538b
Persistent workspaces in hyprland/workspaces
2023-07-30 11:47:37 +02:00
MisterPine
2b07dea3a6
Fix broken start behavior for `hyprland/window`
2023-07-29 00:30:33 +02:00
MightyPlaza
c71c0fca6e
fix typo
2023-07-25 14:48:20 +00:00
Alexis Rouillard
c087d8c318
Merge pull request #2316 from MightyPlaza/workspaces
...
hyprland/workspaces improvements
2023-07-24 13:40:23 +02:00
Alexis Rouillard
839975c348
Merge pull request #2318 from calvinchd/hyprland-window-remove-empty-css
...
hyprland/window remove duplicate empty css
2023-07-18 08:22:27 +02:00
MightyPlaza
24d56023fd
last fixes
2023-07-17 22:38:58 +00:00
czM1K3
b2279c9565
Differencing keyboard layout variant for hyprland/language
2023-07-17 22:20:50 +02:00
MightyPlaza
52906407af
Merge pull request #3 from zjeffer/pr-fixes
...
Some more small improvements
2023-07-17 14:27:38 +00:00
zjeffer
2721e19ee6
small improvements
2023-07-17 16:22:59 +02:00
MightyPlaza
2d0fdaeec6
special fix
2023-07-16 18:22:14 +00:00
MightyPlaza
96a8e5df83
Merge branch 'Alexays:master' into workspaces
2023-07-16 13:19:24 +00:00
Calvin Chu
0f6eff1f20
hyprland: fix json parser runtime err from socket read ending early
2023-07-16 22:18:27 +10:00
Calvin Chu
2be0e966e1
hyprland/window: remove .empty css class for #window
2023-07-16 16:40:54 +10:00
MightyPlaza
2bfc0e1da6
moves createWorkspace to update()
2023-07-16 01:49:46 +00:00
MightyPlaza
5f0fa71f32
moves createWorkspace to update()
2023-07-16 01:43:25 +00:00
MightyPlaza
ca0122c3cb
workspaces.cpp
2023-07-16 01:18:41 +00:00
zjeffer
f3df15650a
use IPC for click events, clang-tidy fixes
2023-07-15 23:48:12 +02:00
MightyPlaza
52983c7188
workspaces.cpp
2023-07-15 17:43:22 +00:00
gardenapple
daca57129f
hyprland/window: rename .hidden to .swallowing (and fix grouped windows)
2023-07-12 19:01:45 +03:00
gardenapple
14c6550593
hyprland/window: Fix overlap with .hidden class from default style
2023-07-12 17:56:12 +03:00
MisterPine
a8a1a4985f
Add removed secondary identifier
...
(class for xwayland under sway)
2023-07-10 23:48:18 +02:00
MisterPine
00e143d47e
Introducce AAppIconLabel class
...
Implemented for hyprland
2023-07-10 22:50:58 +02:00
MisterPine
6e9ba3fc01
Fix spacing if icon is false
2023-07-10 22:26:02 +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
9ee883ee1b
No dashes is format arg name
2023-07-08 23:11:11 +02:00
MisterPine
2ae13c4092
consitent naming
2023-07-08 22:40:16 +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
Calvin Chu
e2bfa5e019
hyprland/window: fix no info with separate-outputs=true
2023-07-06 11:01:24 +10: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
gardenapple
e125bbeb4d
hyprland/window: properly check visibility for .floating class
2023-07-05 03:43:03 +03:00
zjeffer
d3be9a7363
Fix rare segfault when destroying workspace
2023-07-04 19:40:43 +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
gardenapple
cdece498c1
hyprland/window: .solo class accounts for hidden & fullscreen windows
2023-07-02 20:58:42 +03:00
zjeffer
f6a62e258e
fixes for hyprland/workspaces
2023-07-01 18:53:17 +02:00
dmitry
4f9fbbfa54
fix format
2023-07-01 02:25:15 +03:00
dmitry
887c44bf68
finish MVP
2023-07-01 00:18:57 +03:00
dmitry
33236c222f
save
2023-06-28 02:52:01 +03:00
dmitry
afc489869a
fix format
2023-06-27 00:18:49 +03:00
Alexis Rouillard
7cda2dfd1a
Merge pull request #2245 from gardenappl/main
...
hyprland/window: Add CSS customization similar to sway/window
2023-06-20 13:22:12 +02:00
gardenapple
b163b21ace
More robust Hyprland backend
2023-06-20 13:36:48 +03:00
gardenapple
30c4f08773
hyprland/window: Correct application of .solo class
2023-06-20 03:54:02 +03:00
gardenapple
fd7c2a2012
hyprland/language: Show language on startup
2023-06-20 00:43:33 +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
Calvin Chu
17a56aa4f7
hyprland/window: use empty() for empty window name check
2023-06-03 12:29:36 +10:00
Calvin Chu
a3912436be
hyprland/window: add css class for empty label
2023-06-01 21:38:27 +10:00
Enes Hecan
f00602058c
Fix misinterpreting return value of getaddrinfo call which caused an early return for Hyprland language
2023-04-23 13:31:02 +02:00
Alex
a9a2223469
fix: lint
2023-04-17 09:09:13 +02:00
Alex
5e5569bb10
Merge pull request #1858 from uncomfyhalomacro/replace-gethostbyname-getaddrinfo
2023-04-17 09:05:35 +02:00
Alex
1445dc4151
fix: lint
2023-04-03 10:06:01 +02:00
Alex
a6084ea7e6
Merge pull request #2068 from TheRealLorenz/master
2023-04-03 09:44:04 +02:00
TheRealLorenz
63525ec956
Rename function name
2023-03-25 17:33:01 +01:00
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
Oleksandr Kulkov
220b859948
Fix kbName initialization
...
Second argument of substr is the length of the substring, _not_ the position. With positions, it's better to do like this.
Example:
```sh
[2023-01-29 13:08:00.927] [debug] hyprland IPC received activelayout>>ITE Tech. Inc. ITE Device(8910) Keyboard,Russian (with Ukrainian-Belorussian layout)
[2023-01-29 13:08:00.927] [debug] kbName is ITE Tech. Inc. ITE Device(8910) Keyboard,Russian (with
```
After the fix it's correct:
```sh
[2023-01-29 13:11:11.408] [debug] hyprland IPC received activelayout>>ITE Tech. Inc. ITE Device(8910) Keyboard,Russian (with Ukrainian-Belorussian layout)
[2023-01-29 13:11:11.408] [debug] kbName is ITE Tech. Inc. ITE Device(8910) Keyboard
```
2023-01-29 13:14:05 +01:00
Enes Hecan
3c8ca009ff
Sanitize hyprland language string only instead of the whole format. Fixes #1940
2023-01-23 09:50:40 +01:00
Aleksei Bavshin
ea17a66dfc
fix: compilation errors with cpp_std=c++20
...
There were two main issues with fmtlib and C++20 mode:
- `fmt::format` defaults to compile-time argument checking and requires
using `fmt::runtime(format_string)` to bypass that.
- `std::format` implementation introduces conflicting declarations and
we have to specify the namespace for all `format`/`format_to` calls.
2023-01-20 22:50:02 -08:00
Maxim Baz
6e9f21fc6b
hyprland/submap: run initial render on startup
2023-01-20 23:40:08 +01:00
Enes Hecan
f724cc3f9d
Fix wrong layout name in hyprland language module when a variant is used
2022-12-27 15:29:10 +01:00
Enes Hecan
c05f41d732
Make linter happy
2022-12-21 01:55:39 +01:00
Enes Hecan
4d59de42af
Implement hyprland submap module
2022-12-21 01:45:57 +01:00
Enes Hecan
4136ffaecb
Minor refactorings and formatting fixes for hyprland language module
2022-12-16 10:01:58 +01:00
Enes Hecan
531bdfb8bb
Fix hyprland language initialization issues
2022-12-15 01:48:14 +01:00
Soc Virnyl S. Estela
55d7868f86
fix(2): use getaddrinfo() instead of gethostbyname()
2022-12-02 22:18:32 +08:00
Soc Virnyl S. Estela
0540977e45
format: remove some newlines
2022-12-02 21:42:58 +08:00
Soc Virnyl S. Estela
385726e701
fix: use getaddrinfo() instead of gethostbyname()
2022-12-02 21:36:14 +08:00
Oleksandr Kulkov
459541ed89
Don't search "Keyboard at" from hyprland/language
...
The current output form of `hyprctl devices` is like this:
```
Keyboard at 6f80ad70:
ITE Tech. Inc. ITE Device(8910) Keyboard
rules: r "", m "", l "us,ru", v "", o "grp:alt_shift_toggle"
active keymap: Russian
main: no
```
That is, `Keyboard at` goes _before_ the keyboard name, so looking for `Keyboard at` only makes it skip to the keyboard _after_ the one that the user specified.
2022-11-29 01:11:25 +01:00
Simon Plakolb
5e9bbe5c76
modules: Revert button to label
2022-11-24 13:08:16 +01:00
herlev
2c7cb0e9d4
Fix crashes when using named workspaces in Hyprland
...
The first crash occurs when trying to parse the
ID of a workspace as an uint, since named
workspaces has negative IDs. This is fixed by
using ints for workspace IDs instead of uints.
The second crash occurs when converting a
workspace name that isn't a number to an integer.
This is fixed by wrapping std::stoi in a try
block and only sorting by number, when both names
can successfully be converted to integers.
2022-11-24 02:16:44 +01:00