Neofetch Unable to Determine Correct Theme - Multiple Disto/PC Affected

Neofetch stuck on “Breeze” WM Theme no matter what appearance/Plasma settings are actually in effect. Current theme should read at Layan.

Very odd issue here I’ve observed over the last month since moving to Arch based distros. This problem was not present on Mint+Cinnamon, and if I remember right even when I installed Plasma on Mint, Neofetch would still work correctly.

However, I’ve now had the same issue on 2 different PCs, and 2 different distros (both Manjaro and Endeavour) - My laptop as well as my HTPC are both affected by this, for other reasons I recently moved from Manjaro → Endeavour, with a 100% vanilla Neofetch install and config file, and the same issue persists.

From the logs, it seems like Neofetch is having issues determining the WM Theme based off the Plasma conf files/environment.

Here are the error sections from neofetch -vv 2 (the full log will be posted at the bottom):

+ err 'Info: Couldn'\''t detect WM Theme.'
++ color 1
++ case $1 in
++ printf '%b\e[3%sm' '\e[0m' 1
+ err+='[!]\e[0m Info: Couldn'\''t detect WM Theme.
'
+ unset -v subtitle
+ info Theme theme
+ [[ -n theme ]]
+ subtitle=Theme
+ unset -v prin
+ get_theme
+ name=gtk-theme-name
+ gsettings=gtk-theme
+ gconf=gtk_theme
+ xfconf=/Net/ThemeName
+ kde=Name
+ get_style
+ unset gtk2_theme gtk3_theme theme path
+ [[ -n :0 ]]
+ [[ Linux != \M\a\c\ \O\S\ \X ]]
+ [[ Linux != \m\a\c\O\S ]]
+ (( de_run != 1 ))
+ [[ on == on ]]
+ de=Plasma
+ case $de in
+ kde_config_dir
+ [[ -n /home/viejo/.config ]]
+ return
+ [[ -f /home/viejo/.config/kdeglobals ]]
+ kde_config_file=/home/viejo/.config/kdeglobals
++ grep '^Name' /home/viejo/.config/kdeglobals
+ kde_theme='Name=Breeze Light'
+ kde_theme='Breeze Light'
+ [[ Name == \f\o\n\t ]]
+ kde_theme='Breeze Light [Plasma], '
+ [[ -z '' ]]
+ [[ -n /etc/gtk-2.0/gtkrc:/home/viejo/.gtkrc-2.0:/home/viejo/.config/gtkrc-2.0 ]]
+ IFS=:
+ read -ra rc_files
++ grep '^[^#]*gtk-theme-name' /etc/gtk-2.0/gtkrc /home/viejo/.gtkrc-2.0 /home/viejo/.config/gtkrc-2.0
grep: /etc/gtk-2.0/gtkrc: No such file or directory
+ gtk2_theme='/home/viejo/.gtkrc-2.0:gtk-theme-name="Layan-dark-solid"'
+ gtk2_theme='"Layan-dark-solid"'
+ [[ -z '' ]]
+ [[ -f /home/viejo/.config/gtk-3.0/settings.ini ]]
++ grep '^[^#]*gtk-theme-name' /home/viejo/.config/gtk-3.0/settings.ini
+ gtk3_theme=gtk-theme-name=Layan-dark-solid
+ gtk3_theme=Layan-dark-solid
++ trim '"Layan-dark-solid"'
++ set -f
++ set -- '"Layan-dark-solid"'
++ printf '%s\n' '"Layan-dark-solid"'
++ set +f
+ gtk2_theme='"Layan-dark-solid"'
++ trim Layan-dark-solid
++ set -f
++ set -- Layan-dark-solid
++ printf '%s\n' Layan-dark-solid
++ set +f
+ gtk3_theme=Layan-dark-solid
++ trim_quotes '"Layan-dark-solid"'
++ trim_output='"Layan-dark-solid"'
++ trim_output=Layan-dark-solid
++ printf %s Layan-dark-solid
+ gtk2_theme=Layan-dark-solid
++ trim_quotes Layan-dark-solid
++ trim_output=Layan-dark-solid
++ trim_output=Layan-dark-solid
++ printf %s Layan-dark-solid
+ gtk3_theme=Layan-dark-solid
+ [[ on == \o\f\f ]]
+ [[ on == \o\f\f ]]
+ [[ -n Layan-dark-solid ]]
+ [[ Layan-dark-solid == \L\a\y\a\n\-\d\a\r\k\-\s\o\l\i\d ]]
+ gtk3_theme+=' [GTK2/3]'
+ unset gtk2_theme
+ theme='Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
+ theme='Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
+ [[ off == \o\n ]]
+ [[ -n '' ]]
+ [[ -n theme ]]
++ trim 'Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
++ set -f
++ set -- Breeze Light '[Plasma],' Layan-dark-solid '[GTK2/3]'
++ printf '%s\n' 'Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
++ set +f
+ output='Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
+ [[ -n theme ]]
+ [[ -n BreezeLight[Plasma],Layan-dark-solid[GTK2/3] ]]
+ prin Theme 'Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
++ trim Theme
++ set -f
++ set -- Theme
++ printf '%s\n' Theme
++ set +f
+ [[ -n Theme ]]
+ [[ -n Breeze Light [Plasma], Layan-dark-solid [GTK2/3] ]]
+ [[ -n '' ]]
+ string='Theme: Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
++ trim 'Theme: Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
++ set -f
++ set -- Theme: Breeze Light '[Plasma],' Layan-dark-solid '[GTK2/3]'
++ printf '%s\n' 'Theme: Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
++ set +f
+ string='Theme: Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
++ strip_sequences 'Theme: Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
++ strip='Theme: Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
++ strip='Theme: Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
++ strip='Theme: Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
++ strip='Theme: Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
++ strip='Theme: Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
++ strip='Theme: Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
++ printf '%s\n' 'Theme: Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
+ length='Theme: Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
+ length=55
+ string='Theme\e[0m\e[0m:\e[0m Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
+ string='\e[1mTheme\e[0m\e[0m:\e[0m Breeze Light [Plasma], Layan-dark-solid [GTK2/3]'
+ printf '%b\n' '\e[43C\e[1mTheme\e[0m\e[0m:\e[0m Breeze Light [Plasma], Layan-dark-solid [GTK2/3]\e[0m '
                                           Theme: Breeze Light [Plasma], Layan-dark-solid [GTK2/3] 
