summaryrefslogtreecommitdiffstats
path: root/.local/bin/i3cmds/ddspawn
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin/i3cmds/ddspawn')
-rwxr-xr-x.local/bin/i3cmds/ddspawn19
1 files changed, 19 insertions, 0 deletions
diff --git a/.local/bin/i3cmds/ddspawn b/.local/bin/i3cmds/ddspawn
new file mode 100755
index 0000000..d4a4034
--- /dev/null
+++ b/.local/bin/i3cmds/ddspawn
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+# Toggle floating dropdown terminal in i3, or start if non-existing.
+# $1 is the script run in the terminal.
+# All other args are terminal settings.
+# Terminal names are in dropdown_* to allow easily setting i3 settings.
+
+[ -z "$1" ] && exit
+
+script=$1
+shift
+if xwininfo -tree -root | grep "(\"dropdown_$script\" ";
+then
+ echo "Window detected."
+ i3 "[instance=\"dropdown_$script\"] scratchpad show; [instance=\"dropdown_$script\"] move position center"
+else
+ echo "Window not detected... spawning."
+ i3 "exec --no-startup-id $TERMINAL -n dropdown_$script $@ -e $script"
+fi