mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-07-23 00:50:59 +00:00
scarab: Apply scaling factor in Wayland (#348427)
This commit is contained in:
@@ -1,13 +1,10 @@
|
||||
{
|
||||
lib,
|
||||
bc,
|
||||
buildDotnetModule,
|
||||
fetchFromGitHub,
|
||||
glibc,
|
||||
zlib,
|
||||
gtk3,
|
||||
copyDesktopItems,
|
||||
icoutils,
|
||||
wrapGAppsHook3,
|
||||
makeDesktopItem,
|
||||
}:
|
||||
|
||||
@@ -34,19 +31,12 @@ buildDotnetModule rec {
|
||||
'';
|
||||
|
||||
runtimeDeps = [
|
||||
glibc
|
||||
zlib
|
||||
gtk3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
bc
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
copyDesktopItems
|
||||
icoutils
|
||||
wrapGAppsHook3
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
@@ -60,6 +50,8 @@ buildDotnetModule rec {
|
||||
size=''${sizes[$i]}x''${sizes[$i]}
|
||||
install -D omegamaggotprime_''$((i+1))_''${size}x32.png $out/share/icons/hicolor/$size/apps/scarab.png
|
||||
done
|
||||
|
||||
wrapProgram "$out/bin/Scarab" --run '. ${./scaling-settings.bash}'
|
||||
'';
|
||||
|
||||
desktopItems = [
|
||||
|
||||
24
pkgs/tools/games/scarab/scaling-settings.bash
Normal file
24
pkgs/tools/games/scarab/scaling-settings.bash
Normal file
@@ -0,0 +1,24 @@
|
||||
# Keep existing value if it is already non-empty
|
||||
if [[ -z "${AVALONIA_GLOBAL_SCALE_FACTOR-}" ]] && command -v gsettings >/dev/null; then
|
||||
echo 'Attempting to get GNOME desktop interface scaling factor' >&2
|
||||
AVALONIA_GLOBAL_SCALE_FACTOR="$(gsettings get org.gnome.desktop.interface scaling-factor)"
|
||||
AVALONIA_GLOBAL_SCALE_FACTOR="${AVALONIA_GLOBAL_SCALE_FACTOR##* }"
|
||||
fi
|
||||
|
||||
if [[ "${AVALONIA_GLOBAL_SCALE_FACTOR-}" == "0" ]]; then
|
||||
echo 'Unset invalid scaling value' >&2
|
||||
unset AVALONIA_GLOBAL_SCALE_FACTOR
|
||||
fi
|
||||
|
||||
if [[ -z "${AVALONIA_GLOBAL_SCALE_FACTOR-}" ]] && command -v xrdb >/dev/null; then
|
||||
echo 'Attempting to get scaling factor from X FreeType DPI setting' >&2
|
||||
dpi="$(xrdb -get Xft.dpi)"
|
||||
if [[ -n "${dpi}" ]]; then
|
||||
AVALONIA_GLOBAL_SCALE_FACTOR=$(echo "scale=2; ${dpi}/96" | bc)
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -n "${AVALONIA_GLOBAL_SCALE_FACTOR-}" ]]; then
|
||||
echo "Applying scale factor: ${AVALONIA_GLOBAL_SCALE_FACTOR}" >&2
|
||||
export AVALONIA_GLOBAL_SCALE_FACTOR
|
||||
fi
|
||||
Reference in New Issue
Block a user