From b083794a194250b331659b23d849986b58150fb4 Mon Sep 17 00:00:00 2001 From: Donovan Glover Date: Sat, 22 Dec 2018 15:35:24 -0500 Subject: [PATCH] xeventbind: Change cursor size on resolution change Note that some applications will not respect xsetroot, so using XCURSOR_SIZE as well is necessary. --- xeventbind/.config/xeventbind/on-resolution-change.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/xeventbind/.config/xeventbind/on-resolution-change.sh b/xeventbind/.config/xeventbind/on-resolution-change.sh index 6375689b..3a65d0e3 100755 --- a/xeventbind/.config/xeventbind/on-resolution-change.sh +++ b/xeventbind/.config/xeventbind/on-resolution-change.sh @@ -3,6 +3,8 @@ # Get the host width HOST_WIDTH=$(bspc query -T -m | jq '.rectangle.width') +CURSOR_THEME=${XCURSOR_THEME:-breeze_cursors} + # Determine the DPI based on screen width if [ "$HOST_WIDTH" -eq "1920" ]; then X_DPI=96 @@ -18,6 +20,13 @@ fi # If the DPI needs to be changed, change it if [ "$X_DPI" ]; then echo "Xft.dpi:$X_DPI" | xrdb -merge + + # Change the X cursor size as well + # NOTE: For full effect, this needs to be used in combination with XCURSOR_SIZE. + # NOTE: ($X_DPI / 6) here means that 4k will use cursor size 32, so it will appear + # about half the size of the 1080p cursor. If this is not what you want, use + # cursor size 64 instead. + xsetroot -xcf "/usr/share/icons/$CURSOR_THEME/cursors/left_ptr" "$(($X_DPI / 6))" fi # Reload polybar with the new width / DPI