Introduction
Introduction Statistics Contact Development Disclaimer Help
focus urgent tabs - tabbed - tab interface for application supporting Xembed
git clone git://git.suckless.org/tabbed
Log
Files
Refs
README
LICENSE
---
commit 5d0c5be1028c67f3b499017c5c39019f4b1d8c10
parent 55dc32b27b73c121cab18009bf087e95ef3d9c18
Author: Jonas Rabenstein <[email protected]>
Date: Wed, 19 Aug 2015 21:11:15 +0200
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 <[email protected]>
Signed-off-by: Christoph Lohmann <[email protected]>
Diffstat:
M config.def.h | 2 ++
M tabbed.1 | 3 +++
M tabbed.c | 12 ++++++++++++
3 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/config.def.h b/config.def.h
@@ -55,6 +55,8 @@ static Key keys[] = { \
{ MODKEY, XK_q, killclient, { 0 } },
+ { MODKEY, XK_u, focusurgent, { .v = NULL…
+
{ 0, XK_F11, fullscreen, { 0 } },
};
diff --git a/tabbed.1 b/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
diff --git a/tabbed.c b/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);
@@ -492,6 +493,17 @@ focusonce(const Arg *arg) {
}
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;
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.