diff --git a/home/applications/sway/default.nix b/home/applications/sway/default.nix index 74ea1f4..d5d7151 100644 --- a/home/applications/sway/default.nix +++ b/home/applications/sway/default.nix @@ -21,6 +21,9 @@ in { ../mako ../swayidle ../swaylock + + # FIXME: hack + ./unset-im-module.nix ]; home.sessionVariables = { @@ -35,17 +38,11 @@ in { # remove csd window buttons # https://github.com/localsend/localsend/blob/2457acd8a7412723b174672d174e4853dccd7d99/app/linux/my_application.cc#L45 home.sessionVariables.GTK_CSD = 0; - dconf.settings."org/gnome/desktop/wm/preferences"."button-layout" = "icon,appmenu:"; + dconf.settings."org/gnome/desktop/wm/preferences"."button-layout" = "appmenu:"; services.cliphist.enable = true; services.udiskie.enable = true; - home.sessionVariables = { - # NOTE: don't use "wayland" in GTK_IM_MODULE! it will crash X11 electron apps - GTK_IM_MODULE = lib.mkForce ""; # use text-input-v3 - QT_IM_MODULE = lib.mkForce ""; # use text-input-v3 - }; - wayland.windowManager.sway = { enable = true; checkConfig = false; # wtf? diff --git a/home/applications/sway/unset-im-module.nix b/home/applications/sway/unset-im-module.nix new file mode 100644 index 0000000..34cc0aa --- /dev/null +++ b/home/applications/sway/unset-im-module.nix @@ -0,0 +1,5 @@ +{lib, ...}: { + options.home.sessionVariables = lib.mkOption { + apply = x: removeAttrs x ["QT_IM_MODULE" "GTK_IM_MODULE"]; + }; +}