diff options
Diffstat (limited to 'dwl.c')
| -rw-r--r-- | dwl.c | 21 | 
1 files changed, 18 insertions, 3 deletions
| @@ -267,6 +267,7 @@ static void setcursor(struct wl_listener *listener, void *data);  static void setpsel(struct wl_listener *listener, void *data);  static void setsel(struct wl_listener *listener, void *data);  static void setfloating(Client *c, int floating); +static void setfullscreen(Client *c, int fullscreen);  static void setlayout(const Arg *arg);  static void setmfact(const Arg *arg);  static void setmon(Client *c, Monitor *m, unsigned int newtags); @@ -278,6 +279,7 @@ static void tag(const Arg *arg);  static void tagmon(const Arg *arg);  static void tile(Monitor *m);  static void togglefloating(const Arg *arg); +static void togglefullscreen(const Arg *arg);  static void toggletag(const Arg *arg);  static void toggleview(const Arg *arg);  static void unmaplayersurface(LayerSurface *layersurface); @@ -1069,10 +1071,16 @@ destroyxdeco(struct wl_listener *listener, void *data)  }  void -fullscreenotify(struct wl_listener *listener, void *data) +togglefullscreen(const Arg *arg)  { -	Client *c = wl_container_of(listener, c, fullscreen); -	c->isfullscreen = !c->isfullscreen; +	Client *sel = selclient(); +	setfullscreen(sel, !sel->isfullscreen); +} + +void +setfullscreen(Client *c, int fullscreen) +{ +	c->isfullscreen = fullscreen;  #ifdef XWAYLAND  	if (c->type == X11Managed) @@ -1093,6 +1101,13 @@ fullscreenotify(struct wl_listener *listener, void *data)  	}  } +void +fullscreenotify(struct wl_listener *listener, void *data) +{ +	Client *c = wl_container_of(listener, c, fullscreen); +	setfullscreen(c, !c->isfullscreen); +} +  Monitor *  dirtomon(int dir)  { | 