+ (( ++info_height ))

And at the end:

+ err+='[!]\e[0m Neofetch command: /usr/bin/neofetch -vv 2
'
+ err 'Neofetch version: 7.1.0'
++ color 1
++ case $1 in
++ printf '%b\e[3%sm' '\e[0m' 1
+ err+='[!]\e[0m Neofetch version: 7.1.0
'
+ [[ on == on ]]
+ printf %b '[!]\e[0m Config: Sourced user config.    (/home/viejo/.config/neofetch/config.conf)
[!]\e[0m Info: Couldn'\''t detect WM Theme.
[!]\e[0m Info: Couldn'\''t detect Terminal Font.
[!]\e[0m Neofetch command: /usr/bin/neofetch -vv 2
[!]\e[0m Neofetch version: 7.1.0
'
[!] Config: Sourced user config.    (/home/viejo/.config/neofetch/config.conf)
[!] Info: Couldn't detect WM Theme.
[!] Info: Couldn't detect Terminal Font.
[!] Neofetch command: /usr/bin/neofetch -vv 2
[!] Neofetch version: 7.1.0
+ [[ off == on ]]

Here is the full log: https://pastebin.com/eGQ5p1LU

If anyone has any ideas, please let me know! This is a very inconsequential bug/error but for some reason it’s annoying the hell out of me lol.

It looks like you have already reported this upstream:

That is probably the correct course of action in this case.

4 Likes

Yeah, I’ll need to update that post when I get back home. Definitely seems like a bug - what’s weird to me is since I’ve had it affect 2 different distros and 2 different PCs, I’d expect there to be a lot more people reporting this issue.

I can’t finish my desktop rice with a borken Neofetch, all the cool kids will laugh at me :frowning:

Edit: affect/effect typo

Maybe they will laugh with you. :wink:

1 Like

I also have the same issue @Viejo. Thanks for reporting on github. I hope it gets solved eventually.

1 Like

There are a number of alternatives to neofetch - perhaps one of them will do as a stopgap? Here’s a screenfetch from a minute ago…

A temporary fix:

neofetch | sed 's/Breeze/Layan/g' 

rofl

1 Like

Resolution 5640x2400 :star_struck: what screen size is that!?

1 Like

Thank you for reminding me this exists. I’ll try playing around with Screenfetch as an alternative.

And Kresimir, thank you for the suggestion of piping the command to fix the output :slight_smile:

Actually, that’s what it is convinced it has from:
3840x2160 + 1800x2400 placed side by side… :grin:

Even MORE actually, I played with the scaling a bit - the secondary monitor is actually 1200x1600(x1.5). Works very well too! Similar font and window sizes when shifting stuff between them…

Also - reported slightly differently by neofetch :grin:

I did not know anyone used neofetch or screenfetch for more than a time or two when the OS is just installed. It’s one of those things I would disable if it came preinstalled. :- :rofl:

I find it used very frequently in this thread @eznix, in fact some people post very frequently :joy:

It’s purely cosmetic and not really practical in any way (that I’m aware of). But I like my toys, lol!

Yeah, pretty much just used for cosmetic/rice purposes in desktop threads.

On my system, neofetch is executed every time I open a terminal. :wink:

2 Likes