You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
3.6 KiB
109 lines
3.6 KiB
#!/usr/bin/env bash
|
|
|
|
ENABLED=yes
|
|
[[ ${ENABLED} == yes ]] || exit 0
|
|
|
|
unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=.
|
|
SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
|
|
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
|
|
|
|
SYSCONF="${ROOTFS}/${SYSCONF}"
|
|
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
|
|
SOURCE=${SYSCONF}/video; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
|
|
|
|
xfce4_hidpi(){
|
|
[[ -x /usr/bin/startxfce4 ]] || return 0
|
|
if [[ $1 == @(enable|on) ]]; then
|
|
xfconf-query --channel xsettings --property /Gdk/WindowScalingFactor --create --type int --set "${SCALE}"
|
|
xfconf-query --channel xsettings --property /Gtk/CursorThemeSize --create --type int --set "${MOUSE_CURSOR}"
|
|
xfconf-query --channel xsettings --property /Xft/DPI --create --type int --set "${XORG_DPI}"
|
|
xfconf-query --channel xfwm4 --property /general/theme --create --type string --set "Default-xhdpi"
|
|
elif [[ $1 == @(disable|off) ]]; then
|
|
xfconf-query --channel xsettings --property /Gdk/WindowScalingFactor --reset
|
|
xfconf-query --channel xfwm4 --property /general/theme --reset
|
|
xfconf-query --channel xsettings --property /Gtk/CursorThemeSize --reset
|
|
xfconf-query --channel xsettings --property /Xft/DPI --reset
|
|
fi
|
|
}
|
|
plasma_hidpi(){
|
|
[[ -x /usr/bin/plasmashell ]] || return 0
|
|
if [[ $1 == @(enable|on) ]]; then
|
|
kwriteconfig5 --file kcmfonts --group General --key forceFontDPI "${XORG_DPI}"
|
|
kwriteconfig5 --file kcminputrc --group Mouse --key cursorSize "${MOUSE_CURSOR}"
|
|
kwriteconfig5 --file kdeglobals --group KScreen --key ScaleFactor "${SCALE}"
|
|
kwriteconfig5 --file kdeglobals --group KScreen --key ScreenScaleFactors "${SCALE};${SCALE};${SCALE};${SCALE};"
|
|
# ScreenScaleFactors "DP1=2;HDMI1=2;HDMI2=2;VIRTUAL1=2;"
|
|
elif [[ $1 == @(disable|off) ]]; then
|
|
kwriteconfig5 --file kcmfonts --group General --key forceFontDPI --delete
|
|
kwriteconfig5 --file kcminputrc --group Mouse --key cursorSize --delete
|
|
kwriteconfig5 --file kdeglobals --group KScreen --key ScaleFactor --delete
|
|
kwriteconfig5 --file kdeglobals --group KScreen --key ScreenScaleFactors --delete
|
|
fi
|
|
}
|
|
gnome_hidpi(){
|
|
[[ -x /usr/bin/startgnome ]] || return 0
|
|
if [[ $1 == @(enable|on) ]]; then
|
|
true
|
|
elif [[ $1 == @(disable|off) ]]; then
|
|
true
|
|
fi
|
|
}
|
|
lxde_hidpi(){
|
|
[[ -x /usr/bin/startlxde ]] || return 0
|
|
if [[ $1 == @(enable|on) ]]; then
|
|
true
|
|
elif [[ $1 == @(disable|off) ]]; then
|
|
true
|
|
fi
|
|
}
|
|
lxqt_hidpi(){
|
|
[[ -x /usr/bin/startlxqt ]] || return 0
|
|
if [[ $1 == @(enable|on) ]]; then
|
|
true
|
|
elif [[ $1 == @(disable|off) ]]; then
|
|
true
|
|
fi
|
|
}
|
|
mate_hidpi(){
|
|
[[ -x /usr/bin/startmate ]] || return 0
|
|
if [[ $1 == @(enable|on) ]]; then
|
|
true
|
|
elif [[ $1 == @(disable|off) ]]; then
|
|
true
|
|
fi
|
|
}
|
|
|
|
if [[ -n ${XORG_DPI} ]]; then
|
|
if [[ ${XORG_DPI} == @(no|disable) ]]; then
|
|
xfce4_hidpi disable
|
|
plasma_hidpi disable
|
|
gnome_hidpi disable
|
|
lxde_hidpi disable
|
|
lxqt_hidpi disable
|
|
mate_hidpi disable
|
|
return 0
|
|
elif [[ ${XORG_DPI} == auto ]]; then
|
|
XORG_DPI=192
|
|
MOUSE_CURSOR=48
|
|
SCALE=2
|
|
elif [[ ${XORG_DPI} == @(192|4K) ]]; then
|
|
XORG_DPI=192
|
|
MOUSE_CURSOR=48
|
|
SCALE=2
|
|
elif [[ ${XORG_DPI} == @(144|2K) ]]; then
|
|
XORG_DPI=144
|
|
MOUSE_CURSOR=32
|
|
SCALE=1.5
|
|
else
|
|
# Пользовательское значение XORG_DPI, остальные велечины высчитываются
|
|
MOUSE_CURSOR=28
|
|
SCALE=1
|
|
fi
|
|
xfce4_hidpi enable
|
|
plasma_hidpi enable
|
|
gnome_hidpi enable
|
|
lxde_hidpi enable
|
|
lxqt_hidpi enable
|
|
mate_hidpi enable
|
|
fi
|