fastfetch-cli / fastfetch

An actively maintained, feature-rich and performance oriented, neofetch like system information tool.
MIT License
9.48k stars 385 forks source link

[BUG] `fastfetch -s icons -l none` and `fastfetch -s font -l none` no longer shows an output? #1162

Closed Samueru-sama closed 1 month ago

Samueru-sama commented 1 month ago

They stopped working after I updated 2.21.0, previous version is working fine, this likely was a change in fastfetch and not a bug, but I can't find any mention of such change in the release notes?

CarterLi commented 1 month ago

It works for me. 2.21.0 had no changes for icons and font so that I didn't metion them in the release notes.

Samueru-sama commented 1 month ago

Testing the last two released binaries:

image

EDIT: This is on Artix linux.

EDIT2: Better image showing the version from the binary itself:

image

CarterLi commented 1 month ago

Are you running fastfetch in TTY? That's the only change that may affect these two modules I can come up with.

Samueru-sama commented 1 month ago

Are you running fastfetch in TTY? That's the only change that may affect these two modules I can come up with.

The images are from the xfce4-terminal, but the graphical session (i3wm) was started on TTY though.

CarterLi commented 1 month ago

What does echo $XDG_SESSION_TYPE print?

Samueru-sama commented 1 month ago

What does echo $XDG_SESSION_TYPE print?

tty 👀

image

Alright, thank you! I guess I have to add this now to my zprofile lol.

CarterLi commented 1 month ago

So that $XDG_SESSION_TYPE is unreliable. I wonder if I want to support this case. @Dariqq What's your opinion?

Dariqq commented 1 month ago

I guess the typical 'startx' workflow does not set XDG_SESSION_TYPE and thus inherits it from the tty it is invoked from which is a big regression i did not consider. (i only checked my sway session where XDG_SESSION_TYPE gets set to wayland afterwards).

Verified that on my machine 'startx'-ing an x11 session does not set XDG_SESSION_TYPE to x11.

Also the whole XDG_SESSION_TYPE seems to less of an official xdg specification but rather a convention coming from pam_systemd/logind. (at least from what i was able to find from a quick search)

Given that 'startx' is still commonly used I think it would be better to restore previous functionality and figure out a better way to detect a wm/de running in a different session (which would also handle the case of running different wm/des in different sessions better).

CarterLi commented 1 month ago

Partially reverted