53 lines
1.1 KiB
Bash
Executable File
53 lines
1.1 KiB
Bash
Executable File
#!/bin/env bash
|
|
|
|
path="$HOME/.config/bspwm/bspwmrc"
|
|
tmp=$(mktemp)
|
|
primary=$(xrandr | grep " connected" | rofi -dmenu -a | awk '{ print $1 }')
|
|
secondary=$(xrandr | grep " connected" | grep -v "^$primary" | awk '{ print $1 }')
|
|
use_secondary=$(printf 'Yes\nNo\n' | rofi -dmenu -e "Use secondary displays?" -format i)
|
|
|
|
p() {
|
|
if [ -n "$secondary" ] && [ "$use_secondary" == 0 ]; then
|
|
printf 'bspc monitor %s -d I II III IV\n' "$primary"
|
|
printf 'bspc monitor %s -d %s\n' "$secondary" "$secondary"
|
|
else
|
|
printf 'bspc monitor %s -d I II III IV V\n' "$primary"
|
|
bspc monitor "$secondary" -r
|
|
fi
|
|
}
|
|
|
|
p | awk -v blockstart="# START MONITOR BLOCK" \
|
|
-v blockend="# END MONITOR BLOCK" \
|
|
-v sq="'" \
|
|
-v nl="\n" '
|
|
FILENAME == "-" {
|
|
block=block $0 nl
|
|
next
|
|
}
|
|
!inblock { print }
|
|
inblock {
|
|
lines[++bi] = $0
|
|
}
|
|
$0 ~ blockstart {
|
|
inblock = 1;
|
|
bi = 0;
|
|
printf block
|
|
next
|
|
}
|
|
$0 == blockend && inblock {
|
|
inblock = 0;
|
|
print blockend;
|
|
next;
|
|
}
|
|
ENDFILE {
|
|
if(inblock) {
|
|
print nl blockend;
|
|
for(i=1;i<=bi;i++) {
|
|
print lines[i];
|
|
}
|
|
}
|
|
}
|
|
' - "$path" > "$tmp" && mv "$tmp" "$path"
|
|
chmod +x "$path"
|
|
"$path"
|