Skip to content

Commit

Permalink
configure xwayland surfaces without monitors
Browse files Browse the repository at this point in the history
For wine clients often configurex11() is called before mapnotify() and
therefore c->mon is NULL. configurex11 just returns early in that case,
letting these clients stay in the wrong size. For example only the top
left part of winecfg and wine uninstaller is drawn, or confirmation
dialogs like when closing wine notepad are too big. Fix this by
configuring their surfaces like before 88d386b.
  • Loading branch information
guidocella authored and sevz17 committed Jan 26, 2024
1 parent ac6074f commit 863634a
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion dwl.c
Original file line number Diff line number Diff line change
Expand Up @@ -2844,8 +2844,12 @@ configurex11(struct wl_listener *listener, void *data)
{
Client *c = wl_container_of(listener, c, configure);
struct wlr_xwayland_surface_configure_event *event = data;
if (!c->mon)
/* TODO: figure out if there is another way to do this */
if (!c->mon) {
wlr_xwayland_surface_configure(c->surface.xwayland,
event->x, event->y, event->width, event->height);
return;
}
if (c->isfloating || client_is_unmanaged(c))
resize(c, (struct wlr_box){.x = event->x, .y = event->y,
.width = event->width, .height = event->height}, 0);
Expand Down

0 comments on commit 863634a

Please sign in to comment.