t* dwm + patches
       
   URI git clone git://git.codevoid.de/dwm-sdk
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       tconfig.h (9386B)
       ---
            1 /* See LICENSE file for copyright and license details. */
            2 
            3 #define FONT "peep-12"
            4 
            5 /* appearance */
            6 static const char *fonts[]                 = { FONT };
            7 static const char normbgcolor[]          = "#181818"; // top bar bg
            8 static const char normfgcolor[]          = "#999999"; // top bar fg
            9 static const char selbgcolor[]           = "#181818"; // top bar selection bg
           10 static const char selfgcolor[]           = "#eeeeee"; // top bar selection fg
           11 static const char normbordercolor[]      = "#242424"; // window border bg
           12 static const char selbordercolor[]       = "#990000"; // window border fg
           13 static const char warncolor[]            = "#DE6D03"; // status bg warning
           14 static const char critcolor[]            = "#B91807"; // status bg critical
           15 static const unsigned int borderpx       = 1;         // window border size px
           16 static const unsigned int gappx          = 8;         // window gap size px
           17 static const unsigned int snap           = 8;         // snap distance px
           18 static const unsigned int systrayspacing = 1;         // systray spacing
           19 static const unsigned int systraypinning = 1;         // 0 tray follows mouse
           20 static const int rmaster                 = 0;         // 1 means master-area is on the right
           21 static const int systraypinningfailfirst = 1;         // 1 first screen, 0 last
           22 static const int showsystray             = 1;         // 0 = no systray
           23 static const int showbar                 = 1;         // 0 = no bar
           24 static const int topbar                  = 1;         // 0 = bottom bar
           25 
           26 static const char *colors[][3]      = {
           27     [SchemeNorm] = { normfgcolor, normbgcolor, normbordercolor },
           28     [SchemeSel]  = { selfgcolor, selbgcolor, selbordercolor },
           29     [SchemeWarn] = { selfgcolor, warncolor, selbordercolor },
           30     [SchemeCrit] = { selfgcolor, critcolor, selbordercolor },
           31 };
           32 
           33 /* dmenu options */
           34 #define DMENUOPTS "-fn", FONT, "-nb", normbgcolor, "-nf", normfgcolor, \
           35                   "-sb", selbgcolor, "-sf", selfgcolor
           36 
           37 /* tagging */
           38 static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
           39 
           40 /* rules */
           41 static const Rule rules[] = {
           42     /* class                instance title tagmask isfloating mon neverfocus */
           43     { "TelegramDesktop",      NULL, NULL,               0,    True,   -1,   0},
           44     { "com-sap-platin-Gui$1", NULL, "win0",             0,    True,   -1,   0},
           45     { "SAP GUI for Java",     NULL, "SAP GUI for Java", 0,    True,   -1,   0},
           46     { "mpv",                  NULL, NULL,               0,    True,   -1,   0},
           47     { "st-osd",               NULL, NULL,               0,    True,   -1,   0},
           48     { "Gimp",                 NULL, NULL,               0,    True,   -1,   0},
           49     { "Pqiv",                 NULL, NULL,               0,    True,   -1,   1},
           50     { "Pidgin",               NULL, NULL,               0,    True,   -1,   0},
           51     { "Seafile Client",       NULL, NULL,               0,    True,   -1,   0},
           52     { "QSyncthingTray",       NULL, NULL,               0,    True,   -1,   0},
           53 };
           54 
           55 /* layout(s) */
           56 static const float mfact     = 0.50; // factor of master area size [0.05..0.95]
           57 static const int nmaster     = 1;    // number of clients in master area
           58 static const int resizehints = 0;    // 1 = respect size hints in tiles
           59 
           60 static const Layout layouts[] = {
           61         /* symbol     arrange function */
           62         { "[D]",      deck},     // first entry is default
           63         { "[F]",      NULL },    // no layout function means floating behavior
           64 };
           65 
           66 /* key definitions */
           67 #define MODKEY Mod1Mask
           68 #define TAGKEYS(KEY,TAG) \
           69         { MODKEY,                       KEY,      view,           {.ui = 1 << TAG} }, \
           70         { MODKEY|ControlMask,           KEY,      toggleview,     {.ui = 1 << TAG} }, \
           71         { MODKEY|ShiftMask,             KEY,      tag,            {.ui = 1 << TAG} }, \
           72         { MODKEY|ControlMask|ShiftMask, KEY,      toggletag,      {.ui = 1 << TAG} },
           73 
           74 
           75 /* commands */
           76 static char dmenumon[2] = "0";
           77 static const char scratchpadname[] = "maeG0guw6lah0ohvooke";
           78 static const char *dmenucmd[]    = { "dmenu_run", DMENUOPTS, NULL };
           79 
           80 /* custom commands */
           81 static const char *termcmd[]       = { "st", NULL };
           82 static const char *bigtermcmd[]    = { "st","-f", "Terminus-22:bold", NULL };
           83 static const char *smalltermcmd[]  = { "st","-f", "ProFont", NULL };
           84 
           85 static const char *scratchpadcmd[] = { "st", "-t", scratchpadname, "-g", "160x28", NULL };
           86 static const char *browsercmd[]    = { ".dwm/browser", DMENUOPTS, NULL };
           87 static const char *passmenucmd[]   = { ".dwm/passmenu", DMENUOPTS, NULL };
           88 static const char *sshot[]         = { ".dwm/sshot", NULL };
           89 static const char *preview[]       = { "st", "-c", "st-osd", "-g", "57x6+950+30", "-f", "peep-9", "-e", "/home/sdk/.dwm/preview", NULL };
           90 static const char *youtube[]       = { ".dwm/youtube", NULL };
           91 
           92 static const char *timer[]       = { ".dwm/timer", NULL };
           93 static const char *notescmd[]      = { "st", "-e", "vim", "sftp://sdk@shell.codevoid.de/work/notes/notes.txt", NULL };
           94 
           95 static const char *updateStatus[]  = { "pkill", "-SIGUSR1", "dwmstatus", NULL };
           96 static const char *unMute[]        = { "mixerctl", "outputs.spkr_mute=off", NULL };
           97 
           98 #include "maximize.c"
           99 static Key keys[] = {
          100     /* modifier            key         function        argument */
          101     { 0,                   0x1008ff13, spawn,          {.v = updateStatus } },
          102     { 0,                   0x1008ff11, spawn,          {.v = updateStatus } },
          103     { 0,                   0x1008ff12, spawn,          {.v = unMute } },
          104     { MODKEY,              XK_d,       spawn,          {.v = dmenucmd } },
          105     { MODKEY,              XK_Return,  spawn,          {.v = termcmd } },
          106     { MODKEY|ShiftMask,    XK_Return,  spawn,          {.v = bigtermcmd } },
          107     { ControlMask|ShiftMask,    XK_Return,  spawn,          {.v = smalltermcmd } },
          108     { MODKEY|ShiftMask,    XK_f,       spawn,          {.v = browsercmd } },
          109     { MODKEY|ShiftMask,    XK_p,       spawn,          {.v = passmenucmd } },
          110     { MODKEY,              XK_p,       spawn,          {.v = preview } },
          111     { MODKEY,              XK_y,       spawn,          {.v = youtube } },
          112     { MODKEY|ShiftMask,    XK_Print,   spawn,          {.v = sshot } },
          113     { MODKEY|ShiftMask,    XK_o,       spawn,          {.v = notescmd } },
          114     { MODKEY|ShiftMask,    XK_t,       spawn,          {.v = timer } },
          115     { MODKEY,              XK_minus,   togglescratch,  {.v = scratchpadcmd } },
          116         { MODKEY|ShiftMask,    XK_r,       togglermaster,  {0} },
          117     { MODKEY,              XK_b,       togglebar,      {0} },
          118     { MODKEY,              XK_Right,   focusstack,     {.i = +1 } },
          119     { MODKEY,              XK_Left,    focusstack,     {.i = -1 } },
          120     { MODKEY|ShiftMask,    XK_i,       incnmaster,     {.i = +1 } },
          121     { MODKEY|ShiftMask,    XK_d,       incnmaster,     {.i = -1 } },
          122     { MODKEY,              XK_m,       zoom,           {0} },
          123     { MODKEY,              XK_h,       setmfact,       {.f = -0.05} },
          124     { MODKEY,              XK_l,       setmfact,       {.f = +0.05} },
          125     { MODKEY,              XK_Tab,     view,           {0} },
          126     { MODKEY|ShiftMask,    XK_q,       killclient,     {0} },
          127   //{ MODKEY,              XK_t,       setlayout,      {.v = &layouts[0]} },
          128   //{ MODKEY,              XK_m,       setlayout,      {.v = &layouts[1]} },
          129     { MODKEY,              XK_f,       togglemaximize, {0} },
          130     { MODKEY|ShiftMask,    XK_space,   togglefloating, {0} },
          131     { MODKEY,              XK_0,       view,           {.ui = ~0 } },
          132     { MODKEY|ShiftMask,    XK_0,       tag,            {.ui = ~0 } },
          133     { MODKEY,              XK_comma,   focusmon,       {.i = -1 } },
          134     { MODKEY,              XK_period,  focusmon,       {.i = +1 } },
          135     { MODKEY|ShiftMask,    XK_comma,   tagmon,         {.i = -1 } },
          136     { MODKEY|ShiftMask,    XK_period,  tagmon,         {.i = +1 } },
          137     { MODKEY|ShiftMask,    XK_Left,    viewtoleft,     {0} },
          138     { MODKEY|ShiftMask,    XK_Right,   viewtoright,    {0} },
          139     { MODKEY|ShiftMask,    XK_End,     quit,           {0} },
          140     TAGKEYS(               XK_1,                       0)
          141     TAGKEYS(               XK_2,                       1)
          142     TAGKEYS(               XK_3,                       2)
          143     TAGKEYS(               XK_4,                       3)
          144     TAGKEYS(               XK_5,                       4)
          145     TAGKEYS(               XK_6,                       5)
          146     TAGKEYS(               XK_7,                       6)
          147     TAGKEYS(               XK_8,                       7)
          148     TAGKEYS(               XK_9,                       8)
          149 };
          150 
          151 /* button definitions; click can be:
          152  * ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, ClkRootWin */
          153 static Button buttons[] = {
          154     /* click         event mask button   function        argument */
          155     { ClkLtSymbol,   0,         Button1, setlayout,      {0} },
          156     { ClkLtSymbol,   0,         Button3, setlayout,      {.v = &layouts[2]} },
          157     { ClkWinTitle,   0,         Button2, zoom,           {0} },
          158     { ClkStatusText, 0,         Button2, spawn,          {.v = termcmd } },
          159     { ClkClientWin,  MODKEY,    Button1, movemouse,      {0} },
          160     { ClkClientWin,  MODKEY,    Button2, togglefloating, {0} },
          161     { ClkClientWin,  MODKEY,    Button3, resizemouse,    {0} },
          162     { ClkTagBar,     0,         Button1, view,           {0} },
          163     { ClkTagBar,     0,         Button3, toggleview,     {0} },
          164     { ClkTagBar,     MODKEY,    Button1, tag,            {0} },
          165     { ClkTagBar,     MODKEY,    Button3, toggletag,      {0} },
          166 };
          167