From f0346a90aaf59707c3b1441962ae5919d53ed681 Mon Sep 17 00:00:00 2001 From: David Nevado Date: Wed, 20 Dec 2023 12:02:01 +0100 Subject: [PATCH] fix: grep pattern to avoid unintended matches added `^` and `$` to the pattern used in `grep -v` in order to avoid matching displays whose name contains some other display name. e.g ("DPI", "eDPI") --- .local/bin/displayselect | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.local/bin/displayselect b/.local/bin/displayselect index 0227a32b..51dd4683 100755 --- a/.local/bin/displayselect +++ b/.local/bin/displayselect @@ -32,7 +32,7 @@ twoscreen() { # If multi-monitor is selected and there are two screens. else primary=$(echo "$screens" | dmenu -i -p "Select primary display:") - secondary=$(echo "$screens" | grep -v "$primary") + 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 fi @@ -40,9 +40,9 @@ twoscreen() { # If multi-monitor is selected and there are two screens. 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:") + 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:") + 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 }