Hacky hack to make rofi-rbw typing less insane
There is some unknown interaction between `wtype` and `fcitx5` that prevents the keyboard from being usable after wtype exits, until fcitx5 restarts. Therefore a workaround is to use `ydotool` to type the secrets instead. However `ydotool` assumes an ANSI layout, which we cannot specifically set up with niri just yet. So instead we set up a hack, to temporarily disable fcitx & set Niri layout to ANSI right before invoking ydotool, and reverting once it's complete.
This commit is contained in:
parent
3e905fbf8f
commit
1de42e1a89
3 changed files with 28 additions and 8 deletions
|
@ -18,6 +18,14 @@ let
|
|||
|
||||
xwayland-display = ":0";
|
||||
|
||||
# Override for lack of per-keyboard layout
|
||||
ydotool-en = pkgs.writeScriptBin "ydotool" ''
|
||||
#!/usr/bin/env sh
|
||||
niri msg action switch-layout 1 && fcitx5-remote -c # us
|
||||
${lib.getExe pkgs.ydotool} "$@"
|
||||
niri msg action switch-layout 0 # ja
|
||||
'';
|
||||
|
||||
in
|
||||
{
|
||||
options.programs.my-niri = {
|
||||
|
@ -77,6 +85,7 @@ in
|
|||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.packages = [ ydotool-en ];
|
||||
programs.my-niri.workspaces = {
|
||||
# Default workspaces, always there
|
||||
"01" = {
|
||||
|
@ -158,7 +167,7 @@ in
|
|||
XDG_MENU_PREFIX = "plasma-";
|
||||
};
|
||||
input.keyboard.xkb = {
|
||||
layout = "jp";
|
||||
layout = "jp,us";
|
||||
};
|
||||
input.touchpad = lib.mkIf cfg.enableLaptop {
|
||||
tap = true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue