summaryrefslogtreecommitdiff
path: root/scripts/.local/bin/displayselect
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/.local/bin/displayselect')
-rwxr-xr-xscripts/.local/bin/displayselect20
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 ;;