1
0
mirror of https://github.com/frebib/dotfiles.git synced 2024-06-14 12:57:23 +00:00

scripts/dpi: Clean-up, improvements and shellcheck-compliant

Fix all shellcheck warnings, mostly by adding double quotes around vars.
Re-order operations and run multiple jobs in parallel to speed up DPI
change speed.
Remove all use of bc, simple sh integer division is sufficient in all
cases.

Signed-off-by: Joe Groocock <me@frebib.net>
This commit is contained in:
Joe Groocock 2021-08-01 19:05:07 +00:00
parent d1c4112ee3
commit 85ab256484
Signed by: frebib
GPG Key ID: E0B16BEACFBB6A86

View File

@ -1,7 +1,8 @@
#!/bin/sh #!/bin/sh
set -e set -eu
# Based on https://github.com/vincentbernat/awesome-configuration/blob/master/bin/xsettingsd-setup # Based on https://github.com/vincentbernat/awesome-configuration/blob/master/bin/xsettingsd-setup
CONF_DIR="${XDG_CONFIG_HOME:-$HOME/.config}"
dpi=$1 dpi=$1
@ -10,27 +11,32 @@ if [ -z "$1" ]; then
exit 1 exit 1
fi fi
CONF_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/xsettingsd" # Update picom and xorg
mkdir -p "$CONF_DIR" sed -i "s/strength =.*$/strength = $(( dpi*8/96 ));/" "$CONF_DIR/picom/picom.conf" &
xrandr --dpi "$dpi" &
cursor=$(echo $dpi/6 | bc | cut -d. -f1) scale=$(( dpi/96 ))
cursor=$(( dpi/6 ))
# Build xsettingsd.local # Build xsettingsd.conf
mkdir -p "$CONF_DIR/xsettingsd"
{ {
cat $CONF_DIR/xsettingsd.conf 2>/dev/null || true cat "$CONF_DIR/xsettingsd.local" 2>/dev/null || true
echo Xcursor/size $cursor echo "Xcursor/size $cursor"
echo Gtk/CursorThemeSize $cursor echo "Gtk/CursorThemeSize $cursor"
echo Xft/DPI $(( dpi*1024 )) echo "Xft/DPI $(( dpi*1024 ))"
echo Gdk/WindowScalingFactor $(( dpi/96 )) echo "Gdk/WindowScalingFactor $scale"
echo Gdk/UnscaledDPI $(( dpi*1024/(dpi/96) )) echo "Gdk/UnscaledDPI $(( dpi*1024/scale ))"
} > $CONF_DIR/xsettingsd.local } > "$CONF_DIR/xsettingsd/xsettingsd.conf"
{ {
echo Xft.dpi: $dpi echo "Xft.dpi: $dpi"
echo Xcursor.size: $cursor echo "Xcursor.size: $cursor"
} | xrdb -merge } | xrdb -merge &
xrandr --dpi $dpi systemctl --user reload-or-restart xsettingsd &
wait
systemctl --user reload-or-restart xsettingsd systemctl --user reload \
systemctl --user --no-block reload i3 polybar@i3bar i3 \
polybar@i3bar