diff options
| author | Devin J. Pohly <djpohly@gmail.com> | 2023-07-21 20:13:38 -0400 | 
|---|---|---|
| committer | Leonardo Hernández Hernández <leohdz172@proton.me> | 2023-08-22 01:44:31 -0600 | 
| commit | 4eb54b55f36e770a42e9fc6a4701911b6aaac441 (patch) | |
| tree | c5eae8fdc341988cc0fa74c14d4ad44a5e6fd29f /dwl.c | |
| parent | 4567979b16b0509bb80b6102ecb9b601b3cf6fa1 (diff) | |
No need to send surface.leave/enter events
The scene graph implementation sends these for us, and it does so more
accurately than our overly-simplified approach.  Layer shell surfaces
don't appear to receive these events at all, according to my
WAYLAND_DEBUG experiments with bemenu and dtao.
ΔSLOC: -4
Diffstat (limited to 'dwl.c')
| -rw-r--r-- | dwl.c | 8 | 
1 files changed, 2 insertions, 6 deletions
| @@ -1525,7 +1525,6 @@ void  maplayersurfacenotify(struct wl_listener *listener, void *data)  {  	LayerSurface *l = wl_container_of(listener, l, map); -	wlr_surface_send_enter(l->layer_surface->surface, l->mon->wlr_output);  	motionnotify(0);  } @@ -2091,15 +2090,12 @@ setmon(Client *c, Monitor *m, uint32_t newtags)  	c->mon = m;  	c->prev = c->geom; -	/* TODO leave/enter is not optimal but works */ -	if (oldmon) { -		wlr_surface_send_leave(client_surface(c), oldmon->wlr_output); +	/* Scene graph sends surface leave/enter events on move and resize */ +	if (oldmon)  		arrange(oldmon); -	}  	if (m) {  		/* Make sure window actually overlaps with the monitor */  		resize(c, c->geom, 0); -		wlr_surface_send_enter(client_surface(c), m->wlr_output);  		c->tags = newtags ? newtags : m->tagset[m->seltags]; /* assign tags of target monitor */  		setfullscreen(c, c->isfullscreen); /* This will call arrange(c->mon) */  	} | 
