3个版本 (稳定版)
1.0.1 | 2022年9月19日 |
---|---|
1.0.0 | 2022年3月28日 |
0.1.0 | 2022年3月28日 |
#674 in 硬件支持
16KB
63 行
klavaro
将当前键盘布局(xkb_active_layout
)保存到Sway上的文件。与i3status
一起使用很有用。
$ klavaro --help
Print the current xkb_layout in sway.
The default output file is `/tmp/.xkb_lingvo'
USAGE:
klavaro [OUTPUT_FILE]
安装
本地
安装到 $HOME/.cargo/bin/klavaro
cargo install klavaro
全局
安装到 /usr/local/bin/klavaro
sudo -E cargo install --root /usr/local klavaro
i3status
您可以在i3status
中以这种方式打印当前Sway键盘布局
~/.i3status.conf
order += "read_file keyboard"
read_file keyboard {
path = "/tmp/.xkb_lingvo"
color_good = "#FFFFFF"
}
但是,klavaro
程序必须已经运行,这可以通过以下方式通过systemd
用户服务来实现。
SystemD用户服务
由于sway
是一个用户进程,因此必须使用systemd 用户服务来成功获取SWAYSOCK
。
这是所需的service文件
/etc/systemd/user/klavaro.service
[Unit]
Description=klavaro
[Service]
Type=simple
ExecStart=/usr/local/bin/klavaro
Restart=always
RestartSec=1s
[Install]
WantedBy=multi-user.target
然后可以启动服务
systemctl --user enable klavaro # Schedule klavaro on startup.
systemctl --user start klavaro # Start klavaro immediately.
swaymsg
这基本上等同于(但比它muuch更高效)
swaymsg -r -t subscribe -m '["input"]' \
| jq '.input.xkb_active_layout_name'
并将结果保存到文件中。
依赖项
~0.8–1.7MB
~37K SLoC