@@ -529,6 +529,17 @@ if [[ "$overrideOpts" ]]; then
529529fi
530530
531531
532+ # ####################
533+ # Parsing Functions
534+ # ####################
535+
536+ parseValueFromFile () {
537+ key=" $1 "
538+ file=" $2 "
539+ " ${AWK} " -F' "' " /^${key} / {v = \$ 2} END {print v}" " $file "
540+ }
541+
542+
532543# ########################
533544# Begin Detection Phase
534545# ########################
@@ -2771,16 +2782,13 @@ detectgtk () {
27712782 fi
27722783
27732784 if [[ -f $HOME /.gtkrc-2.0 ]]; then
2774- gtk2Theme=$( grep ' ^gtk-theme-name' " $HOME " /.gtkrc-2.0 | " ${AWK} " -F' =' ' {print $2}' )
2775- gtk2Theme=${gtk2Theme// \" / }
2776- gtkIcons=$( grep ' ^gtk-icon-theme-name' " $HOME " /.gtkrc-2.0 | " ${AWK} " -F' =' ' {print $2}' )
2777- gtkIcons=${gtkIcons// \" / }
2778- gtkFont=$( grep ' font_name' " $HOME " /.gtkrc-2.0 | " ${AWK} " -F' =' ' {print $2}' )
2779- gtkFont=${gtkFont// \" / }
2785+ gtk2Theme=$( parseValueFromFile gtk-theme-name " $HOME " /.gtkrc-2.0)
2786+ gtkIcons=$( parseValueFromFile gtk-icon-theme " $HOME " /.gtkrc-2.0)
2787+ gtkFont=$( parseValueFromFile gtk-font-name " $HOME " /.gtkrc-2.0)
27802788 fi
27812789
27822790 if [[ -f $HOME /.config/gtk-3.0/settings.ini ]]; then
2783- gtk3Theme=$( grep ' ^ gtk-theme-name= ' " $HOME " /.config/gtk-3.0/settings.ini | " ${AWK} " -F ' = ' ' {print $2} ' )
2791+ gtk3Theme=$( parseValueFromFile gtk-theme-name " $HOME " /.config/gtk-3.0/settings.ini)
27842792 fi
27852793 ;;
27862794 ' Cinnamon' * ) # Desktop Environment found as "Cinnamon"
@@ -2829,10 +2837,10 @@ detectgtk () {
28292837 ;;
28302838 ' Xfce' * ) # Desktop Environment found as "Xfce"
28312839 if [ " $distro " == " BunsenLabs" ] ; then
2832- gtk2Theme=$( " ${AWK} " -F ' " ' ' /^ gtk-theme/ {print $2} ' " $HOME " /.gtkrc-2.0)
2833- gtk3Theme=$( " ${AWK} " -F ' = ' ' /^ gtk-theme-name/ {print $2} ' " $HOME " /.config/gtk-3.0/settings.ini)
2834- gtkIcons=$( " ${AWK} " -F ' " ' ' /^ gtk-icon-theme/ {print $2} ' " $HOME " /.gtkrc-2.0)
2835- gtkFont=$( " ${AWK} " -F ' " ' ' /^ gtk-font-name/ {print $2} ' " $HOME " /.gtkrc-2.0)
2840+ gtk2Theme=$( parseValueFromFile gtk-theme-name " $HOME " /.gtkrc-2.0)
2841+ gtk3Theme=$( parseValueFromFile gtk-theme-name " $HOME " /.config/gtk-3.0/settings.ini)
2842+ gtkIcons=$( parseValueFromFile gtk-icon-theme " $HOME " /.gtkrc-2.0)
2843+ gtkFont=$( parseValueFromFile gtk-font-name " $HOME " /.gtkrc-2.0)
28362844 else
28372845 if type -p xfconf-query > /dev/null 2>&1 ; then
28382846 gtk2Theme=$( xfconf-query -c xsettings -p /Net/ThemeName 2> /dev/null)
@@ -2880,15 +2888,15 @@ detectgtk () {
28802888 * ) # Lightweight or No DE Found
28812889 if [ -f " $HOME /.gtkrc-2.0" ]; then
28822890 if grep -q ' gtk-theme' " $HOME /.gtkrc-2.0" ; then
2883- gtk2Theme=$( " ${AWK} " -F ' " ' ' /^ gtk-theme/ {print $2} ' " $HOME /.gtkrc-2.0" )
2891+ gtk2Theme=$( parseValueFromFile gtk-theme-name " $HOME " /.gtkrc-2.0)
28842892 fi
28852893
28862894 if grep -q ' icon-theme' " $HOME /.gtkrc-2.0" ; then
2887- gtkIcons=$( " ${AWK} " -F ' " ' ' /^ gtk-icon-theme/ {print $2} ' " $HOME /.gtkrc-2.0" )
2895+ gtkIcons=$( parseValueFromFile gtk-icon-theme " $HOME " /.gtkrc-2.0)
28882896 fi
28892897
28902898 if grep -q ' font' " $HOME /.gtkrc-2.0" ; then
2891- gtkFont=$( " ${AWK} " -F ' " ' ' /^ gtk-font-name/ {print $2} ' " $HOME /.gtkrc-2.0" )
2899+ gtkFont=$( parseValueFromFile gtk-font-name " $HOME " /.gtkrc-2.0)
28922900 fi
28932901 fi
28942902 # $HOME/.gtkrc.mine theme detect only
0 commit comments