1
0
Fork 0
mirror of https://github.com/Zedfrigg/ironbar.git synced 2025-08-17 06:41:03 +02:00

feat(keyboard): ability to display and switch kb layout (#836)

This extends the existing `keys` module to be able to show the current keyboard layout, and cycle between layouts (using the `next` command) by clicking. The `keys` module has been renamed to `keyboard` to more accurately reflect its extended featureset.
This commit is contained in:
kuzy000 2025-02-04 00:19:30 +03:00 committed by GitHub
parent ee19176a2c
commit 03e6f10141
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 552 additions and 202 deletions

View file

@ -18,7 +18,7 @@ default = [
"focused",
"http",
"ipc",
"keys",
"keyboard+all",
"launcher",
"music+all",
"network_manager",
@ -56,7 +56,10 @@ clock = ["chrono"]
focused = []
keys = ["dep:input", "dep:evdev-rs", "dep:libc", "dep:nix"]
keyboard = ["dep:input", "dep:evdev-rs", "dep:libc", "dep:nix"]
"keyboard+all" = ["keyboard", "keyboard+sway", "keyboard+hyprland"]
"keyboard+sway" = ["keyboard", "sway"]
"keyboard+hyprland" = ["keyboard", "hyprland"]
launcher = []
@ -137,7 +140,7 @@ cairo-rs = { version = "0.18.5", optional = true, features = ["png"] }
# clock
chrono = { version = "0.4.39", optional = true, default-features = false, features = ["clock", "unstable-locales"] }
# keys
# keyboard
input = { version = "0.9.1", optional = true }
evdev-rs = { version = "0.6.1", optional = true }
libc = { version = "0.2.164", optional = true }
@ -161,10 +164,6 @@ upower_dbus = { version = "0.3.2", optional = true }
# volume
libpulse-binding = { version = "2.28.2", optional = true }
# workspaces
swayipc-async = { version = "2.0.1", optional = true }
hyprland = { version = "0.4.0-alpha.3", features = ["silent"], optional = true }
# shared
futures-lite = { version = "2.6.0", optional = true } # network_manager, upower, workspaces
nix = { version = "0.29.0", optional = true, features = ["event", "fs", "poll"] } # clipboard, input
@ -172,6 +171,8 @@ regex = { version = "1.11.1", default-features = false, features = [
"std",
], optional = true } # music, sys_info
zbus = { version = "3.15.2", default-features = false, features = ["tokio"], optional = true } # network_manager, notifications, upower
swayipc-async = { version = "2.0.1", optional = true } # workspaces, keyboard
hyprland = { version = "0.4.0-alpha.3", features = ["silent"], optional = true } # workspaces, keyboard
# schema
schemars = { version = "0.8.21", optional = true }