I've now configured which launch option to use via the properties window so that I don't have to see that full-screen annoyance again (unless I decide to check after an update).
Turns out that the problem is a pair of devilspie2 rules, written a few years ago, intended for the game.
Specifically, this in ~/.config/devilspie2/focus.lua:
os = require "os"
win_class = get_window_class()
win_role = get_window_role()
win_name = get_window_name()
app_name = get_application_name()
if win_name == "Titan Quest Anniversary Edition" then
set_window_fullscreen(true)
end
and similarly in ~/.config/devilspie2/blur.lua:
os = require "os"
win_class = get_window_class()
win_role = get_window_role()
win_name = get_window_name()
app_name = get_application_name()
if win_name == "Titan Quest Anniversary Edition" then
minimize()
end
Adding a check app_name ~= "steam" is sufficient to fix this.
It's (sort of) Steam's fault in that the beta uses the game title for the launcher window, whereas the stable release doesn't.
Nothing extracted yet.
I decided to launch Titan Quest: Anniversary Edition. This game provides 6 launch options (in the normal way via the Steam client).
I was… somewhat surprised… to see that the launch options window was full-screen and also that it hides itself away if it loses input focus (e.g. if I move the pointer to a window on the other monitor).
If I use xfwm4's full-screen toggle, I see the window at its correct size (and with a scroll bar for the launch options list) – but the hiding-away behaviour remains.
I checked with another game (No Man's Sky, which provides two options), and Steam left the launch window as it should be, inoffensively in the middle of the screen and remaining open on focus loss.
While it may be intended, this behaviour with Titan Quest is not expected behaviour. It has no business being full-screen. There is no reason to hide it away just because something else got the input focus. I consider it broken, unhelpful, in my face, wrong.