blob: eafa4648010b4a878c4fb07c0cae5357f1efee06 (
plain) (
tree)
|
|
#!/bin/bash
internal=eDP-1
mapfile -t externals < <(xrandr \
| grep -w connected \
| grep -v "$internal" \
| cut -d ' ' -f 1)
move_workspaces() {
local primary
primary=$(i3-msg -t get_outputs | jq '.[]|select(.primary==true)|.name')
for workspace_number in $(i3-msg -t get_workspaces | jq .[].num); do
i3-msg \
workspace number "$workspace_number", \
move workspace to output "$primary"
done
}
case "$1" in
single)
xrandr --output "$internal" --auto --primary
for external in "${externals[@]}"; do
xrandr --output "$external" --off
done
;;
double)
xrandr \
--output "$internal" --auto \
--output "${externals[0]}" --auto --primary --above "$internal"
;;
triple)
xrandr \
--output "$internal" --auto \
--output "${externals[0]}" --auto --primary --above "$internal" \
--output "${externals[1]}" --auto --right-of "${externals[0]}" \
--rotate left
;;
mirror)
xrandr \
--output "$internal" --auto --primary \
--output "${externals[0]}" --auto --scale-from 1920x1080
;;
*)
echo "Usage: $0 (single|double|triple|mirror)" 1>&2
exit 1
;;
esac
xmodmap ~/.Xmodmap
move_workspaces
feh --bg-scale ~/.background.png
exit 0
|