fix: keep XWayland frame callbacks alive on hidden workspaces

Instead of disabling the scene node (which kills frame callbacks and
stalls games at 0 FPS), move XWayland clients far offscreen while
keeping the node enabled. Gated by xwayland_render_unfocused config
option (default on). Fixes #867.
This commit is contained in:
taya 2026-04-25 10:59:52 +02:00
parent b9c6a2c196
commit 1ebc8129ec
4 changed files with 63 additions and 8 deletions

View file

@ -396,6 +396,7 @@ struct Client {
pid_t pid;
Client *swallowing, *swallowedby;
bool is_clip_to_hide;
bool is_xwayland_hidden;
bool drag_to_tile;
bool scratchpad_switching_mon;
bool fake_no_border;
@ -4070,6 +4071,7 @@ void init_client_properties(Client *c) {
c->is_scratchpad_show = 0;
c->need_float_size_reduce = 0;
c->is_clip_to_hide = 0;
c->is_xwayland_hidden = 0;
c->is_restoring_from_ov = 0;
c->isurgent = 0;
c->need_output_flush = 0;