55 lines
1.6 KiB
Bash
Executable File
55 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}"
|
|
FAUGUS_LAUNCHER_DIR="$CONFIG_DIR/faugus-launcher"
|
|
SESSION_FILE="$FAUGUS_LAUNCHER_DIR/session.ini"
|
|
|
|
get_session_value() {
|
|
grep -i -m 1 "^[[:space:]]*${1}[[:space:]]*=" "$SESSION_FILE" | cut -d'=' -f2- | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e 's/[[:space:]]*#.*$//'
|
|
}
|
|
|
|
SCREEN_WIDTH=$(get_session_value "SCREEN_WIDTH")
|
|
SCREEN_HEIGHT=$(get_session_value "SCREEN_HEIGHT")
|
|
INTERNAL_WIDTH=$(get_session_value "INTERNAL_WIDTH")
|
|
INTERNAL_HEIGHT=$(get_session_value "INTERNAL_HEIGHT")
|
|
REFRESH_RATE=$(get_session_value "REFRESH_RATE")
|
|
ADAPTIVE_SYNC=$(get_session_value "ADAPTIVE_SYNC")
|
|
HDR_SUPPORT=$(get_session_value "HDR_SUPPORT")
|
|
PREFER_OUTPUT=$(get_session_value "PREFER_OUTPUT")
|
|
|
|
GAMESCOPE_PARAMS=""
|
|
|
|
if [ -n "$SCREEN_WIDTH" ]; then
|
|
GAMESCOPE_PARAMS="$GAMESCOPE_PARAMS -W $SCREEN_WIDTH"
|
|
fi
|
|
|
|
if [ -n "$SCREEN_HEIGHT" ]; then
|
|
GAMESCOPE_PARAMS="$GAMESCOPE_PARAMS -H $SCREEN_HEIGHT"
|
|
fi
|
|
|
|
if [ -n "$INTERNAL_WIDTH" ]; then
|
|
GAMESCOPE_PARAMS="$GAMESCOPE_PARAMS -w $INTERNAL_WIDTH"
|
|
fi
|
|
|
|
if [ -n "$INTERNAL_HEIGHT" ]; then
|
|
GAMESCOPE_PARAMS="$GAMESCOPE_PARAMS -h $INTERNAL_HEIGHT"
|
|
fi
|
|
|
|
if [ -n "$REFRESH_RATE" ]; then
|
|
GAMESCOPE_PARAMS="$GAMESCOPE_PARAMS -r $REFRESH_RATE"
|
|
fi
|
|
|
|
if [ -n "$PREFER_OUTPUT" ]; then
|
|
GAMESCOPE_PARAMS="$GAMESCOPE_PARAMS --prefer-output $PREFER_OUTPUT"
|
|
fi
|
|
|
|
if [ "$ADAPTIVE_SYNC" == 1 ]; then
|
|
GAMESCOPE_PARAMS="$GAMESCOPE_PARAMS --adaptive-sync"
|
|
fi
|
|
|
|
if [ "$HDR_SUPPORT" == 1 ]; then
|
|
GAMESCOPE_PARAMS="$GAMESCOPE_PARAMS --hdr-enabled"
|
|
fi
|
|
|
|
gamescope $GAMESCOPE_PARAMS -- faugus-launcher --session
|