use the focus stack to determine stacking order
Suddenly we have autoraise!
This commit is contained in:
parent
a5a7445dee
commit
e6bcf95e2e
8
dwl.c
8
dwl.c
|
@ -822,9 +822,9 @@ rendermon(struct wl_listener *listener, void *data)
|
|||
wlr_renderer_clear(drw, rootcolor);
|
||||
|
||||
/* Each subsequent window we render is rendered on top of the last. Because
|
||||
* our client list is ordered front-to-back, we iterate over it backwards. */
|
||||
* our focus stack is ordered front-to-back, we iterate over it backwards. */
|
||||
Client *c;
|
||||
wl_list_for_each_reverse(c, &clients, link) {
|
||||
wl_list_for_each_reverse(c, &fstack, flink) {
|
||||
/* Only render clients which are on this monitor. */
|
||||
/* XXX consider checking wlr_output_layout_intersects, in case a
|
||||
* window can be seen on multiple outputs */
|
||||
|
@ -1241,9 +1241,9 @@ xytoclient(double x, double y,
|
|||
struct wlr_surface **surface, double *sx, double *sy)
|
||||
{
|
||||
/* This iterates over all of our surfaces and attempts to find one under the
|
||||
* cursor. This relies on clients being ordered from top-to-bottom. */
|
||||
* cursor. This relies on fstack being ordered from top-to-bottom. */
|
||||
Client *c;
|
||||
wl_list_for_each(c, &clients, link) {
|
||||
wl_list_for_each(c, &fstack, flink) {
|
||||
/* Skip clients that aren't visible */
|
||||
if (!VISIBLEON(c, c->mon))
|
||||
continue;
|
||||
|
|
Loading…
Reference in a new issue