#!/bin/bash # This helper function is defined in a different file that I re-use in many scripts # It looks kind of overengineered for this one __yesno () { default=${2:-n} if [ "$default" = "y" ]; then choices="Yn" else choices="yN" fi echo -n "${1:-Yes or no} [$choices]" read -rn1 answer if [ "$default" = "y" ] && [ "$answer" = 'n' ]; then echo return 1 elif [ "$default" = "n" ] && [ "$answer" != 'y' ]; then echo return 1 else echo return 0 fi } __seti3tray () { sed -i "s#^\t.*tray_output.*#\ttray_output $1#" "${HOME}/.config/i3/config" i3-msg reload } lines=($(xrandr | grep " connected " | awk '{ print$1 }')) for idx in ${!lines[*]}; do __yesno "Use display ${lines[$idx]} for systray?" y && __seti3tray "${lines[$idx]}" && exit 0 done