summaryrefslogtreecommitdiff
path: root/home/config/sway/scripts.d/project.sh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xhome/config/sway/scripts.d/project.sh (renamed from home-config/sway/scripts.d/project.sh)17
1 files changed, 10 insertions, 7 deletions
diff --git a/home-config/sway/scripts.d/project.sh b/home/config/sway/scripts.d/project.sh
index afb8507..84e1a8d 100755
--- a/home-config/sway/scripts.d/project.sh
+++ b/home/config/sway/scripts.d/project.sh
@@ -1,5 +1,7 @@
#!/usr/bin/env bash
+PID=$$
+
get_mode() {
swaymsg -t get_outputs -r | jq ".[$1].modes[0]"
}
@@ -56,24 +58,25 @@ get_id() {
i=0
while true; do
NAME="$(get_name $i)"
- if [ "$NAME" == "$1" ]; then
+ if [ $(echo "$NAME" | grep "^$1") ]; then
echo "$i"
- exit 0
+ return 0
elif [ "$NAME" == "null" ]; then
- exit 1
+ return 1
fi
((i=i+1))
done
}
die() {
- notify-send -u critical -t 3000 "Sway" "Failed to get display"
+ notify-send -u critical -t 3000 "Sway" "$1"
+ kill $PID
}
-PRIMARY=$(get_id "eDP-1")
-EXTERNAL=$(get_id "DP-1" || get_id "HDMI-1")
+PRIMARY=$(get_id "eDP-1" || die "Failed to get primary display")
+EXTERNAL=$(get_id "DP" || get_id "HDMI" || die "Failed to get external display")
-PRIMARY_SCALE=1.5
+PRIMARY_SCALE=$2
EXTERNAL_SCALE=1
set_monitors() {