diff options
| author | Guido Cella <guidocella91@gmail.com> | 2020-07-23 20:30:25 +0200 | 
|---|---|---|
| committer | Guido Cella <guidocella91@gmail.com> | 2020-07-23 20:30:25 +0200 | 
| commit | ea73221b45ea7bc1536cd8cc5896652919e06b2b (patch) | |
| tree | 49440d7eda6b700de842d6957b18e0db37faa04a | |
| parent | 4a4a26111107d5f2827606cd630873d798bc8bf6 (diff) | |
Add killclient
| -rw-r--r-- | config.def.h | 1 | ||||
| -rw-r--r-- | dwl.c | 14 | 
2 files changed, 15 insertions, 0 deletions
| diff --git a/config.def.h b/config.def.h index 6e18fd3..41b652f 100644 --- a/config.def.h +++ b/config.def.h @@ -60,6 +60,7 @@ static const Key keys[] = {  	{ MODKEY,                    XKB_KEY_h,          setmfact,       {.f = -0.05} },  	{ MODKEY,                    XKB_KEY_l,          setmfact,       {.f = +0.05} },  	{ MODKEY,                    XKB_KEY_Tab,        view,           {0} }, +	{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_c,          killclient,     {0} },  	{ MODKEY,                    XKB_KEY_t,          setlayout,      {.v = &layouts[0]} },  	{ MODKEY,                    XKB_KEY_f,          setlayout,      {.v = &layouts[1]} },  	{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_space,      togglefloating, {0} }, @@ -171,6 +171,7 @@ static void inputdevice(struct wl_listener *listener, void *data);  static int keybinding(uint32_t mods, xkb_keysym_t sym);  static void keypress(struct wl_listener *listener, void *data);  static void keypressmod(struct wl_listener *listener, void *data); +static void killclient(const Arg *arg);  static Client *lastfocused(void);  static void maprequest(struct wl_listener *listener, void *data);  static void motionabsolute(struct wl_listener *listener, void *data); @@ -812,6 +813,19 @@ keypressmod(struct wl_listener *listener, void *data)  		&kb->device->keyboard->modifiers);  } +void +killclient(const Arg *arg) +{ +	Client *sel = selclient(); +	if (!sel) +		return; + +	if (sel->isx11) +		wlr_xwayland_surface_close(sel->xwayland_surface); +	else +		wlr_xdg_toplevel_send_close(sel->xdg_surface); +} +  Client *  lastfocused(void)  { | 
