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
Erik Reider
ace319b515
Updated default CSS to include the privacy module
2023-10-26 23:44:04 +02:00
Erik Reider
e73ea8d608
Fixed cases where the module would be hidden when it should be visible
2023-10-26 23:37:10 +02:00
Erik Reider
f7224d8459
Initial implementation
2023-10-26 23:22:02 +02:00
Tamino Bauknecht
7d8c1494d7
cpu_usage: Fix ScopeGuard renaming in bsd-only file
2023-10-26 17:30:48 +02:00
Crom (Thibaut CHARLES)
02c64f3f1e
Moved all waybar info into a single struct
2023-10-24 20:16:50 +02:00
Crom (Thibaut CHARLES)
d86059016e
Send update dispatcher though FFI
2023-10-24 20:16:50 +02:00
Crom (Thibaut CHARLES)
088ca6b963
Added cffi/* module for third-party advanced modules
2023-10-24 20:16:50 +02:00
Crom (Thibaut CHARLES)
6ae354f564
PoC
2023-10-24 20:16:23 +02:00
Tamino Bauknecht
68dfd6aa3a
scope_guard/modules: Rename scope_guard to ScopeGuard
...
Using pascal case for the class name keeps it more consistent with the
majority of the other class names.
2023-10-24 17:51:38 +02:00
Tamino Bauknecht
dd1de3efbf
Revert "Revert "Fix potential memory leaks""
...
This reverts commit 2d33c20231
and
reapplies various patches for memory leaks.
The reason for the revert was a bug for a maximum duration interval
which caused sleep_for() to cause unpredictable behavior.
2023-10-24 17:51:38 +02:00
Brenno Lemos
4aee5977d6
fix: set workspace as persistent on create_workspace
2023-10-23 21:07:37 -03:00
Alexis Rouillard
f2085fcd92
Merge pull request #2592 from zjeffer/hyprland/workspaces
...
General cleanup in hyprland/workspaces
2023-10-23 08:45:52 +02:00
Alexis Rouillard
9ecdbcc7bc
Merge pull request #2596 from rehanzo/master
2023-10-22 09:46:35 +02:00
Alexis Rouillard
2d33c20231
Revert "Fix potential memory leaks"
2023-10-22 09:44:46 +02:00
Rehan
5963bf6ace
modules/mpris: change default interval value to 0
2023-10-21 18:14:46 -04: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
7576611782
formatting
2023-10-21 17:06:02 +02:00
zjeffer
ed65d9cdbd
General cleanup in hyprland/workspaces
2023-10-21 16:52:23 +02:00
Alexis Rouillard
dbb887b4a9
Merge pull request #2585 from davxy/master
...
Show the network interface with highest priority (aka lower metric)
2023-10-21 14:10:21 +02:00
Tamino Bauknecht
ae748b2644
modules+util: fix actual (potential) memory leaks
2023-10-21 11:51:33 +02:00
Tamino Bauknecht
a0b63d6b1e
modules: use scope_exit for deletion to make code more robust
2023-10-21 11:51:18 +02:00
Tamino Bauknecht
89e85db790
ALabel: make use of std::chrono::max() instead of magic number
2023-10-21 11:50:38 +02:00
Tamino Bauknecht
a73669be6a
modules/upower: use smart pointer to avoid memory leak
2023-10-21 11:50:28 +02:00
Alexis Rouillard
eefd6e8336
Merge pull request #2578 from Syndelis/fix/hyprland-windows-disappearing
2023-10-20 10:24:56 +02:00
Davide Galassi
6829ed1bb4
Different interfaces have different index
2023-10-20 08:25:28 +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
Alex
871f9a1269
fix: revert clock
2023-10-18 08:45:56 +02:00
Alex
5319cb6e10
fix: upower hidded on start
2023-10-17 20:12:24 +02:00
Alex
208928ded5
fix: lint
2023-10-17 19:29:06 +02:00
Alexis Rouillard
4d7eb3bd15
Merge pull request #2515 from chrisjshore/clock_fix
...
fix clock to work with fmt 10.x
2023-10-17 19:25:58 +02:00
Alexis Rouillard
6b73e2aa58
Merge pull request #2114 from mmhat/split-cpu-module
...
Split cpu module
2023-10-17 19:25:29 +02: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
Brenno Lemos
ecbcf242d5
feat: allow unmuting by moving the pulseaudio slider
2023-10-15 17:52:12 -03:00
Brenno Lemos
fd3710d869
chore: suppress compiler warning
2023-10-15 17:52:12 -03:00
Brenno Lemos
11d7ca1d73
feat: backlight slider
2023-10-15 17:52:12 -03:00
Brenno Lemos
c3779dd16e
refactor: move backlight backend out of backlight module
2023-10-15 17:52:12 -03:00
Brenno Lemos
442a4b0da0
feat: pulseaudio slider module
2023-10-15 17:52:12 -03:00
Brenno Lemos
c9e129cda2
feat: allow setting volume directly
2023-10-15 17:52:12 -03:00
Brenno Lemos
64d7fae03a
refactor: move pulseaudio handling to separate class
2023-10-15 17:52:12 -03:00
Alexis Rouillard
44d8245605
Merge pull request #2560 from akshettrj/mpris-click-fix
2023-10-15 21:26:33 +02:00
Alexis Rouillard
93daf089b5
Merge pull request #2574 from Syndelis/feat/group-drawers
2023-10-15 21:26:04 +02:00
Alexis Rouillard
7645ae1907
Merge pull request #2563 from Syndelis/feat/hyprland-window-rename-by-title
2023-10-15 21:21:32 +02:00
Alexis Rouillard
3d496c2200
Merge pull request #2554 from mutoroglin/cava-hide-on-silence
2023-10-15 21:19:17 +02:00
Brenno Lemos
05b97e9ec2
fix: add hover handler to every element in the group drawer
2023-10-14 22:13:01 -03:00
Brenno Lemos
5a380da3bb
chore: remove redundant else statement
2023-10-14 18:39:42 -03:00
Brenno Lemos
5e44cb6ba2
refactor: move signal handler adding into separate method
...
fix: typo in handleMouseHover method name
2023-10-14 18:30:27 -03:00
Brenno Lemos
fad858782c
feat: improve drawer configuration
2023-10-14 18:24:50 -03:00
Brenno Lemos
5246ab15cb
feat: add drawer bool option to group
2023-10-14 17:17:52 -03:00
Brenno Lemos
bbb7fb0c82
refactor: don't use a group's box directly in bar
2023-10-14 13:23:11 -03: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
f8340d88be
chore: lint unrelated file
...
this file was edited in #2558 but not linted
2023-10-09 15:26:07 -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
Akshett Rai Jindal
1af02e0a67
fix(modules/mpris): fix on-*-click typos
...
In all other places, the norm is to use `on-click-(middle|right)` but in
the mpris module, `on-(middle|right)-click` was being used which caused
clicks to malfunction if set to some custom commands
2023-10-09 11:48:49 +05:30
SWarrener
c16e791cdc
Adding options to allow disk outputs to always be in a specific unit
2023-10-08 16:24:50 +01:00
Christopher Shore
fbd62e0071
Merge branch 'Alexays:master' into clock_fix
2023-10-07 18:39:56 -04:00
Joerg Weislogel
1eb0777799
add function to cava module to hide on silence
2023-10-07 12:50:24 +02: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
Brenno Lemos
1b98a04c93
chore: lint unrelated files so the CI passes
2023-10-02 12:33:28 -03: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
Alexis Rouillard
6997b34a81
Merge pull request #2517 from an-prata/master
...
Lighter Weight Signal-Based Custom Modules
2023-09-21 23:48:22 +02:00
Alexis Rouillard
5960e8f1ee
Merge pull request #2518 from idm1try/fix-bl-asahi
...
fix(backlight): wrong percentage numbers for device apple-panel-bl
2023-09-21 23:47:23 +02:00
idm1try
81ffeebfb1
fix: style
...
Co-authored-by: Alexis Rouillard <alexisr245@gmail.com>
2023-09-21 09:03:13 +05:00
idm1try
388c024298
fix(backlight): wrong percentage numbers for device apple-panel-bl
2023-09-19 18:50:39 +05:00
Alexis Rouillard
9b8adc1951
Merge pull request #2494 from KanuX-14/battery_fix
...
Fix battery not showing for some devices
2023-09-19 13:33:35 +02:00
Evan Overman
bf371f70d1
add `waitingWorker()` to `Custom`
2023-09-18 14:56:14 -07:00
Christopher Shore
14820e5d18
fix clock to work with fmt 10.x
2023-09-17 16:32:19 -04:00
Mann mit Hut
80a34eec81
Fixed formatting again
2023-09-13 23:25:39 +02:00
Mann mit Hut
d5203e5b37
Fixed cpu module: Provide stub implementation for parseCpuFrequencies
2023-09-13 23:12:35 +02:00
Mann mit Hut
91b6629103
Fixed format errors
2023-09-13 21:59:42 +02:00
Mann mit Hut
93d66a9258
Moved cpu/common.cpp to cpu.cpp
2023-09-13 21:56:37 +02:00
Mann mit Hut
8d7341da6e
cpu module: Reuse getLoad of load module
2023-09-13 21:56:37 +02:00
Mann mit Hut
d1602e383c
cpu module: Reuse getCpuUsage of cpu_usage module
2023-09-13 21:56:36 +02:00
Mann mit Hut
c45f6681b3
cpu module: Reuse getCpuFrequency of cpu_frequency module
2023-09-13 21:56:35 +02:00
Mann mit Hut
dce6a98f38
Added changes made to the cpu module
2023-09-13 21:56:34 +02:00
Mann mit Hut
982ffde002
Use labels instead of buttons
2023-09-13 21:56:33 +02:00
Mann mit Hut
888adb57ec
Introduce cpu_usage module
2023-09-13 21:56:32 +02:00
Mann mit Hut
c36fe3a004
Introduce cpu_frequency module
2023-09-13 21:56:31 +02:00
Mann mit Hut
729564cc27
Introduced separate load module
...
The module provides the three system load averages. This is an
improvement compared what you can do with the cpu module: cpu
only provides the one minute sample and the state of the cpu module is
derived from the cpu usage which messes up the formating of the load
average. Also, at least on modern Linux systems, the load of a system
takes much more than the cpu utilization into account and it should
therefore live in a separate module.
2023-09-13 21:56:30 +02: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
fc67558717
Merge branch 'master' into darkmode
2023-09-11 09:25:45 +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
KanuX-14
1ff4464b2f
Use adapter status if battery status is inexistent
2023-09-10 15:16:43 -03:00
KanuX-14
60611e9c2b
Fix battery not showing for some devices
...
Adds 'bat-compatibility' boolean checking from configuration file.
2023-09-10 14:41:40 -03:00
Austin Horstman
79cf33b9f1
refactor: enumparser create implementation file
2023-09-09 17:59:40 -05: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
Calvin Lee
9bb2c01a44
clean up client.cpp
2023-09-07 13:43:59 +00:00
Calvin Lee
09873f0ed9
search for dark or light mode stylesheet
...
summary:
-------
This commit adds xdg-desktop-portal support to waybar. If a portal
supporting `org.freedesktop.portal.Settings` exists, then it will be
queried for the current colorscheme. This colorscheme will then be used
to prefer a `style-light.css` or `style-dark.css` over the basic
`style.css`.
technical details:
-----------------
Appearance is provided by several libraries, such as libhandy (mobile)
and libadwaita. However, waybar links to neither of these libraries. As
the amount of code required to communicate with xdg-desktop portal as a
client is rather minimal, I believe doing so is better than linking to
an additional library.
The Gio library for communicating with dbus is rather messy, Instead of
the `Portal` class containing a `Gio::Dbus::Proxy`, it extends it which
simplifies signal handling.
`Portal` then exposes its own signal, which can be listened to by waybar
to update CSS.
For a reference implementation, please see another one of my projects:
https://github.com/4e554c4c/darkman.nvim/blob/main/portal.go
test plan:
---------
If no desktop portal which provides `Settings` exists, then waybar
continues with the log line
```
[2023-09-06 14:14:37.754] [info] Unable to receive desktop appearance: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Settings” on object at path /org/freedesktop/portal/desktop
```
Furthermore, if `style-light.css` or `style-dark.css` do not exist, then
`style.css` will still be searched for.
Waybar has been tested with both light and dark startup. E.g. if the
appearance is dark on startup the log lines
```
[2023-09-06 14:27:45.379] [info] Discovered appearance 'dark'
[2023-09-06 14:27:45.379] [debug] Try expanding: $XDG_CONFIG_HOME/waybar/style-dark.css
[2023-09-06 14:27:45.379] [debug] Found config file: $XDG_CONFIG_HOME/waybar/style-dark.css
[2023-09-06 14:27:45.379] [info] Using CSS file /home/pounce/.config/waybar/style-dark.css
```
will be observed.
If the color then changes to light during the operation of waybar, it
will change css files:
```
[2023-09-06 14:28:17.173] [info] Received new appearance 'dark'
[2023-09-06 14:28:17.173] [debug] Try expanding: $XDG_CONFIG_HOME/waybar/style-light.css
[2023-09-06 14:28:17.173] [debug] Found config file: $XDG_CONFIG_HOME/waybar/style-light.css
[2023-09-06 14:28:17.173] [info] Using CSS file /home/pounce/.config/waybar/style-light.css
```
Finally, tested resetting waybar and toggling style (works, and style is
only changed once).
fixes : Alexays/Waybar#1973
2023-09-06 15:19:56 +00:00
khaneliman
c9e1899594
refactor: deprecate instead of remove persistent_workspaces
2023-09-05 16:02:45 -05:00
khaneliman
b405dc436c
refactor!: wlr persistent workspaces config rename
2023-09-05 16:02:22 -05:00
khaneliman
4a6c1269fb
refactor!: sway persistent workspaces config name rename
2023-09-05 16:02:21 -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
Alexis Rouillard
6f66af9ab9
Merge pull request #2134 from bruceblore/battery-weighted-percentage
...
Display battery percentage as weighted average of battery levels
2023-09-04 22:01:40 +02:00
Alexis Rouillard
2d27e484c7
Merge pull request #2417 from Cherser-s/sni-click-coordinate-fix
...
sni: fix passing relative coordinates to dbus methods
2023-09-04 22:01:04 +02: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
Alexis Rouillard
82b7e4ea01
Merge pull request #2414 from KosmX/add_release_v2
...
Release button event second attempt
2023-09-01 09:08:23 +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
Cherser-s
65dfabc430
sni: fix passing relative coordinates to dbus methods
...
Doesn't correctly handle the case with both margin and width/height being set at the same time.
2023-08-25 20:37:16 +03:00
Cherser-s
936937ec78
store margins and global window offset in the bar object
2023-08-25 20:37:14 +03: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
asas1asas200
54a6668846
feat(keyboard-state): add binding-keys options
2023-08-20 08:33:34 +08:00
KosmX
392e863e6d
Apply formatting
2023-08-16 17:33:36 +02:00
KosmX
2ff347f9a8
Add handleRelease method to release events
...
This commit shouldn't change the handleToggle behaviour,
it shouldn't break anything.
2023-08-16 17:14:49 +02:00
KosmX
718db71638
Refactor enable click condition
...
This shouldn't change behaviour.
2023-08-16 17:11:44 +02:00
Alexis Rouillard
0a28b50a8c
Merge pull request #2413 from PucklaJ/bluetooth-no-controller
...
Add format-no-controller to bluetooth module and fix it still being visible if the format string is empty
2023-08-16 17:08:48 +02:00
PucklaJ
70bc318a01
Fix bluetooth module still being visible if format is empty
2023-08-16 16:30:59 +02:00
PucklaJ
22817089db
Add no-controller format to bluetooth module
2023-08-16 15:34:06 +02:00
Jan Palus
abd7a0cf25
Fix simpleclock module compilation with recent fmt
...
both `format_` and `tooltip_format` are dynamically provided formats so
wrap them in `fmt::runtime()`
2023-08-16 14:32:48 +02:00
Alex
b5ea14c896
revert: release event
2023-08-16 13:31:24 +02:00
Alexis Rouillard
5b33a5917c
Merge pull request #2404 from eltociear/master-1
...
fix: typo in taskbar.cpp
2023-08-16 08:55:33 +02:00
Jan Palus
c8237437d2
Explicitly cast ustring to string when passing to fmt
...
don't rely on implicit conversion which is no longer present in fmt
10.1.0
Fixes #2403
2023-08-15 20:57:07 +02:00
Ikko Eltociear Ashimine
57544fe694
fix: typo in taskbar.cpp
...
ocurred -> occurred
2023-08-15 00:45:09 +09:00
Alex
db1d859881
fix: lint
2023-08-14 14:20:08 +02:00
Alexis Rouillard
2c7bbe9852
Merge pull request #2393 from zjeffer/hyprland/fixes
...
Hyprland/workspaces: use named icons instead of searching by id
2023-08-14 11:46:55 +02:00
KosmX
3db5673e70
register key hander
2023-08-13 18:48:23 +02:00