mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-04-21 03:03:15 +02:00
Compare commits
6 commits
0b4325aa7c
...
356ea7ea25
Author | SHA1 | Date | |
---|---|---|---|
![]() |
356ea7ea25 | ||
![]() |
7c89e87deb | ||
![]() |
35f5188e75 | ||
![]() |
42518f2304 | ||
![]() |
4e61c3369b | ||
![]() |
13c4aca5ac |
2 changed files with 38 additions and 2 deletions
|
@ -19914,7 +19914,7 @@
|
|||
"pl_PL": "Skróty Klawiszowe Klawiatury",
|
||||
"pt_BR": "Atalhos do Teclado",
|
||||
"ru_RU": "Горячие клавиши",
|
||||
"sv_SE": "Snabbtangenter för tangentbord",
|
||||
"sv_SE": "Snabbtangenter",
|
||||
"th_TH": "ปุ่มลัดของคีย์บอร์ด",
|
||||
"tr_TR": "Klavye Kısayolları",
|
||||
"uk_UA": "Гарячі клавіші",
|
||||
|
|
|
@ -20,4 +20,40 @@ if command -v gamemoderun > /dev/null 2>&1; then
|
|||
COMMAND="$COMMAND gamemoderun"
|
||||
fi
|
||||
|
||||
exec $COMMAND "$SCRIPT_DIR/$RYUJINX_BIN" "$@"
|
||||
# Check if user already has a manual Avalonia scaling override or session type is x11.
|
||||
if [ -n "${AVALONIA_GLOBAL_SCALE_FACTOR-}" ] || [ "$XDG_SESSION_TYPE" = "x11" ]; then
|
||||
echo "Scaling: Performed by environment, skipping." >&2
|
||||
else
|
||||
# Query monitor config directly (GNOME), default display only.
|
||||
if [[ "$(echo "$XDG_CURRENT_DESKTOP")" == "GNOME" && -f ~/.config/monitors.xml ]] then
|
||||
echo -n 'Scaling: Monitor config located, querying scale...' >&2
|
||||
SCALING="$(grep '<scale' ~/.config/monitors.xml -m 1 | cut -f2 -d">"|cut -f1 -d"<")"
|
||||
SCALING="${SCALING##* }"
|
||||
echo "found! Factor: ${SCALING}" >&2
|
||||
|
||||
# Fallback to X DPI query for others.
|
||||
# Plasma handles this fine, GNOME will always round up e.g. 1.25 -> 2.00.
|
||||
elif command -v xrdb >/dev/null; then
|
||||
echo -n 'Scaling: Attempting to get scaling from X DPI value...' >&2
|
||||
dpi="$(xrdb -get Xft.dpi)"
|
||||
if [[ -n "${dpi}" ]]; then
|
||||
SCALING=$(awk -vdpi="$dpi" 'BEGIN{print dpi/96}')
|
||||
fi
|
||||
echo "found! Factor: ${SCALING}"
|
||||
|
||||
# Query kscreen-doctor for Plasma as a fallback.
|
||||
elif [[ "$(echo "$XDG_CURRENT_DESKTOP")" == "KDE" ]] && command -v kscreen-doctor >/dev/null; then
|
||||
# gsub strips ANSI color codes from ksd output
|
||||
SCALING=$(kscreen-doctor --outputs | awk '/Scale:/{gsub(/\x1b\[[0-9;]*m/,""); print $2; exit}')
|
||||
echo "found! Factor: ${SCALING}"
|
||||
fi
|
||||
|
||||
if [[ -z "${SCALING-}" || "${SCALING-}" == "0" ]]; then
|
||||
echo 'Unset invalid scaling value' >&2
|
||||
SCALING="1"
|
||||
fi
|
||||
|
||||
COMMAND="$COMMAND AVALONIA_GLOBAL_SCALE_FACTOR=$SCALING"
|
||||
fi
|
||||
|
||||
exec $COMMAND "$SCRIPT_DIR/$RYUJINX_BIN" "$@"
|
Loading…
Add table
Reference in a new issue