diff --git a/.res.sh b/.res.sh new file mode 100644 index 0000000..95abb80 --- /dev/null +++ b/.res.sh @@ -0,0 +1,22 @@ +#!/bin/bash +OUTPUT=$1 +WIDTH=$SUNSHINE_CLIENT_WIDTH +HEIGHT=$SUNSHINE_CLIENT_HEIGHT +FPS=$SUNSHINE_CLIENT_FPS + +# 使用 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"