diff options
| author | Stivvo <stivvo01@gmail.com> | 2020-09-04 12:44:09 +0200 | 
|---|---|---|
| committer | Guido Cella <guido@guidocella.xyz> | 2020-12-19 18:05:51 +0100 | 
| commit | 0f04c76387f74827931db0c3692fbdc2f50fa8d8 (patch) | |
| tree | 918f39a2380da30f2a677fc7045706f101a0a198 /dwl.c | |
| parent | 0f48c9552eaec29e1aac0165bc0e472b05e17ecd (diff) | |
Basic fullscreen
Diffstat (limited to 'dwl.c')
| -rw-r--r-- | dwl.c | 11 | 
1 files changed, 11 insertions, 0 deletions
| @@ -102,6 +102,7 @@ typedef struct {  	struct wl_listener map;  	struct wl_listener unmap;  	struct wl_listener destroy; +	struct wl_listener fullscreen;  	struct wlr_box geom;  /* layout-relative, includes border */  	Monitor *mon;  #ifdef XWAYLAND @@ -222,6 +223,7 @@ static void cursorframe(struct wl_listener *listener, void *data);  static void destroylayersurfacenotify(struct wl_listener *listener, void *data);  static void destroynotify(struct wl_listener *listener, void *data);  static void destroyxdeco(struct wl_listener *listener, void *data); +static void fullscreenotify(struct wl_listener *listener, void *data);  static Monitor *dirtomon(int dir);  static void focusclient(Client *c, int lift);  static void focusmon(const Arg *arg); @@ -909,6 +911,9 @@ createnotify(struct wl_listener *listener, void *data)  	wl_signal_add(&xdg_surface->events.unmap, &c->unmap);  	c->destroy.notify = destroynotify;  	wl_signal_add(&xdg_surface->events.destroy, &c->destroy); + +	wl_signal_add(&xdg_surface->toplevel->events.request_fullscreen, &c->fullscreen); +	c->fullscreen.notify = fullscreenotify;  }  void @@ -1037,6 +1042,12 @@ destroyxdeco(struct wl_listener *listener, void *data)  	free(d);  } +void +fullscreenotify(struct wl_listener *listener, void *data) { +	Client *c = wl_container_of(listener, c, fullscreen); +	wlr_xdg_toplevel_set_fullscreen(c->surface.xdg, true); +} +  Monitor *  dirtomon(int dir)  { | 
