about summary refs log tree commit diff
path: root/modules
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-06-22 23:21:30 +0000
committerAlyssa Ross <hi@alyssa.is>2019-06-22 23:21:30 +0000
commitf1517880e799ae218cf0f0e9a184c042097003b6 (patch)
treea1b36e08084773706163dea64149f5811d480103 /modules
parent900005e542f03431c6b61bdb64b7583bedae29c5 (diff)
downloadnixlib-f1517880e799ae218cf0f0e9a184c042097003b6.tar
nixlib-f1517880e799ae218cf0f0e9a184c042097003b6.tar.gz
nixlib-f1517880e799ae218cf0f0e9a184c042097003b6.tar.bz2
nixlib-f1517880e799ae218cf0f0e9a184c042097003b6.tar.lz
nixlib-f1517880e799ae218cf0f0e9a184c042097003b6.tar.xz
nixlib-f1517880e799ae218cf0f0e9a184c042097003b6.tar.zst
nixlib-f1517880e799ae218cf0f0e9a184c042097003b6.zip
modules/sway: port choose_workspace to bemenu
Diffstat (limited to 'modules')
-rw-r--r--modules/workstation/windowing/sway/choose_workspace.in6
-rw-r--r--modules/workstation/windowing/sway/choose_workspace.sh.in17
-rw-r--r--modules/workstation/windowing/sway/default.nix6
3 files changed, 20 insertions, 9 deletions
diff --git a/modules/workstation/windowing/sway/choose_workspace.in b/modules/workstation/windowing/sway/choose_workspace.in
deleted file mode 100644
index 8b36b66b2e77..000000000000
--- a/modules/workstation/windowing/sway/choose_workspace.in
+++ /dev/null
@@ -1,6 +0,0 @@
-#! @execline@/bin/execlineb
-
-pipeline { swaymsg -t get_workspaces }
-pipeline { @jq@/bin/jq -r .[].name }
-
-choose --bind alt-enter:print-query
diff --git a/modules/workstation/windowing/sway/choose_workspace.sh.in b/modules/workstation/windowing/sway/choose_workspace.sh.in
new file mode 100644
index 000000000000..135c46dc5f9f
--- /dev/null
+++ b/modules/workstation/windowing/sway/choose_workspace.sh.in
@@ -0,0 +1,17 @@
+#! @shell@ -ue
+swaymsg -t get_workspaces |
+    @jq@/bin/jq -r \
+        '(to_entries | map(select(.value.focused)) | .[0].key), .[].name' |
+    (
+        read index
+        exec @bemenu@/bin/bemenu \
+            -p workspace \
+            -I "$index" \
+            --fn 'monospace 10' \
+            --line-height 24 \
+            --nf '#777777' \
+            --hb '#285577' \
+            --hf '#ffffff' \
+            --tf '#777777' \
+            --ff '#ffffff'
+    )
diff --git a/modules/workstation/windowing/sway/default.nix b/modules/workstation/windowing/sway/default.nix
index 8cf9aec93706..772e44319027 100644
--- a/modules/workstation/windowing/sway/default.nix
+++ b/modules/workstation/windowing/sway/default.nix
@@ -36,15 +36,15 @@
     };
 
     choose_workspace = pkgs.substituteAll {
-      src = ./choose_workspace.in;
+      src = ./choose_workspace.sh.in;
       isExecutable = true;
-      inherit (pkgs) execline jq;
+      inherit (pkgs) bemenu jq;
     };
 
   in
 
   {
-    environment.systemPackages = with pkgs; [ choose ];
+    environment.systemPackages = with pkgs; [ bemenu choose ];
 
     programs.sway.enable = true;
     programs.swayidle.enable = true;