Merge branch 'dev' into thesis
displayselect: add external mode for docked setup
This commit is contained in:
commit
d0b59a6c93
@ -44,7 +44,7 @@ twoscreen() { # If multi-monitor is selected and there are two screens.
|
|||||||
}
|
}
|
||||||
|
|
||||||
default() {
|
default() {
|
||||||
primary=$(echo "$allposs" | grep -w "connected primary" | awk '{printf $1}')
|
primary=$(echo "$allposs" | grep -w "connected primary" | awk '{ print $1 }')
|
||||||
secondary=$(echo "$screens" | grep -v -w "$primary")
|
secondary=$(echo "$screens" | grep -v -w "$primary")
|
||||||
direction="left"
|
direction="left"
|
||||||
rotation="normal"
|
rotation="normal"
|
||||||
@ -52,10 +52,21 @@ default() {
|
|||||||
setup
|
setup
|
||||||
}
|
}
|
||||||
|
|
||||||
|
external() {
|
||||||
|
internal=$(echo "$screens" | dmenu -i -p "Select internal display:")
|
||||||
|
screens=$(echo "$screens" | grep -v -w "eDP-1")
|
||||||
|
primary=$(echo "$screens" | dmenu -i -p "Select primary display:")
|
||||||
|
xrandr --output $primary --primary
|
||||||
|
|
||||||
|
default
|
||||||
|
}
|
||||||
|
|
||||||
setup() {
|
setup() {
|
||||||
[ -z "$mode" ] && mode="auto"
|
[ -z "$mode" ] && mode="auto"
|
||||||
xrandr --output "$primary" --auto --scale 1.0x1.0 \
|
xrandr --output "$primary" --primary --auto --scale 1.0x1.0 \
|
||||||
--output "$secondary" --"$direction"-of "$primary" --$mode
|
--output "$secondary" --"$direction"-of "$primary" --$mode
|
||||||
|
|
||||||
|
[ -n "$internal" ] && xrandr --output "$internal" --off
|
||||||
}
|
}
|
||||||
|
|
||||||
morescreen() { # If multi-monitor is selected and there are more than two screens.
|
morescreen() { # If multi-monitor is selected and there are more than two screens.
|
||||||
@ -80,9 +91,10 @@ allposs=$(xrandr -q | grep -w "connected")
|
|||||||
screens=$(echo "$allposs" | awk '{print $1}')
|
screens=$(echo "$allposs" | awk '{print $1}')
|
||||||
|
|
||||||
# Get user choice including multi-monitor and manual selection:
|
# Get user choice including multi-monitor and manual selection:
|
||||||
chosen=$(printf "default\\nmulti-monitor\\n%s\\nmanual selection" "$screens" | dmenu -i -p "Select display arangement:") &&
|
chosen=$(printf "default\\nexternal\\nmulti-monitor\\n%s\\nmanual selection" "$screens" | dmenu -i -p "Select display arangement:") &&
|
||||||
case "$chosen" in
|
case "$chosen" in
|
||||||
"default") default ;;
|
"default") default ;;
|
||||||
|
"external") external ;;
|
||||||
"manual selection") arandr ; exit ;;
|
"manual selection") arandr ; exit ;;
|
||||||
"multi-monitor") multimon ;;
|
"multi-monitor") multimon ;;
|
||||||
*) xrandr --output "$chosen" --auto --scale 1.0x1.0 $(echo "$allposs" | grep -v "$chosen" | awk '{print "--output", $1, "--off"}' | tr '\n' ' ') ;;
|
*) xrandr --output "$chosen" --auto --scale 1.0x1.0 $(echo "$allposs" | grep -v "$chosen" | awk '{print "--output", $1, "--off"}' | tr '\n' ' ') ;;
|
||||||
|
Reference in New Issue
Block a user