aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/modules/workstation/ui/i3/core/tools/i3-move.nix
diff options
context:
space:
mode:
authorMx Kookie <kookie@spacekookie.de>2020-12-21 13:17:20 +0100
committerMx Kookie <kookie@spacekookie.de>2020-12-22 20:42:17 +0100
commit9a10d19ced763cccf64aa662fd3bc0fa811ce3af (patch)
tree101d0ec1983f5b3730de7549fa7dc971f720f1a7 /infra/libkookie/modules/workstation/ui/i3/core/tools/i3-move.nix
parenta3be97011845fefd94d0ec926448629f8f5e5cac (diff)
libkookie: i3: adding module, configurations, and tempest config
Diffstat (limited to 'infra/libkookie/modules/workstation/ui/i3/core/tools/i3-move.nix')
-rw-r--r--infra/libkookie/modules/workstation/ui/i3/core/tools/i3-move.nix17
1 files changed, 17 insertions, 0 deletions
diff --git a/infra/libkookie/modules/workstation/ui/i3/core/tools/i3-move.nix b/infra/libkookie/modules/workstation/ui/i3/core/tools/i3-move.nix
new file mode 100644
index 000000000000..1ba4a45bcab6
--- /dev/null
+++ b/infra/libkookie/modules/workstation/ui/i3/core/tools/i3-move.nix
@@ -0,0 +1,17 @@
+/** A utility script to move a window to a workspace
+ *
+ * This tool relies on i3-msg, jq, and dmenu to move a window to a
+ * different workspace. In the future, maybe the display mechanism
+ * (dmenu) could be made configurable, so not to rely on nazi code.
+ */
+
+{ pkgs, ... }: with pkgs; writeShellScript "libkookie-i3-move" ''
+
+ WS=$(${i3}/bin/i3-msg -t get_workspaces | \
+ ${jq}/bin/jq -M '.[] | .name' | tr -d '"' \
+ | sort -u | ${dmenu}/bin/dmenu -b -i "$@")
+
+
+ ${i3}/bin/i3-msg -t command move workspace $WS
+ ${i3}/bin/i3-msg workspace $WS
+''