ddspawn simplification

This commit is contained in:
Luke Smith 2019-01-03 19:11:39 -05:00
parent df8e3a98e5
commit 0276d90b89
2 changed files with 19 additions and 35 deletions

View file

@ -32,25 +32,16 @@ set $hibernate sudo -A systemctl suspend
# #---Dropdown Windows---# # # #---Dropdown Windows---# #
# First I have a tmux window used for background scripts. # General dropdown window traits. The order can matter.
# I'll later bind this to mod+u. for_window [instance="dropdown_*"] floating enable
for_window [instance="tmuxdd"] floating enable for_window [instance="dropdown_*"] move scratchpad
for_window [instance="tmuxdd"] resize set 625 450 for_window [instance="dropdown_*"] sticky enable
for_window [instance="tmuxdd"] move scratchpad for_window [instance="dropdown_*"] scratchpad show
for_window [instance="tmuxdd"] border pixel 3 for_window [instance="dropdown_tmuxdd"] resize set 625 450
for_window [instance="tmuxdd"] sticky enable for_window [instance="dropdown_dropdowncalc"] resize set 800 300
for_window [instance="tmuxdd"] scratchpad show for_window [instance="dropdown_tmuxdd"] border pixel 3
for_window [instance="tmuxdd"] move position center for_window [instance="dropdown_dropdowncalc"] border pixel 2
for_window [instance="dropdown_*"] move position center
# Then I have a window running R I use for basic arithmetic
# I'll later bind this to mod+a.
for_window [instance="dropdowncalc"] floating enable
for_window [instance="dropdowncalc"] resize set 800 300
for_window [instance="dropdowncalc"] move scratchpad
for_window [instance="dropdowncalc"] border pixel 2
for_window [instance="dropdowncalc"] sticky enable
for_window [instance="dropdowncalc"] scratchpad show
for_window [instance="dropdowncalc"] move position center
# #---Starting External Scripts---# # # #---Starting External Scripts---# #
# Setting the background: # Setting the background:
@ -137,8 +128,8 @@ bindsym $mod+Insert exec --no-startup-id showclip
bindsym $mod+Pause exec --no-startup-id xcqr bindsym $mod+Pause exec --no-startup-id xcqr
# #---Letter Key Bindings---# # # #---Letter Key Bindings---# #
bindsym $mod+q [con_id="__focused__" instance="^(?!dropdowncalc|tmuxdd).*$"] kill bindsym $mod+q [con_id="__focused__" instance="^(?!dropdown_).*$"] kill
bindsym $mod+Shift+q [con_id="__focused__" instance="^(?!dropdowncalc|tmuxdd).*$"] kill bindsym $mod+Shift+q [con_id="__focused__" instance="^(?!dropdown_).*$"] kill
bindsym $mod+w exec $term -e nmtui bindsym $mod+w exec $term -e nmtui
bindsym $mod+Shift+w exec --no-startup-id $BROWSER bindsym $mod+Shift+w exec --no-startup-id $BROWSER

View file

@ -1,24 +1,17 @@
#!/bin/sh #!/bin/sh
# This script simplifies dropdown windows in i3. # Toggle floating dropdown terminal in i3, or start if non-existing.
# Shows/hides a scratchpad of a given name, if it doesn't exist, creates it. # $1 is the script run in the terminal.
# Usage: # All other args are terminal settings.
# argument 1: script to run in dropdown window # Terminal names are in dropdown_* to allow easily setting i3 settings.
# 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)
[ -z "$1" ] && exit [ -z "$1" ] && exit
if xwininfo -tree -root | grep "(\"$1\" "; if xwininfo -tree -root | grep "(\"dropdown_$1\" ";
then then
echo "Window detected." 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 else
echo "Window not detected... spawning." 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 fi