aboutsummaryrefslogtreecommitdiff
path: root/.local/bin/scripts/dropdown-terminal
blob: c62c891c8f86b4803d20266cf71729ef80ec2db4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/sh -eu
name=dropdown-terminal
state=/tmp/"$name"_lQ5GnvRpQ6
options=$(grep --count . $state || true)
terminal="urxvt -pe tabbed -geometry 150x20 -title $name"

[ ! -f $state ] && {
  $terminal && sed --in-place '1s/.*/1/' "$state" &
  touch $state && exit;
}

[ "$options" != "1" ] && { printf '1\n' > $state; }

visible=$(awk 'NR==1 { print; exit }' $state)
window=$(wmctrl -lpGx  | awk "/ $name$/"'{ print $1 }')

[ -z "$window" ] && rm "$state" && "$0" && exit;

[ "$visible" = 0 ] && wmctrl -i -u -R "$window"      && wmctrl -i -u -r "$window" -b add,above               && sed --in-place '1s/.*/1/' "$state" && exit;
[ "$visible" = 1 ] && xdotool mousemove_relative 0 1 && wmctrl -i -u -r "$window" -b add,skip_taskbar,hidden && sed --in-place '1s/.*/0/' "$state" && exit;