Introduction
Introduction Statistics Contact Development Disclaimer Help
tabbed-hidetabs-20191216-b5f9ec6.diff - sites - public wiki contents of suckles…
git clone git://git.suckless.org/sites
Log
Files
Refs
---
tabbed-hidetabs-20191216-b5f9ec6.diff (2880B)
---
1 From 52708d468acace9543d01e6d8afae799f8d6fccd Mon Sep 17 00:00:00 2001
2 From: LeelaPakanati <[email protected]>
3 Date: Mon, 16 Dec 2019 18:57:32 -0500
4 Subject: [PATCH] Add hide tabs feature
5
6 ---
7 config.def.h | 7 +++++--
8 tabbed.c | 24 +++++++++++++++++++++---
9 2 files changed, 26 insertions(+), 5 deletions(-)
10
11 diff --git a/config.def.h b/config.def.h
12 index 7bfda30..bb7ef0e 100644
13 --- a/config.def.h
14 +++ b/config.def.h
15 @@ -63,10 +63,13 @@ static Key keys[] = {
16 { MODKEY|ShiftMask, XK_u, toggle, { .v = (void*) …
17
18 { 0, XK_F11, fullscreen, { 0 } },
19 +
20 + { MODKEY, XK_Shift_L, showbar, { .i = 1 } },
21 + { ShiftMask, XK_Control_L, showbar, { .i = 1 } },
22 };
23
24 static Key keyreleases[] = {
25 /* modifier key function argument */
26 - { 0, XK_Shift_L, NULL, { 0 } },
27 -
28 + { MODKEY|ShiftMask, XK_Shift_L, showbar, { .i = 0 } },
29 + { MODKEY|ShiftMask, XK_Control_L, showbar, { .i = 0 } …
30 };
31 diff --git a/tabbed.c b/tabbed.c
32 index fe38b9d..352dab2 100644
33 --- a/tabbed.c
34 +++ b/tabbed.c
35 @@ -127,6 +127,7 @@ static void sendxembed(int c, long msg, long detail,…
36 static void setcmd(int argc, char *argv[], int);
37 static void setup(void);
38 static void sigchld(int unused);
39 +static void showbar(const Arg *arg);
40 static void spawn(const Arg *arg);
41 static int textnw(const char *text, unsigned int len);
42 static void toggle(const Arg *arg);
43 @@ -154,7 +155,7 @@ static void (*handler[LASTEvent]) (const XEvent *) =…
44 [MapRequest] = maprequest,
45 [PropertyNotify] = propertynotify,
46 };
47 -static int bh, wx, wy, ww, wh;
48 +static int bh, wx, wy, ww, wh, vbh;
49 static unsigned int numlockmask;
50 static Bool running = True, nextfocus, doinitspawn = True,
51 fillagain = False, closelastclient = False,
52 @@ -171,6 +172,7 @@ static char winid[64];
53 static char **cmd;
54 static char *wmname = "tabbed";
55 static const char *geometry;
56 +static Bool barvisibility = False;
57
58 char *argv0;
59
60 @@ -317,9 +319,18 @@ void
61 drawbar(void)
62 {
63 XftColor *col;
64 - int c, cc, fc, width;
65 + int c, cc, fc, width, nbh;
66 char *name = NULL;
67
68 + nbh = barvisibility ? vbh : 0;
69 + if (nbh != bh) {
70 + bh = nbh;
71 + for (c = 0; c < nclients; c++)
72 + XMoveResizeWindow(dpy, clients[c]->win, 0, bh, …
73 + }
74 +
75 + if (bh == 0) return;
76 +
77 if (nclients == 0) {
78 dc.x = 0;
79 dc.w = ww;
80 @@ -1003,7 +1014,7 @@ setup(void)
81 screen = DefaultScreen(dpy);
82 root = RootWindow(dpy, screen);
83 initfont(font);
84 - bh = dc.h = dc.font.height + 2;
85 + vbh = dc.h = dc.font.height + 2;
86
87 /* init atoms */
88 wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False);
89 @@ -1096,6 +1107,13 @@ setup(void)
90 focus(-1);
91 }
92
93 +void
94 +showbar(const Arg *arg)
95 +{
96 + barvisibility = arg->i;
97 + drawbar();
98 +}
99 +
100 void
101 sigchld(int unused)
102 {
103 --
104 2.24.0
105
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.