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
Jef Steelant
9f0a14c22b
make linter happy
2022-11-10 09:19:49 +01:00
Jef Steelant
8f4f67f69f
Do not crash when a monitor is removed
2022-11-09 09:34:19 +01:00
herlev
e1045381fe
Fix linter
2022-10-19 13:30:28 +02:00
herlev
54e04b5a30
Refactor rewriteTitle
2022-10-19 13:25:08 +02:00
herlev
f72c1a54d3
Merge branch 'Alexays:master' into hyprland-window-rewrite
2022-10-19 12:18:22 +02:00
ItsDrike
90f206f92a
Fix crash on quickly switching workspaces
...
The hyprland/window widget had an assertion ensuring that the output
from hyprctl matched the currently selected workspace id. However this
assertion fails if workspaces are switched too quickly, causing the
selected workspace to differ in id from the one in hyprctl, failing this
assertion which then crashes the entire program.
This fix simply changes this assertion into an if statement, and if a
mismatch is found, empty string is returned as the window name.
2022-10-18 18:36:00 +02:00
herlev
97ae2ff343
Add rewrite option to hyprland/window
2022-10-18 13:18:43 +02:00
Alex
6e73c58e60
fix: lint
2022-10-18 09:01:45 +02:00
herlev
56ec72c31c
Merge branch 'master' into master
2022-10-17 09:44:17 +02:00
Alex
bfa3adcfd6
Merge pull request #1120 from pinselimo/use_gtk_button_v2
2022-10-17 09:09:12 +02:00
Mika Braunschweig
f86dff60e6
utils: add sanitize_str to encode '&' etc.
...
gtk requires some chars (<>&"') to be encoded for them to render
properly. `sanitize_str` sanitizes raw strings that have such chars and
returns a properly encoded string
2022-10-17 00:31:19 +02:00
herlev
cf9d98a0be
remove <optional> dependency
2022-10-13 23:49:41 +02:00