dotfiles/.res.sh
2024-09-16 10:07:25 +08:00

28 lines
669 B
Bash
Executable File

#!/bin/bash
OUTPUT=$1
WIDTH=$SUNSHINE_CLIENT_WIDTH
HEIGHT=$SUNSHINE_CLIENT_HEIGHT
FPS=$SUNSHINE_CLIENT_FPS
if [ "$2" = "RESET" ]; then
WIDTH=1920
HEIGHT=1080
FPS=60
fi
# 使用 cvt 获取 modeline
MODELINE=$(cvt $WIDTH $HEIGHT $FPS | grep "Modeline" | cut -d' ' -f2-)
# 提取模式名称和详细参数
MODE_NAME=$(echo $MODELINE | cut -d' ' -f1 | tr -d '"')
MODE_PARAMS=$(echo $MODELINE | cut -d' ' -f2-)
if xrandr | grep -q "$MODE_NAME"; then
echo "Resolution $MODE_NAME already exists."
else
xrandr --newmode "$MODE_NAME" $MODE_PARAMS
xrandr --addmode $OUTPUT $MODE_NAME
echo "Resolution $MODE_NAME added."
fi
xrandr --output $OUTPUT --mode "$MODE_NAME"