From 0276d90b893513179dfa8b34089513b74121ede1 Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Thu, 3 Jan 2019 19:11:39 -0500 Subject: ddspawn simplification --- .scripts/i3cmds/ddspawn | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) (limited to '.scripts') diff --git a/.scripts/i3cmds/ddspawn b/.scripts/i3cmds/ddspawn index 2c23fd6..ef86abf 100755 --- a/.scripts/i3cmds/ddspawn +++ b/.scripts/i3cmds/ddspawn @@ -1,24 +1,17 @@ #!/bin/sh -# This script simplifies dropdown windows in i3. -# Shows/hides a scratchpad of a given name, if it doesn't exist, creates it. -# Usage: -# argument 1: script to run in dropdown window -# all other args are interpreted as options for your terminal -# My usage: -# ddspawn -# bindsym $mod+u exec --no-startup-id ddspawn tmuxdd -# Will hide/show window running the `tmuxdd` script when I press mod+u in i3 -# bindsym $mod+a exec --no-startup-id ddspawn dropdowncalc -f mono:pixelsize=24 -# Similar to above but with `dropdowncalc` and the other args are interpretated as for my terminal emulator (to increase font) +# 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 -if xwininfo -tree -root | grep "(\"$1\" "; +if xwininfo -tree -root | grep "(\"dropdown_$1\" "; then echo "Window detected." - i3 "[instance=\"$1\"] scratchpad show; [instance=\"$1\"] move position center" + i3 "[instance=\"dropdown_$1\"] scratchpad show; [instance=\"dropdown_$1\"] move position center" else echo "Window not detected... spawning." - i3 "exec --no-startup-id $TERMINAL -n $1 $(echo "$@" | cut -d ' ' -f2-) -e $1" + i3 "exec --no-startup-id $TERMINAL -n dropdown_$1 $(echo "$@" | cut -d ' ' -f2-) -e $1" fi -- cgit v1.3.1