diff --git a/src/client.c b/src/client.c index 745ddd3..fde0f87 100644 --- a/src/client.c +++ b/src/client.c @@ -1431,6 +1431,14 @@ uicb_client_toggle_free(Uicb cmd) } } +void +uicb_client_tab_next_opened(Uicb cmd) +{ + (void)cmd; + + W->flags ^= WMFS_TABNOC; +} + void client_free(void) { diff --git a/src/client.h b/src/client.h index 7ef4d75..8502ec9 100644 --- a/src/client.h +++ b/src/client.h @@ -58,6 +58,7 @@ void client_update_props(struct client *c, Flags f); void client_fac_hint(struct client *c); void uicb_client_untab(Uicb cmd); void uicb_client_toggle_free(Uicb cmd); +void uicb_client_tab_next_opened(Uicb cmd); /* Generated */ void uicb_client_resize_Right(Uicb); diff --git a/src/config.h b/src/config.h index 2570f7e..4cfc0e5 100644 --- a/src/config.h +++ b/src/config.h @@ -78,6 +78,7 @@ static const struct { char *name; void (*func)(Uicb cmd); } uicb_list[] = { "client_focus_prev_tab", uicb_client_focus_prev_tab }, { "client_focus_click", uicb_client_focus_click }, { "client_toggle_free", uicb_client_toggle_free }, + { "client_tab_next_opened", uicb_client_tab_next_opened }, /* Status */ { "status" , uicb_status }, diff --git a/src/layout.c b/src/layout.c index 9ae7a0d..8534a87 100644 --- a/src/layout.c +++ b/src/layout.c @@ -393,6 +393,14 @@ layout_split_integrate(struct client *c, struct client *sc) } } + /* Tab Next Opened Client */ + if(W->flags & WMFS_TABNOC) + { + W->flags ^= WMFS_TABNOC; + _client_tab(c, sc); + return; + } + c->flags |= CLIENT_TILED; g = layout_split(sc, (sc->geo.h < sc->geo.w)); diff --git a/src/systray.c b/src/systray.c index e6c2b88..2ebae5b 100644 --- a/src/systray.c +++ b/src/systray.c @@ -72,7 +72,7 @@ systray_add(Window win) s->geo.h = W->systray.barwin->geo.h; s->geo.w = W->systray.barwin->geo.h + SYSTRAY_SPACING; - ewmh_set_wm_state(s->win, WithdrawnState); + ewmh_set_wm_state(s->win, NormalState); XSelectInput(W->dpy, s->win, StructureNotifyMask | PropertyChangeMask| EnterWindowMask | FocusChangeMask); XReparentWindow(W->dpy, s->win, W->systray.win, 0, 0); diff --git a/src/wmfs.h b/src/wmfs.h index 8a72310..f49eb58 100644 --- a/src/wmfs.h +++ b/src/wmfs.h @@ -325,6 +325,7 @@ struct wmfs #define WMFS_LOG 0x10 #define WMFS_LAUNCHER 0x20 #define WMFS_SIGCHLD 0x40 +#define WMFS_TABNOC 0x80 /* tab next opened client */ Flags flags; GC gc, rgc; Atom *net_atom;