focus urgent tabs
With a lot of open tabs its quite annoying to toggle through all tabs until reaching the next one with an urgent hint set. Also with using Ctrl-[0..9] to get to the first 10 tabs, in some cases this may have disadvantages: 1. with more than 10 tabs, you can not use that quickselection 2. with a small tabbed window, you do not see every tab in the statusbar and therefore do not know which tab got urgent Therefore I created a function, which iterates over all currently managed tabs, focus the first urgent tab found or stays at the current tab, if there is no urgent-tab. By default, that function is mapped to Ctrl-u. Signed-off-by: Jonas Rabenstein <jonas.rabenstein@studium.uni-erlangen.de> Signed-off-by: Christoph Lohmann <20h@r-36.net>
This commit is contained in:
parent
55dc32b27b
commit
5d0c5be102
|
@ -55,6 +55,8 @@ static Key keys[] = { \
|
|||
|
||||
{ MODKEY, XK_q, killclient, { 0 } },
|
||||
|
||||
{ MODKEY, XK_u, focusurgent, { .v = NULL } },
|
||||
|
||||
{ 0, XK_F11, fullscreen, { 0 } },
|
||||
};
|
||||
|
||||
|
|
3
tabbed.1
3
tabbed.1
|
@ -134,6 +134,9 @@ an already existing tab.
|
|||
.B Ctrl\-q
|
||||
close tab
|
||||
.TP
|
||||
.B Ctrl\-u
|
||||
focus next urgent tab
|
||||
.TP
|
||||
.B Ctrl\-[0..9]
|
||||
jumps to nth tab
|
||||
.TP
|
||||
|
|
12
tabbed.c
12
tabbed.c
|
@ -104,6 +104,7 @@ static void expose(const XEvent *e);
|
|||
static void focus(int c);
|
||||
static void focusin(const XEvent *e);
|
||||
static void focusonce(const Arg *arg);
|
||||
static void focusurgent(const Arg *);
|
||||
static void fullscreen(const Arg *arg);
|
||||
static char* getatom(int a);
|
||||
static int getclient(Window w);
|
||||
|
@ -491,6 +492,17 @@ focusonce(const Arg *arg) {
|
|||
nextfocus = True;
|
||||
}
|
||||
|
||||
void
|
||||
focusurgent(const Arg *args) {
|
||||
int c;
|
||||
for(c = (sel+1)%nclients; c != sel; c = (c+1)%nclients) {
|
||||
if(clients[c]->urgent) {
|
||||
focus(c);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
fullscreen(const Arg *arg) {
|
||||
XEvent e;
|
||||
|
|
Loading…
Reference in a new issue