/* See LICENSE file for copyright and license details. */ /* appearance */ static const char font[] = "Iosevka:pixelsize=14:antialias=true:autohint=true"; #include "/home/spy/.config/cols/tabbed.h" static const char before[] = "<"; static const char after[] = ">"; static const char titletrim[] = "..."; static const int tabwidth = 200; static const Bool foreground = True; static Bool urgentswitch = False; /* * Where to place a new tab when it is opened. When npisrelative is True, * then the current position is changed + newposition. If npisrelative * is False, then newposition is an absolute position. */ static int newposition = 0; static Bool npisrelative = False; #define SETPROP(p) { \ .v = (char *[]){ "/bin/sh", "-c", \ "prop=\"`xwininfo -children -id $1 | grep '^ 0x' |" \ "sed -e's@^ *\\(0x[0-9a-f]*\\) \"\\([^\"]*\\)\".*@\\1 \\2@' |" \ "xargs -0 printf %b | dmenu -l 10 -w $1`\" &&" \ "xprop -id $1 -f $0 8s -set $0 \"$prop\"", \ p, winid, NULL \ } \ } #define MODKEY ControlMask static Key keys[] = { /* modifier key function argument */ { MODKEY, XK_Return, focusonce, { 0 } }, { MODKEY, XK_Return, spawn, { 0 } }, { MODKEY, XK_h, movetab, { .i = -1 } }, { MODKEY, XK_l, movetab, { .i = +1 } }, { MODKEY, XK_j, rotate, { .i = +1 } }, { MODKEY, XK_k, rotate, { .i = -1 } }, { MODKEY, XK_Tab, rotate, { .i = 0 } }, { MODKEY, XK_grave, spawn, SETPROP("_TABBED_SELECT_TAB") }, { MODKEY, XK_1, move, { .i = 0 } }, { MODKEY, XK_2, move, { .i = 1 } }, { MODKEY, XK_3, move, { .i = 2 } }, { MODKEY, XK_4, move, { .i = 3 } }, { MODKEY, XK_5, move, { .i = 4 } }, { MODKEY, XK_6, move, { .i = 5 } }, { MODKEY, XK_7, move, { .i = 6 } }, { MODKEY, XK_8, move, { .i = 7 } }, { MODKEY, XK_9, move, { .i = 8 } }, { MODKEY, XK_0, move, { .i = 9 } }, { MODKEY, XK_q, killclient, { 0 } }, { MODKEY, XK_u, focusurgent, { 0 } }, { MODKEY|ShiftMask, XK_u, toggle, { .v = (void*) &urgentswitch } }, { MODKEY, XK_f, fullscreen, { 0 } }, };