Commit Graph

62 Commits

Author SHA1 Message Date
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