diff --git a/files/bin/import-gsettings b/files/bin/import-gsettings index dfc2d98..5c7cae7 100755 --- a/files/bin/import-gsettings +++ b/files/bin/import-gsettings @@ -1,11 +1,14 @@ #!/bin/sh -# usage: import-gsettings : : ... +config="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini" +if [ ! -f "$config" ]; then exit 1; fi -expression="" -for pair in "$@"; do - IFS=:; set -- $pair - expressions="$expressions -e 's:^$2=(.*)$:gsettings set org.gnome.desktop.interface $1 \"\1\":e'" -done -IFS= -eval exec sed --debug -E $expressions "${XDG_CONFIG_HOME:-$HOME/.config}"/gtk-3.0/settings.ini +gnome_schema="org.gnome.desktop.interface" +gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')" +icon_theme="$(grep 'gtk-icon-theme-name' "$config" | sed 's/.*\s*=\s*//')" +cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | sed 's/.*\s*=\s*//')" +font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')" +gsettings set "$gnome_schema" gtk-theme "$gtk_theme" +gsettings set "$gnome_schema" icon-theme "$icon_theme" +gsettings set "$gnome_schema" cursor-theme "$cursor_theme" +gsettings set "$gnome_schema" font-name "$font_name"