Compare commits

...

6 Commits

Author SHA1 Message Date
adu
1cfbaa41f5
Merge 00706b029c6d8e0965280a6b84b6f7df675907f7 into 031938a792ac3107a512e89504929ef9e3e8ed6a 2023-11-09 07:47:37 +00:00
Invert White
00706b029c now it's done 2023-02-16 04:01:39 -03:00
adu
2cf931d00d
little spacing mistakes fixed 2023-02-16 03:34:30 -03:00
Invert White
a411c2fa9b 'above' and 'below' as direction options having tertiary section in mind 2023-02-16 03:31:56 -03:00
adu
d5265a63b3
Merge branch 'LukeSmithxyz:master' into master 2023-02-15 15:24:38 -03:00
Invert White
8ab39df89a 'above' and 'below' as options 2022-11-02 15:46:58 -03:00

View File

@ -33,19 +33,36 @@ twoscreen() { # If multi-monitor is selected and there are two screens.
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?")
xrandr --output "$primary" --auto --scale 1.0x1.0 --output "$secondary" --"$direction"-of "$primary" --auto --scale 1.0x1.0
direction=$(printf "left-of\\nbelow\\nabove\\nright-of" | dmenu -i -p "What side of $primary should $secondary be on?")
xrandr --output "$primary" --auto --scale 1.0x1.0 --output "$secondary" --"$direction" "$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:")
xrandr --output "$primary" --auto --output "$secondary" --"$direction"-of "$primary" --auto --output "$tertiary" --"$(printf "left\\nright" | grep -v "$direction")"-of "$primary" --auto
primary=$(echo "$screens" | dmenu -i -p "Select primary display:")
secondary=$(echo "$screens" | grep -v "$primary" | dmenu -i -p "Select secondary display:")
direction=$(printf "left-of\\nbelow\\nabove\\nright-of" | 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:")
tertiary_placement=$(echo "$screens" | grep -v "$tertiary" | dmenu -i -p "Around which display should $tertiary be on?")
tertiary_direction=$(printf "$(whichprimary "$tertiary_placement" "$primary" "$direction")" | dmenu -i -p "What side of $tertiary_placement should $tertiary be on?")
xrandr --output "$primary" --auto --output "$secondary" --"$direction" "$primary" --auto --output "$tertiary" --"$tertiary_direction" "$tertiary_placement" --auto
}
whichprimary() { # Check done in order to verify direction inconsistencies in case of choosing tertiary display around the primary one
if [ "$tertiary_placement" == "$primary" ]; then
printf "left-of\\nbelow\\nabove\\nright-of" | grep -v $direction;
else
printf "left-of\\nbelow\\nabove\\nright-of" | grep -v "$(sideavailability "$direction")";
fi ;}
sideavailability() { # Gives the opposite side available in case of tertiary display being around the secondary one
case "$(printf "left-of\\nbelow\\nabove\\nright-of" | grep -v $1)" in
"left-of") printf "right-of";;
"below") printf "above";;
"above") printf "below";;
"right-of") printf "left-of";;
esac ;}
multimon() { # Multi-monitor handler.
case "$(echo "$screens" | wc -l)" in
2) twoscreen ;;