From 3a1674608199a450f8dca541a80cce12334923e3 Mon Sep 17 00:00:00 2001 From: Abhinav Date: Sat, 31 May 2025 13:12:32 +0100 Subject: added option for new windows to take focus --- src/sxwm.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/sxwm.c') diff --git a/src/sxwm.c b/src/sxwm.c index 689fc59..b748445 100644 --- a/src/sxwm.c +++ b/src/sxwm.c @@ -14,6 +14,7 @@ * (C) Abhinav Prasai 2025 */ +#include #include #include #include @@ -828,10 +829,19 @@ void hdl_map_req(XEvent *xev) tile(); else if (c->floating) XRaiseWindow(dpy, w); + + if (user_config.new_win_focus) { + focused = c; + XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); + send_wm_take_focus(c->win); + } + XMapWindow(dpy, w); for (Client *c = workspaces[current_ws]; c; c = c->next) if (c->win == w) c->mapped = True; + + update_borders(); } @@ -1044,6 +1054,7 @@ void init_defaults(void) default_config.resize_master_amt = 5; default_config.snap_distance = 5; default_config.bindsn = 0; + default_config.new_win_focus = True; for (unsigned long i = 0; i < LENGTH(binds); i++) { default_config.binds[i].mods = binds[i].mods; @@ -1778,4 +1789,4 @@ int main(int ac, char **av) printf("sxwm: starting...\n"); run(); return 0; -} \ No newline at end of file +} -- cgit v1.2.3