From 6c633d8b2f65adf87934ce6c7669ea114c1ebd85 Mon Sep 17 00:00:00 2001 From: Brett Bohnenkamper Date: Tue, 22 Oct 2013 02:28:28 -0500 Subject: [PATCH] GTK Fix for issue #82 stuff with OS X. --- screenfetch-dev | 453 ++++++++++++++++++++++++------------------------ 1 file changed, 225 insertions(+), 228 deletions(-) diff --git a/screenfetch-dev b/screenfetch-dev index d0202f6..8eaf210 100755 --- a/screenfetch-dev +++ b/screenfetch-dev @@ -1441,242 +1441,244 @@ detectgtk () { gtk3Theme="Not Found" gtkIcons="Not Found" gtkFont="Not Found" - case $DE in - 'KDE'*) # Desktop Environment found as "KDE" - if type - p kde4-config >/dev/null 2>&1; then - KDE_CONFIG_DIR=$(kde4-config --localprefix) - if [[ -d ${KDE_CONFIG_DIR} ]]; then - if [[ -f "${KDE_CONFIG_DIR}/share/config/kdeglobals" ]]; then - KDE_CONFIG_FILE="${KDE_CONFIG_DIR}/share/config/kdeglobals" + # Font detection (OS X) + if [[ ${distro} == "Mac OS X" ]]; then + gtk2Theme="Not Applicable" + gtk3Theme="Not Applicable" + gtkIcons="Not Applicable" + if ps -U ${USER} | grep [F]inder >/dev/null 2>&1; then + if [ -f ~/Library/Preferences/com.googlecode.iterm2.plist ]; then + gtkFont=$(str1=$(defaults read com.googlecode.iTerm2|grep -m 1 "Normal Font");echo ${str1:29:${#str1}-29-2}) + fi + fi + else + case $DE in + 'KDE'*) # Desktop Environment found as "KDE" + if type - p kde4-config >/dev/null 2>&1; then + KDE_CONFIG_DIR=$(kde4-config --localprefix) + if [[ -d ${KDE_CONFIG_DIR} ]]; then + if [[ -f "${KDE_CONFIG_DIR}/share/config/kdeglobals" ]]; then + KDE_CONFIG_FILE="${KDE_CONFIG_DIR}/share/config/kdeglobals" + fi + fi + elif type -p kde5-config >/dev/null 2>&1; then + KDE_CONFIG_DIR=$(kde5-config --localprefix) + if [[ -d ${KDE_CONFIG_DIR} ]]; then + if [[ -f "${KDE_CONFIG_DIR}/share/config/kdeglobals" ]]; then + KDE_CONFIG_FILE="${KDE_CONFIG_DIR}/share/config/kdeglobals" + fi + fi + elif type -p kde-config >/dev/null 2>&1; then + KDE_CONFIG_DIR=$(kde-config --localprefix) + if [[ -d ${KDE_CONFIG_DIR} ]]; then + if [[ -f "${KDE_CONFIG_DIR}/share/config/kdeglobals" ]]; then + KDE_CONFIG_FILE="${KDE_CONFIG_DIR}/share/config/kdeglobals" + fi fi fi - elif type -p kde5-config >/dev/null 2>&1; then - KDE_CONFIG_DIR=$(kde5-config --localprefix) - if [[ -d ${KDE_CONFIG_DIR} ]]; then - if [[ -f "${KDE_CONFIG_DIR}/share/config/kdeglobals" ]]; then - KDE_CONFIG_FILE="${KDE_CONFIG_DIR}/share/config/kdeglobals" + + if [[ -n ${KDE_CONFIG_FILE} ]]; then + if grep -q "widgetStyle=" "${KDE_CONFIG_FILE}"; then + gtk2Theme=$(awk -F"=" '/widgetStyle=/ {print $2}' "${KDE_CONFIG_FILE}") + elif grep -q "colorScheme=" "${KDE_CONFIG_FILE}"; then + gtk2Theme=$(awk -F"=" '/colorScheme=/ {print $2}' "${KDE_CONFIG_FILE}") + fi + + if grep -q "Theme=" "${KDE_CONFIG_FILE}"; then + gtkIcons=$(awk -F"=" '/Theme=/ {print $2}' "${KDE_CONFIG_FILE}") + fi + + if grep -q "Font=" "${KDE_CONFIG_FILE}"; then + gtkFont=$(awk -F"=" '/font=/ {print $2}' "${KDE_CONFIG_FILE}") fi fi - elif type -p kde-config >/dev/null 2>&1; then - KDE_CONFIG_DIR=$(kde-config --localprefix) - if [[ -d ${KDE_CONFIG_DIR} ]]; then - if [[ -f "${KDE_CONFIG_DIR}/share/config/kdeglobals" ]]; then - KDE_CONFIG_FILE="${KDE_CONFIG_DIR}/share/config/kdeglobals" + + if [[ -f $HOME/.gtkrc-2.0 ]]; then + gtk2Theme=$(grep '^gtk-theme-name' $HOME/.gtkrc-2.0 | awk -F'=' '{print $2}') + gtk2Theme=${gtk2Theme//\"/} + gtkIcons=$(grep '^gtk-icon-theme-name' $HOME/.gtkrc-2.0 | awk -F'=' '{print $2}') + gtkIcons=${gtkIcons//\"/} + gtkFont=$(grep 'font_name' $HOME/.gtkrc-2.0 | awk -F'=' '{print $2}') + gtkFont=${gtkFont//\"/} + fi + + if [[ -f $HOME/.config/gtk-3.0/settings.ini ]]; then + gtk3Theme=$(grep '^gtk-theme-name=' $HOME/.config/gtk-3.0/settings.ini | awk -F'=' '{print $2}') + fi + ;; + 'Cinnamon'*) # Desktop Environment found as "Cinnamon" + if type -p gsettings >/dev/null 2>&1; then + gtk3Theme=$(gsettings get org.gnome.desktop.interface gtk-theme) + gtk3Theme=${gtk3Theme//"'"} + gtk2Theme=${gtk3Theme} + + gtkIcons=$(gsettings get org.gnome.desktop.interface icon-theme) + gtkIcons=${gtkIcons//"'"} + gtkFont=$(gsettings get org.gnome.desktop.interface font-name) + gtkFont=${gtkFont//"'"} + if [ "$background_detect" == "1" ]; then gtkBackground=$(gsettings get org.gnome.desktop.background picture-uri); fi + fi + ;; + 'GNOME'*|'Gnome'*|'Unity'*) # Desktop Environment found as "GNOME" + if type -p gsettings >/dev/null 2>&1; then + gtk3Theme=$(gsettings get org.gnome.desktop.interface gtk-theme) + gtk3Theme=${gtk3Theme//"'"} + gtk2Theme=${gtk3Theme} + gtkIcons=$(gsettings get org.gnome.desktop.interface icon-theme) + gtkIcons=${gtkIcons//"'"} + gtkFont=$(gsettings get org.gnome.desktop.interface font-name) + gtkFont=${gtkFont//"'"} + if [ "$background_detect" == "1" ]; then gtkBackground=$(gsettings get org.gnome.desktop.background picture-uri); fi + elif type -p gconftool-2 >/dev/null 2>&1; then + gtk2Theme=$(gconftool-2 -g /desktop/gnome/interface/gtk_theme) + gtkIcons=$(gconftool-2 -g /desktop/gnome/interface/icon_theme) + gtkFont=$(gconftool-2 -g /desktop/gnome/interface/font_name) + if [ "$background_detect" == "1" ]; then + gtkBackgroundFull=$(gconftool-2 -g /desktop/gnome/background/picture_filename) + gtkBackground=$(echo "$gtkBackgroundFull" | awk -F"/" '{print $NF}') fi fi - fi - - if [[ -n ${KDE_CONFIG_FILE} ]]; then - if grep -q "widgetStyle=" "${KDE_CONFIG_FILE}"; then - gtk2Theme=$(awk -F"=" '/widgetStyle=/ {print $2}' "${KDE_CONFIG_FILE}") - elif grep -q "colorScheme=" "${KDE_CONFIG_FILE}"; then - gtk2Theme=$(awk -F"=" '/colorScheme=/ {print $2}' "${KDE_CONFIG_FILE}") - fi - - if grep -q "Theme=" "${KDE_CONFIG_FILE}"; then - gtkIcons=$(awk -F"=" '/Theme=/ {print $2}' "${KDE_CONFIG_FILE}") - fi - - if grep -q "Font=" "${KDE_CONFIG_FILE}"; then - gtkFont=$(awk -F"=" '/font=/ {print $2}' "${KDE_CONFIG_FILE}") - fi - fi - - if [[ -f $HOME/.gtkrc-2.0 ]]; then - gtk2Theme=$(grep '^gtk-theme-name' $HOME/.gtkrc-2.0 | awk -F'=' '{print $2}') - gtk2Theme=${gtk2Theme//\"/} - gtkIcons=$(grep '^gtk-icon-theme-name' $HOME/.gtkrc-2.0 | awk -F'=' '{print $2}') - gtkIcons=${gtkIcons//\"/} - gtkFont=$(grep 'font_name' $HOME/.gtkrc-2.0 | awk -F'=' '{print $2}') - gtkFont=${gtkFont//\"/} - fi - - if [[ -f $HOME/.config/gtk-3.0/settings.ini ]]; then - gtk3Theme=$(grep '^gtk-theme-name=' $HOME/.config/gtk-3.0/settings.ini | awk -F'=' '{print $2}') - fi - ;; - 'Cinnamon'*) # Desktop Environment found as "Cinnamon" - if type -p gsettings >/dev/null 2>&1; then - gtk3Theme=$(gsettings get org.gnome.desktop.interface gtk-theme) - gtk3Theme=${gtk3Theme//"'"} + ;; + 'MATE'*) # MATE desktop environment + #if type -p gsettings >/dev/null 2&>1; then + gtk3Theme=$(gsettings get org.mate.interface gtk-theme) + # gtk3Theme=${gtk3Theme//"'"} gtk2Theme=${gtk3Theme} + gtkIcons=$(gsettings get org.mate.interface icon-theme) + gtkIcons=${gtkIcons//"'"} + gtkFont=$(gsettings get org.mate.interface font-name) + gtkFont=${gtkFont//"'"} + #fi + ;; + 'XFCE'*) # Desktop Environment found as "XFCE" + if type -p xfconf-query >/dev/null 2>&1; then + gtk2Theme=$(xfconf-query -c xsettings -p /Net/ThemeName) + fi - gtkIcons=$(gsettings get org.gnome.desktop.interface icon-theme) - gtkIcons=${gtkIcons//"'"} - gtkFont=$(gsettings get org.gnome.desktop.interface font-name) - gtkFont=${gtkFont//"'"} - if [ "$background_detect" == "1" ]; then gtkBackground=$(gsettings get org.gnome.desktop.background picture-uri); fi - fi - ;; - 'GNOME'*|'Gnome'*|'Unity'*) # Desktop Environment found as "GNOME" - if type -p gsettings >/dev/null 2>&1; then - gtk3Theme=$(gsettings get org.gnome.desktop.interface gtk-theme) - gtk3Theme=${gtk3Theme//"'"} - gtk2Theme=${gtk3Theme} - gtkIcons=$(gsettings get org.gnome.desktop.interface icon-theme) - gtkIcons=${gtkIcons//"'"} - gtkFont=$(gsettings get org.gnome.desktop.interface font-name) - gtkFont=${gtkFont//"'"} - if [ "$background_detect" == "1" ]; then gtkBackground=$(gsettings get org.gnome.desktop.background picture-uri); fi - elif type -p gconftool-2 >/dev/null 2>&1; then - gtk2Theme=$(gconftool-2 -g /desktop/gnome/interface/gtk_theme) - gtkIcons=$(gconftool-2 -g /desktop/gnome/interface/icon_theme) - gtkFont=$(gconftool-2 -g /desktop/gnome/interface/font_name) + if type -p xfconf-query >/dev/null 2>&1; then + gtkIcons=$(xfconf-query -c xsettings -p /Net/IconThemeName) + fi + + if type -p xfconf-query >/dev/null 2>&1; then + gtkFont=$(xfconf-query -c xsettings -p /Gtk/FontName) + fi + ;; + 'LXDE'*) + if [ -f ${XDG_CONFIG_HOME:-${HOME}/.config}/lxde/config ]; then + lxdeconf="/lxde/config" + elif [ "$distro" == "Trisquel" ]; then + lxdeconf="" + elif [ "$distro" == "FreeBSD" ]; then + lxdeconf="" + else + lxdeconf="/lxsession/LXDE/desktop.conf" + fi + # TODO: Clean me. + if grep -q "sNet\/ThemeName" ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf 2>/dev/null; then + gtk2Theme=$(awk -F'=' '/sNet\/ThemeName/ {print $2}' ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf) + fi + + if grep -q IconThemeName ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf 2>/dev/null; then + gtkIcons=$(awk -F'=' '/sNet\/IconThemeName/ {print $2}' ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf) + fi + + if grep -q FontName ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf 2>/dev/null; then + gtkFont=$(awk -F'=' '/sGtk\/FontName/ {print $2}' ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf) + fi + ;; + + # /home/me/.config/rox.sourceforge.net/ROX-Session/Settings.xml + + *) # Lightweight or No DE Found + if [ -f $HOME/.gtkrc-2.0 ]; then + if grep -q gtk-theme $HOME/.gtkrc-2.0; then + gtk2Theme=$(awk -F'"' '/^gtk-theme/ {print $2}' $HOME/.gtkrc-2.0) + fi + + if grep -q icon-theme $HOME/.gtkrc-2.0; then + gtkIcons=$(awk -F'"' '/^gtk-icon-theme/ {print $2}' $HOME/.gtkrc-2.0) + fi + + if grep -q font $HOME/.gtkrc-2.0; then + gtkFont=$(awk -F'"' '/^gtk-font-name/ {print $2}' $HOME/.gtkrc-2.0) + fi + fi + # $HOME/.gtkrc.mine theme detect only + if [ -f $HOME/.gtkrc.mine ]; then + if grep -q "^include" $HOME/.gtkrc.mine; then + gtk2Theme=$(grep '^include.*gtkrc' $HOME/.gtkrc.mine | awk -F "/" '{ print $5 }') + fi + if grep -q "^gtk-icon-theme-name" $HOME/.gtkrc.mine; then + gtkIcons=$(grep '^gtk-icon-theme-name' $HOME/.gtkrc.mine | awk -F '"' '{print $2}') + fi + fi + # /etc/gtk-2.0/gtkrc compatability + if [[ -f /etc/gtk-2.0/gtkrc && ! -f $HOME/.gtkrc-2.0 && ! -f $HOME/.gtkrc.mine ]]; then + if grep -q gtk-theme-name /etc/gtk-2.0/gtkrc; then + gtk2Theme=$(awk -F'"' '/^gtk-theme-name/ {print $2}' /etc/gtk-2.0/gtkrc) + fi + if grep -q gtk-fallback-theme-name /etc/gtk-2.0/gtkrc && ! [ "x$gtk2Theme" = "x" ]; then + gtk2Theme=$(awk -F'"' '/^gtk-fallback-theme-name/ {print $2}' /etc/gtk-2.0/gtkrc) + fi + + if grep -q icon-theme /etc/gtk-2.0/gtkrc; then + gtkIcons=$(awk -F'"' '/^icon-theme/ {print $2}' /etc/gtk-2.0/gtkrc) + fi + if grep -q gtk-fallback-icon-theme /etc/gtk-2.0/gtkrc && ! [ "x$gtkIcons" = "x" ]; then + gtkIcons=$(awk -F'"' '/^gtk-fallback-icon-theme/ {print $2}' /etc/gtk-2.0/gtkrc) + fi + + if grep -q font /etc/gtk-2.0/gtkrc; then + gtkFont=$(awk -F'"' '/^gtk-font-name/ {print $2}' /etc/gtk-2.0/gtkrc) + fi + fi + + # EXPERIMENTAL gtk3 Theme detection + if [ -f $HOME/.config/gtk-3.0/settings.ini ]; then + if grep -q gtk-theme-name $HOME/.config/gtk-3.0/settings.ini; then + gtk3Theme=$(awk -F'=' '/^gtk-theme-name/ {print $2}' $HOME/.config/gtk-3.0/settings.ini) + fi + fi + + # Proper gtk3 Theme detection + #if [ $(which gsettings) ] && [ "$distro" != "Mac OS X" ]; then + # gtk3Theme="$(gsettings get org.gnome.desktop.interface gtk-theme | tr -d \"\'\")" + #fi + if type -p gsettings >/dev/null 2>&1; then + gtk3Theme=$(gsettings get org.gnome.desktop.interface gtk-theme 2>/dev/null) + gtk3Theme=${gtk3Theme//"'"} + fi + + # ROX-Filer icon detect only + if [ -a ${XDG_CONFIG_HOME:-${HOME}/.config}/rox.sourceforge.net/ROX-Filer/Options ]; then + gtkIcons=$(awk -F'[>,<]' '/^icon_theme/ {print $3}' ${XDG_CONFIG_HOME:-${HOME}/.config}/rox.sourceforge.net/ROX-Filer/Options) + fi + + # E17 detection + if [ $E_ICON_THEME ]; then + gtkIcons=${E_ICON_THEME} + gtk2Theme="Not available." + gtkFont="Not available." + fi + + # Background Detection (feh, nitrogen) if [ "$background_detect" == "1" ]; then - gtkBackgroundFull=$(gconftool-2 -g /desktop/gnome/background/picture_filename) - gtkBackground=$(echo "$gtkBackgroundFull" | awk -F"/" '{print $NF}') - fi - fi - ;; - 'MATE'*) # MATE desktop environment - #if type -p gsettings >/dev/null 2&>1; then - gtk3Theme=$(gsettings get org.mate.interface gtk-theme) - # gtk3Theme=${gtk3Theme//"'"} - gtk2Theme=${gtk3Theme} - gtkIcons=$(gsettings get org.mate.interface icon-theme) - gtkIcons=${gtkIcons//"'"} - gtkFont=$(gsettings get org.mate.interface font-name) - gtkFont=${gtkFont//"'"} - #fi - ;; - 'XFCE'*) # Desktop Environment found as "XFCE" - if type -p xfconf-query >/dev/null 2>&1; then - gtk2Theme=$(xfconf-query -c xsettings -p /Net/ThemeName) - fi - - if type -p xfconf-query >/dev/null 2>&1; then - gtkIcons=$(xfconf-query -c xsettings -p /Net/IconThemeName) - fi - - if type -p xfconf-query >/dev/null 2>&1; then - gtkFont=$(xfconf-query -c xsettings -p /Gtk/FontName) - fi - ;; - 'LXDE'*) - if [ -f ${XDG_CONFIG_HOME:-${HOME}/.config}/lxde/config ]; then - lxdeconf="/lxde/config" - elif [ "$distro" == "Trisquel" ]; then - lxdeconf="" - elif [ "$distro" == "FreeBSD" ]; then - lxdeconf="" - else - lxdeconf="/lxsession/LXDE/desktop.conf" - fi - # TODO: Clean me. - if grep -q "sNet\/ThemeName" ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf 2>/dev/null; then - gtk2Theme=$(awk -F'=' '/sNet\/ThemeName/ {print $2}' ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf) - fi - - if grep -q IconThemeName ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf 2>/dev/null; then - gtkIcons=$(awk -F'=' '/sNet\/IconThemeName/ {print $2}' ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf) - fi - - if grep -q FontName ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf 2>/dev/null; then - gtkFont=$(awk -F'=' '/sGtk\/FontName/ {print $2}' ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf) - fi - ;; - - # /home/me/.config/rox.sourceforge.net/ROX-Session/Settings.xml - - *) # Lightweight or No DE Found - if [ -f $HOME/.gtkrc-2.0 ]; then - if grep -q gtk-theme $HOME/.gtkrc-2.0; then - gtk2Theme=$(awk -F'"' '/^gtk-theme/ {print $2}' $HOME/.gtkrc-2.0) - fi - - if grep -q icon-theme $HOME/.gtkrc-2.0; then - gtkIcons=$(awk -F'"' '/^gtk-icon-theme/ {print $2}' $HOME/.gtkrc-2.0) - fi - - if grep -q font $HOME/.gtkrc-2.0; then - gtkFont=$(awk -F'"' '/^gtk-font-name/ {print $2}' $HOME/.gtkrc-2.0) - fi - fi - # $HOME/.gtkrc.mine theme detect only - if [ -f $HOME/.gtkrc.mine ]; then - if grep -q "^include" $HOME/.gtkrc.mine; then - gtk2Theme=$(grep '^include.*gtkrc' $HOME/.gtkrc.mine | awk -F "/" '{ print $5 }') - fi - if grep -q "^gtk-icon-theme-name" $HOME/.gtkrc.mine; then - gtkIcons=$(grep '^gtk-icon-theme-name' $HOME/.gtkrc.mine | awk -F '"' '{print $2}') - fi - fi - # /etc/gtk-2.0/gtkrc compatability - if [[ -f /etc/gtk-2.0/gtkrc && ! -f $HOME/.gtkrc-2.0 && ! -f $HOME/.gtkrc.mine ]]; then - if grep -q gtk-theme-name /etc/gtk-2.0/gtkrc; then - gtk2Theme=$(awk -F'"' '/^gtk-theme-name/ {print $2}' /etc/gtk-2.0/gtkrc) - fi - if grep -q gtk-fallback-theme-name /etc/gtk-2.0/gtkrc && ! [ "x$gtk2Theme" = "x" ]; then - gtk2Theme=$(awk -F'"' '/^gtk-fallback-theme-name/ {print $2}' /etc/gtk-2.0/gtkrc) - fi - - if grep -q icon-theme /etc/gtk-2.0/gtkrc; then - gtkIcons=$(awk -F'"' '/^icon-theme/ {print $2}' /etc/gtk-2.0/gtkrc) - fi - if grep -q gtk-fallback-icon-theme /etc/gtk-2.0/gtkrc && ! [ "x$gtkIcons" = "x" ]; then - gtkIcons=$(awk -F'"' '/^gtk-fallback-icon-theme/ {print $2}' /etc/gtk-2.0/gtkrc) - fi - - if grep -q font /etc/gtk-2.0/gtkrc; then - gtkFont=$(awk -F'"' '/^gtk-font-name/ {print $2}' /etc/gtk-2.0/gtkrc) - fi - fi - - # EXPERIMENTAL gtk3 Theme detection - if [ -f $HOME/.config/gtk-3.0/settings.ini ]; then - if grep -q gtk-theme-name $HOME/.config/gtk-3.0/settings.ini; then - gtk3Theme=$(awk -F'=' '/^gtk-theme-name/ {print $2}' $HOME/.config/gtk-3.0/settings.ini) - fi - fi - - # Proper gtk3 Theme detection - #if [ $(which gsettings) ] && [ "$distro" != "Mac OS X" ]; then - # gtk3Theme="$(gsettings get org.gnome.desktop.interface gtk-theme | tr -d \"\'\")" - #fi - if type -p gsettings >/dev/null 2>&1; then - gtk3Theme=$(gsettings get org.gnome.desktop.interface gtk-theme 2>/dev/null) - gtk3Theme=${gtk3Theme//"'"} - fi - - # ROX-Filer icon detect only - if [ -a ${XDG_CONFIG_HOME:-${HOME}/.config}/rox.sourceforge.net/ROX-Filer/Options ]; then - gtkIcons=$(awk -F'[>,<]' '/^icon_theme/ {print $3}' ${XDG_CONFIG_HOME:-${HOME}/.config}/rox.sourceforge.net/ROX-Filer/Options) - fi - - # E17 detection - if [ $E_ICON_THEME ]; then - gtkIcons=${E_ICON_THEME} - gtk2Theme="Not available." - gtkFont="Not available." - fi - - # Background Detection (feh, nitrogen) - if [ "$background_detect" == "1" ]; then - if [ -a $HOME/.fehbg ]; then - gtkBackgroundFull=$(awk -F"'" '/feh --bg/{print $2}' $HOME/.fehbg 2>/dev/null) - gtkBackground=$(echo "$gtkBackgroundFull" | awk -F"/" '{print $NF}') - elif [ -a ${XDG_CONFIG_HOME:-${HOME}/.config}/nitrogen/bg-saved.cfg ]; then - gtkBackground=$(awk -F"/" '/file=/ {print $NF}' ${XDG_CONFIG_HOME:-${HOME}/.config}/nitrogen/bg-saved.cfg) - fi - fi - - # Font detection (OS X) - if [[ ${distro} == "Mac OS X" ]]; then - if ps -U ${USER} | grep [F]inder >/dev/null 2>&1; then - gtkFont="Not Found" - if [ -f ~/Library/Preferences/com.googlecode.iterm2.plist ]; then - gtkFont=$(str1=$(defaults read com.googlecode.iTerm2|grep -m 1 "Normal Font");echo ${str1:29:${#str1}-29-2}) + if [ -a $HOME/.fehbg ]; then + gtkBackgroundFull=$(awk -F"'" '/feh --bg/{print $2}' $HOME/.fehbg 2>/dev/null) + gtkBackground=$(echo "$gtkBackgroundFull" | awk -F"/" '{print $NF}') + elif [ -a ${XDG_CONFIG_HOME:-${HOME}/.config}/nitrogen/bg-saved.cfg ]; then + gtkBackground=$(awk -F"/" '/file=/ {print $NF}' ${XDG_CONFIG_HOME:-${HOME}/.config}/nitrogen/bg-saved.cfg) fi fi - fi - if [ "$distro" == "Cygwin" -a "$gtkFont" == "Not Found" ]; then - if [ -f $HOME/.minttyrc ]; then - gtkFont="$(cat $HOME/.minttyrc | grep '^Font=.*' | grep -o '[0-9A-z ]*$')" + if [ "$distro" == "Cygwin" -a "$gtkFont" == "Not Found" ]; then + if [ -f $HOME/.minttyrc ]; then + gtkFont="$(cat $HOME/.minttyrc | grep '^Font=.*' | grep -o '[0-9A-z ]*$')" + fi fi - fi - ;; - esac + ;; + esac + fi if [[ "$verbosity" -eq "1" ]]; then verboseOut "Finding GTK2 theme...found as '$gtk2Theme'" verboseOut "Finding GTK3 theme...found as '$gtk3Theme'" @@ -3057,11 +3059,6 @@ infoDisplay () { fi if [[ "${display[@]}" =~ "gtk" ]]; then if [ "$distro" == "Mac OS X" ]; then - if [ "$gtkIcons" != "Not Found" ]; then - if [ -n "$gtkIcons" ]; then - myicons=$(echo -e "$labelcolor Icon Theme:$textcolor $gtkIcons"); out_array=( "${out_array[@]}" "$myicons" ); ((display_index++)) - fi - fi if [ "$gtkFont" != "Not Found" ]; then if [ -n "$gtkFont" ]; then myfont=$(echo -e "$labelcolor Font:$textcolor $gtkFont"); out_array=( "${out_array[@]}" "$myfont" ); ((display_index++))