#!/bin/sh set -x #Set this values on new system! ########################################## NOTE_PATH="/sys/class/drm/card0-eDP-1" EXT1_PATH="/sys/class/drm/card0-DP-1" EXT2_PATH="/sys/class/drm/card0-DP-3" NOTE_NAME="eDP1" EXT1_NAME="DP1-1" EXT2_NAME="DP1-3" ########################################## NOTE_STATUS=$(cat "$NOTE_PATH/status") EXT1_STATUS=$(cat "$EXT1_PATH/status") EXT2_STATUS=$(cat "$EXT2_PATH/status") XRANDR_OUT=$(xrandr -q) NOTE_MAX=$(echo "$XRANDR_OUT" | grep -A 1 $NOTE_NAME | tail -n1 | awk '{ print $1 }') EXT2_MAX=$(echo "$XRANDR_OUT" | grep -A 1 $EXT2_NAME | tail -n1 | awk '{ print $1 }') EXT1_MAX=$(echo "$XRANDR_OUT" | grep -A 1 $EXT1_NAME | tail -n1 | awk '{ print $1 }') COMMAND="$1" handle_non_exist_mode() { xrandr --dpi 96 --output $2 --mode $4 --output $1 --mode $3 --left-of $2 } if [ "$COMMAND" = "external" -a "$EXT2_STATUS" = "connected" ]; then xrandr --dpi 96 --output "$EXT2_NAME" --mode "$EXT2_MAX" --output "$NOTE_NAME" --off elif [ "$COMMAND" = "external" -a "$EXT1_STATUS" = "connected" ]; then xrandr --dpi 96 --output "$EXT1_NAME" --mode "$EXT1_MAX" --output "$NOTE_NAME" --off elif [ "$EXT2_STATUS" = "connected" -a "$NOTE_STATUS" = "connected" -a "$EXT1_STATUS" = "disconnected" ]; then handle_non_exist_mode "$EXT2_NAME" "$NOTE_NAME" "$EXT2_MAX" "$NOTE_MAX" elif [ "$EXT2_STATUS" = "disconnected" -a "$NOTE_STATUS" = "connected" -a "$EXT1_STATUS" = "connected" ]; then handle_non_exist_mode "$EXT1_NAME" "$NOTE_NAME" "$EXT1_MAX" "$NOTE_MAX" elif [ "$EXT2_STATUS" = "connected" -a "$NOTE_STATUS" = "connected" -a "$EXT1_STATUS" = "connected" ]; then xrandr --dpi 96 --output "$NOTE_NAME" --mode "$NOTE_MAX" --output "$EXT1_NAME" --mode "$EXT1_MAX" --left-of "$NOTE_NAME" --output "$EXT2_NAME" --mode "$EXT2_MAX" --left-of "$EXT1_NAME" elif [ "$EXT2_STATUS" = "disconnected" -a "$NOTE_STATUS" = "connected" -a "$EXT1_STATUS" = "disconnected" ]; then ~/bin/dnote.sh fi