diff options
Diffstat (limited to 'scripts/.local/bin/displayselect')
| -rwxr-xr-x | scripts/.local/bin/displayselect | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/scripts/.local/bin/displayselect b/scripts/.local/bin/displayselect index f9e8062..c8f54d2 100755 --- a/scripts/.local/bin/displayselect +++ b/scripts/.local/bin/displayselect @@ -4,13 +4,15 @@ # displays and lets user select one to use. User may also select "manual # selection" which opens arandr. +dmenu=cdmenu + twoscreen() { # If multi-monitor is selected and there are two screens. - mirror=$(printf "no\\nyes" | dmenu -i -p "Mirror displays?") + mirror=$(printf "no\\nyes" | "$dmenu" -i -p "Mirror displays?") # Mirror displays using native resolution of external display and a scaled # version for the internal display if [ "$mirror" = "yes" ]; then - external=$(echo "$screens" | dmenu -i -p "Optimize resolution for:") + external=$(echo "$screens" | "$dmenu" -i -p "Optimize resolution for:") internal=$(echo "$screens" | grep -v "$external") res_external=$(xrandr --query | sed -n "/^$external/,/\+/p" | \ @@ -31,18 +33,18 @@ twoscreen() { # If multi-monitor is selected and there are two screens. --scale "$scale_x"x"$scale_y" else - primary=$(echo "$screens" | dmenu -i -p "Select primary display:") + primary=$(echo "$screens" | "$dmenu" -i -p "Select primary display:") secondary=$(echo "$screens" | grep -v "$primary") - direction=$(printf "left\\nright" | dmenu -i -p "What side of $primary should $secondary be on?") + direction=$(printf "left\\nright" | "$dmenu" -i -p "What side of $primary should $secondary be on?") xrandr --output "$primary" --auto --scale 1.0x1.0 --output "$secondary" --"$direction"-of "$primary" --auto --scale 1.0x1.0 fi } morescreen() { # If multi-monitor is selected and there are more than two screens. - primary=$(echo "$screens" | dmenu -i -p "Select primary display:") - secondary=$(echo "$screens" | grep -v "$primary" | dmenu -i -p "Select secondary display:") - direction=$(printf "left\\nright" | dmenu -i -p "What side of $primary should $secondary be on?") - tertiary=$(echo "$screens" | grep -v "$primary" | grep -v "$secondary" | dmenu -i -p "Select third display:") + primary=$(echo "$screens" | "$dmenu" -i -p "Select primary display:") + secondary=$(echo "$screens" | grep -v "$primary" | "$dmenu" -i -p "Select secondary display:") + direction=$(printf "left\\nright" | "$dmenu" -i -p "What side of $primary should $secondary be on?") + tertiary=$(echo "$screens" | grep -v "$primary" | grep -v "$secondary" | "$dmenu" -i -p "Select third display:") xrandr --output "$primary" --auto --output "$secondary" --"$direction"-of "$primary" --auto --output "$tertiary" --"$(printf "left\\nright" | grep -v "$direction")"-of "$primary" --auto } @@ -73,7 +75,7 @@ screens=$(echo "$allposs" | awk '/ connected/ {print $1}') { onescreen "$screens"; postrun; notify-send "💻 Only one screen detected." "Using it in its optimal settings..."; exit ;} # Get user choice including multi-monitor and manual selection: -chosen=$(printf "%s\\nmulti-monitor\\nmanual selection" "$screens" | dmenu -i -p "Select display arangement:") && +chosen=$(printf "%s\\nmulti-monitor\\nmanual selection" "$screens" | "$dmenu" -i -p "Select display arangement:") && case "$chosen" in "manual selection") arandr ; exit ;; "multi-monitor") multimon ;; |
