dots/scripts/Documents/Scripts/cursordingus.sh

46 lines
1.7 KiB
Bash
Raw Permalink Normal View History

2024-04-29 19:05:39 +02:00
#!/usr/bin/env bash
#
# /usr/bin/setcursor
# config files
gtk2=$HOME/.gtkrc-2.0
gtk3=$HOME/.config/gtk-3.0/settings.ini
[[ -e $HOME/.extend.Xresources ]] && xr=$HOME/.extend.Xresources || xr=$HOME/.Xresources
# we'll have to override libxcursor's default
default=share/icons/default/index.theme
glob_default=/usr/$default
user_default=$HOME/.local/$default
[[ -e $glob_default ]] && [[ ! -e $user_default ]] && install -D $glob_default $user_default
# cursor-theme entries
cursor_gtk2=$(grep "cursor-theme-name" $gtk2 | cut -d'"' -f2)
cursor_gtk3=$(grep "cursor-theme-name" $gtk3 | cut -d'=' -f2)
cursor_xr=$(grep "Xcursor.theme" $xr | cut -d' ' -f2)
cursor=$1
# find config last modified
if [ -z $1 ]; then
cursor=$cursor_gtk2; newest=$gtk2
[[ $xr -nt $gtk2 ]] && [[ ! -z $cursor_xr ]] && cursor=$cursor_xr && newest=$xr
[[ $gtk3 -nt $newest ]] && [[ ! -z $cursor_gtk3 ]] && cursor=$cursor_gtk3
fi
# set theme in all config files
echo "setting cursortheme \"$cursor\""
[[ "$cursor" != "$cursor_xr" ]] && \
sed -i "s/Xcursor.theme:.*/Xcursor.theme: $cursor/" $xr &>/dev/null && \
xrdb -merge -I$HOME ~/.Xresources
[[ "$cursor" != "$cursor_gtk2" ]] && \
sed -i "s/cursor-theme-name=\".*\"/cursor-theme-name=\"$cursor\"/" $gtk2
[[ "$cursor" != "$cursor_gtk3" ]] && \
sed -i "s/cursor-theme-name=.*/cursor-theme-name=$cursor/" $gtk3 &>/dev/null
[[ -e $user_default ]] && sed -i "s/Inherits=.*/Inherits=$cursor/" $user_default &>/dev/null
# and in the realms of the GNOMEs
[[ -f /usr/bin/gconftool-2 ]] && gconftool-2 --type string -s /desktop/gnome/peripherals/mouse/cursor $cursor
[[ -f /usr/bin/gsettings ]] && gsettings set org.gnome.desktop.interface cursor-theme $cursor
exit