#!/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