blob: 55787bc68e33f22162ecf176d6f5b92fc705248e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#!/usr/bin/env sh
windows=$(wmctrl -xl | tr -s '[:blank:]' | cut -d ' ' -f 3-3,5- | sed 's/^[a-zA-Z0-9-]*\.//')
# Add spaces to align the WM_NAMEs of the windows
max=$(printf %s\\n "$windows" | awk '{cur=length($1); max=(cur>max?cur:max)} END{print max}')
windows=$(printf %s\\n "$windows" | \
awk -v max="$max" \
'{cur=length($1); printf $1; \
for(i=0; i < max - cur + 1; i++) printf " "; \
$1 = ""; printf "%s\n", $0}')
target=$(printf %s\\n "$windows" | dmenu -l 10 -i -p switch: | tr -s '[:blank:]' | cut -d ' ' -f 2-)
[ -n "$target" ] && wmctrl -a "$target"
|