Commit Graph

153 Commits

Author SHA1 Message Date
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
herlev 015409acaf Allow hyprland/window to show active window on a per monitor basis 2022-10-13 23:41:56 +02:00
Simon Plakolb b8322c4b4b button: Add AButton class
The AButton class is designed as full a substitute to ALabel. The
GtkButton attribute 'button_' is initialized with a label. This
label can the be referenced by the subsequent inheritors of AButton
instead of the GtkLabel attribute 'label_' of ALabel.
For convenience a GtkLabel* 'label_' attribute is added to AButton.

If the button cannot be clicked it is disabled, effectively acting
like its label predecessor.

GtkButton seems to catch one-click mouse events regardless of the
flags set on it. Therefore, 'signal_pressed' is connected to a
function creating a fake GdkEventButton* and calling 'handleToggle'
(for details on this possible bug in GTK see:
https://stackoverflow.com/questions/45334911 )

In accordance with other GtkButtons (i.e. the sway/workspace ones)
set_relief(Gtk::RELIEF_NONE) is called on the 'button_' instance.
2022-10-12 10:25:29 +02:00
vaxerski 39c170bf10 remove one comment that I forgot to 2022-08-18 19:13:24 +02:00
vaxerski ed6467e785 fix linter 2022-08-18 19:02:46 +02:00
vaxerski 43c3ca1d38 added the thing i was talking about 2022-08-18 18:59:34 +02:00
vaxerski 8881b9a6ef fix linter the most 2022-08-18 18:06:34 +02:00
vaxerski e8942feefc fix linter more 2022-08-18 18:05:40 +02:00
vaxerski a23d58e900 fix linter 2022-08-18 18:04:39 +02:00
vaxerski 16d5619f3b added a basic hyprland/language module 2022-08-18 18:00:27 +02:00
vaxerski e2e59a52df make the linter happy 2022-08-17 22:03:49 +02:00
vaxerski 123ed36739 remove workspaces module as its buggy and unnecessary 2022-08-17 21:58:33 +02:00
vaxerski c64058c947 stabilize window module 2022-08-17 21:54:23 +02:00