From 2c27d580f46650e27e0414aa66ff408d3e280d40 Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Sat, 18 Jan 2025 18:40:08 -0500 Subject: [PATCH] Add a mode to force focus a window. --- nix/configuration/roles/sway/default.nix | 1 + nix/configuration/roles/sway/force_focus.nix | 27 ++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 nix/configuration/roles/sway/force_focus.nix diff --git a/nix/configuration/roles/sway/default.nix b/nix/configuration/roles/sway/default.nix index c7ba2a9..e6621c0 100644 --- a/nix/configuration/roles/sway/default.nix +++ b/nix/configuration/roles/sway/default.nix @@ -262,6 +262,7 @@ in ./rofimoji.nix ./lockscreen.nix ./screenshot.nix + ./force_focus.nix ]; options.me.swayIncludes = lib.mkOption { diff --git a/nix/configuration/roles/sway/force_focus.nix b/nix/configuration/roles/sway/force_focus.nix new file mode 100644 index 0000000..28bf8c8 --- /dev/null +++ b/nix/configuration/roles/sway/force_focus.nix @@ -0,0 +1,27 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + force_focus_sway_config = pkgs.writeTextFile { + name = "force_focus.conf"; + text = '' + mode "force focus" { + bindsym $mod+Shift+Escape fullscreen; mode "default" + } + bindsym $mod+Shift+f fullscreen; mode "force focus" + ''; + }; +in +{ + imports = [ ]; + + config = lib.mkIf config.me.graphical { + me.swayIncludes = [ + force_focus_sway_config + ]; + }; +}