-
Notifications
You must be signed in to change notification settings - Fork 283
Keep clients in their own boxes #34
Conversation
clients have no business drawing over top of others - it's a security risk and bad for invariants.
pg.y = c->surface.xwayland->parent->y; | ||
pg.width = c->surface.xwayland->parent->width; | ||
pg.height = c->surface.xwayland->parent->height; | ||
wlr_renderer_scissor(drw, &pg); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Firefox and IntelliJ menus follow this branch and are indeed restricted to the parent window.
Chromium menus and IntelliJ windows follow the other branch and are free to render outside the parent.
} | ||
|
||
void | ||
renderindependents(struct wlr_output *output, struct timespec *now) | ||
{ | ||
Client *c; | ||
struct render_data rdata; | ||
struct wlr_box geom; | ||
struct wlr_box geom, pg; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/nit naming consistency
Perhaps pgeom
or rename geom
to g
.
This change is technically sound, pending fixes for chromium/intellij behaviour. I'm not sure that this change will result in a good user experience: cutting off menus etc. will make tiled/floating applications difficult to use. Perhaps this one should be an option in the config: it's baked too deep for a patch, and will be relevant for the majority of users. |
Yeah, I just wanted to hack this up for some testing. I do really think clients should be kept in their own space, with perhaps a small number of well-defined exceptions. (I particularly don't like giving X11 clients free rein of my Wayland screen just because "they don't know better." It's like the neighbors trying to excuse their dog for pooping in your flowerbed because they think fences are bad UX.) |
This pr does not longer applies |
Clients have no business drawing over top of others - it's a security risk and bad for invariants.