kde5.startkde: update from plasma-workspace-5.7.3

* Read the screen scale factor (for HiDPI displays) from KScreen
  correctly.
* Disable automaticy scale factor detection in Qt applications.
* Force font DPI at startup, if requested.
* Allow kded to invoke kbuildsycoca5 automatically.
This commit is contained in:
Thomas Tuegel 2016-08-23 08:22:11 -05:00
parent 1ad6cff9a7
commit 1df7279384
1 changed files with 12 additions and 8 deletions

View File

@ -119,9 +119,12 @@ if test $returncode -ne 0; then
fi
[ -r $configDir/startupconfig ] && . $configDir/startupconfig
if test "$kdeglobals_kscreen_scalefactor" -ne 1; then
export QT_DEVICE_PIXEL_RATIO=$kdeglobals_kscreen_scalefactor
if [ "$kdeglobals_kscreen_screenscalefactors" ]; then
export QT_SCREEN_SCALE_FACTORS="$kdeglobals_kscreen_screenscalefactors"
fi
#Manually disable auto scaling because we are scaling above
#otherwise apps that manually opt in for high DPI get auto scaled by the developer AND manually scaled by us
export QT_AUTO_SCREEN_SCALE_FACTOR=0
XCURSOR_PATH=~/.icons
IFS=":" read -r -a xdgDirs <<< "$XDG_DATA_DIRS"
@ -159,6 +162,12 @@ unset THEME
#
xsetroot -cursor_name left_ptr
if test "$kcmfonts_general_forcefontdpi" -ne 0; then
xrdb -quiet -merge -nocpp <<EOF
Xft.dpi: $kcmfonts_general_forcefontdpi
EOF
fi
dl=$DESKTOP_LOCKED
unset DESKTOP_LOCKED # Don't want it in the environment
@ -240,7 +249,7 @@ KDE_SESSION_VERSION=5
export KDE_SESSION_VERSION
xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5
KDE_SESSION_UID=`id -ru`
KDE_SESSION_UID=$(id -ru)
export KDE_SESSION_UID
XDG_CURRENT_DESKTOP=KDE
@ -278,11 +287,6 @@ fi
qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit
# (NixOS) Run kbuildsycoca5 before starting the user session because things
# may be missing or moved if they have run nixos-rebuild and it may not be
# possible for them to start Konsole to run it manually!
kbuildsycoca5
# finally, give the session control to the session manager
# see kdebase/ksmserver for the description of the rest of the startup sequence
# if the KDEWM environment variable has been set, then it will be used as KDE's