#!/bin/bash
# set gtk key theme in various places
name=${1:-ctrluftw}

if [ "$name" = '--help' ]; then
	echo "Usage: $0 <theme name>"
	shopt -s nullglob
	themes=(/usr/share/themes/*/*-key)
	themes=("${themes[@]%/*}")
	themes=("${themes[@]##*/}")
	echo "Available themes: ${themes[*]}"
	exit 0
fi

# gnome, gtk3
gconftool-2 -s /desktop/gnome/interface/gtk_key_theme --type string "$name"

# gtk2
eval f=~/.gtkrc-2.0
test -e "$f" || > "$f"
if grep -q gtk-key-theme-name "$f"; then
	sed -i -e '/gtk-key-theme-name/{a gtk-key-theme-name = "'"$name"$'"\nd}' "$f"
else
	echo "gtk-key-theme-name = \"$name\"" >> "$f"
fi

# xfce
eval f=~/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
if [ -e "$f" ]; then
	sed -i -e "/KeyThemeName/s/value=\"[^ ]*\"/value=\"$name\"/" "$f"
fi
