BlueManCZ / SIF

:video_game: Steam Icons Fixer - Fix runtime icons of Steam games on Linux.
Apache License 2.0
46 stars 3 forks source link

Does not work on Fedora 39 KDE #37

Open Tiagoquix opened 3 months ago

Tiagoquix commented 3 months ago

Script does not fix the icons and also causes the game to not close automatically (the game closes but Steam's "Playing" status does not change and the game needs to be forcefully closed).

Tested with Team Fortress 2 with Papirus icon theme.

BlueManCZ commented 3 months ago

Hello, thank you for reporting this. Can you please provide more info about your system configuration? Do you use X11 or Wayland? Do you have xdotool installed?

Tiagoquix commented 3 months ago

Hi.

Yes; I do have xdotool installed and also the Python requirements. The fix gets applied correctly without any errors, but it doesn't work.

Due to NVIDIA issues, I'm using X11. image

Tiagoquix commented 3 months ago

More details: I use the native Steam version, and the game is installed in another hard drive.

BlueManCZ commented 3 months ago

Thank you for the details. After personally executing the script, I have confirmed the observations you mentioned. Specifically, I observed that windows marked with "*" in the SIF output (windows targeted with xdotool) are no longer successfully fixed by SIF.

However it should be fixed in the latest commit, can you please update with git pull and try it again?

Tiagoquix commented 3 months ago

Hi there.

I have tested the latest commit and both problems still occur. The icon is not changed in the taskbar, and the game does not close unless I forcefully stop it.

Also, I noticed the my launch options were like this:

gamemoderun %command% -novid& /PATH_TO_SIF/fix-wm-class.sh "Team Fortress 2 - OpenGL";

Note that it doesn't have a space after "-novid". I don't know if it is necessary (I think it is). But, even after adding the space, it still doesn't work. I also tried removing ; at the end but still no success.

This could be a KDE Plasma 5 issue, but I don't know for sure.

BlueManCZ commented 3 months ago

gamemoderun

Well, this is a new piece of information. :smile: I can't tell you if it should work or not, because I didn't test the script with gamemoderun, but I suspect that it can somehow modify window properties. Can you test it without it? That means only & /PATH_TO_SIF/fix-wm-class.sh "Team Fortress 2 - OpenGL"; in your launch options? If you confirm that gamemoderun is the source of this problem, that would be the topic for the whole new GitHub issue.

If it's not, we will debug the whole thing with xprop and xdotool.

Whoops, closed this by mistake. Reopened.

Tiagoquix commented 3 months ago

Hello there. Thank you for your support.

I've managed to fix one of the problems by providing the missing WM_CLASS to the databases.json file. By the way, the fix works normally with gamemoderun %command%.

Steam still reports the game as open because the script doesn't close itself after the game is exited, but I will put this on another issue since the main problem of this one has been fixed.

Here are the WM_CLASS and WM_NAME for TF2:

WM_CLASS(STRING) = "hl2_linux", "hl2_linux" WM_NAME(UTF-8) = "Team Fortress 2 - OpenGL"