Howto: dwm configuration and installation

Share your own howto's etc. Not for support questions!

Re: Howto: dwm configuration and installation

Postby Loomx » 2014-10-21 03:06

Crikey...
I use two tags: basically "those on screen" and "those off screen", then shuffle my windows around as needed (I obviously don't use as many different programs as you though)

If you want more tags, just add them and attach them to other keys, e.g. Modkey + !, Modkey + ;, Modkey + .
Loomx
 
Posts: 55
Joined: 2010-09-28 01:11

Re: Howto: dwm configuration and installation

Postby freek » 2016-03-04 21:42

dwm-6.1
Modkey + enter does not open xterm .. damned ! where do I f*ck up ?

In config.h:
Code: Select all
/* key definitions */
#define MODKEY Mod4Mask

Code: Select all
/* commands */
static const char *termcmd[]  = { "xterm", NULL };

Code: Select all
static Key keys[] = {
     { MODKEY,     XK_Return,     spawn,     { .v = termcmd } },


please ..  :?
there's no business like .. your own business ..
User avatar
freek
 
Posts: 73
Joined: 2007-04-03 01:36
Location: Nederland

Re: Howto: dwm configuration and installation

Postby Head_on_a_Stick » 2016-03-04 22:25

Probably best to post the entire config.h

What is the output of `make`?
“Such is modern computing: everything simple is made too complicated because it’s easy to fiddle with; everything complicated stays complicated because it’s hard to fix." — Rob Pike

Please read before posting How to report a problem
User avatar
Head_on_a_Stick
 
Posts: 6418
Joined: 2014-06-01 17:46
Location: /dev/chair

Re: Howto: dwm configuration and installation

Postby freek » 2016-03-04 23:47

config.h

Code: Select all
1 /* See LICENSE file for copyright and license details. */
  2
  3 /* appearance */
  4 static const char *fonts[] = {
  5         "terminus:size=10"
  6 };
  7 static const char dmenufont[]       = "terminus:size=10";
  8 static const char normbordercolor[] = "#444444";
  9 static const char normbgcolor[]     = "#000000";
 10 static const char normfgcolor[]     = "#bbbbbb";
 11 static const char selbordercolor[]  = "#005577";
 12 static const char selbgcolor[]      = "#000000";
 13 static const char selfgcolor[]      = "#eeeeee";
 14 static const unsigned int borderpx  = 2;        /* border pixel of windows */
 15 static const unsigned int snap      = 32;       /* snap pixel */
 16 static const int showbar            = 0;        /* 0 means no bar */
 17 static const int topbar             = 1;        /* 0 means bottom bar */
 18
 19 /* tagging */
 20 static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
 21
 22 static const Rule rules[] = {
 23         /* xprop(1):
 24          *      WM_CLASS(STRING) = instance, class
 25          *      WM_NAME(STRING) = title
 26          */
 27         /* class      instance    title       tags mask     isfloating   monitor */
 28         { "Gimp",     NULL,       NULL,       0,            1,           -1 },
 29         { "Firefox",  NULL,       NULL,       1 << 8,       0,           -1 },
 30 };
 31
 32 /* layout(s) */
 33 static const float mfact     = 0.55; /* factor of master area size [0.05..0.95] */
 34 static const int nmaster     = 1;    /* number of clients in master area */
 35 static const int resizehints = 0;    /* 1 means respect size hints in tiled resizals */
 36
 37 static const Layout layouts[] = {
 38         /* symbol     arrange function */
 39         { "[]=",      tile },    /* first entry is default */
 40         { "><>",      NULL },    /* no layout function means floating behavior */
 41         { "[M]",      monocle },
 42 };
 43
 44 /* key definitions */
 45 #define MODKEY Mod4Mask
 46 #define TAGKEYS(KEY,TAG) \
 47         { MODKEY,                       KEY,      view,           {.ui = 1 << TAG} }, \
 48         { MODKEY|ControlMask,           KEY,      toggleview,     {.ui = 1 << TAG} }, \
 49         { MODKEY|ShiftMask,             KEY,      tag,            {.ui = 1 << TAG} }, \
 50         { MODKEY|ControlMask|ShiftMask, KEY,      toggletag,      {.ui = 1 << TAG} },
 51
 52 /* helper for spawning shell commands in the pre dwm-5.0 fashion */
 53 #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
 54
 55 /* commands */
 56 static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
 57 static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", normbgcolor, "-    nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL };
 58 static const char *termcmd[]  = { "xterm", NULL };
 59
 60 static Key keys[] = {
 61         /* modifier                     key        function        argument */
 62         { MODKEY,                       XK_p,      spawn,          {.v = dmenucmd } },
 63         { MODKEY,                       XK_Return, spawn,          {.v = termcmd } },
 64         { MODKEY,                       XK_b,      togglebar,      {0} },
 65         { MODKEY,                       XK_j,      focusstack,     {.i = +1 } },
 66         { MODKEY,                       XK_k,      focusstack,     {.i = -1 } },
 67         { MODKEY,                       XK_i,      incnmaster,     {.i = +1 } },
 68         { MODKEY,                       XK_d,      incnmaster,     {.i = -1 } },
 69         { MODKEY,                       XK_h,      setmfact,       {.f = -0.05} },
 70         { MODKEY,                       XK_l,      setmfact,       {.f = +0.05} },
 71         { MODKEY|ShiftMask,             XK_Return, zoom,           {0} },
 72         { MODKEY,                       XK_Tab,    view,           {0} },
 73         { MODKEY|ShiftMask,             XK_c,      killclient,     {0} },
 74         { MODKEY,                       XK_t,      setlayout,      {.v = &layouts[0]} },
 75         { MODKEY,                       XK_f,      setlayout,      {.v = &layouts[1]} },
 76         { MODKEY,                       XK_m,      setlayout,      {.v = &layouts[2]} },
 77         { MODKEY,                       XK_space,  setlayout,      {0} },
 78         { MODKEY|ShiftMask,             XK_space,  togglefloating, {0} },
 79         { MODKEY,                       XK_0,      view,           {.ui = ~0 } },
 80         { MODKEY|ShiftMask,             XK_0,      tag,            {.ui = ~0 } },
 81         { MODKEY,                       XK_comma,  focusmon,       {.i = -1 } },
 82         { MODKEY,                       XK_period, focusmon,       {.i = +1 } },
 83         { MODKEY|ShiftMask,             XK_comma,  tagmon,         {.i = -1 } },
 84         { MODKEY|ShiftMask,             XK_period, tagmon,         {.i = +1 } },
 85         TAGKEYS(                        XK_1,                      0)
 86         TAGKEYS(                        XK_2,                      1)
 87         TAGKEYS(                        XK_3,                      2)
 88         TAGKEYS(                        XK_4,                      3)
 89         TAGKEYS(                        XK_5,                      4)
 90         TAGKEYS(                        XK_6,                      5)
 91         TAGKEYS(                        XK_7,                      6)
 92         TAGKEYS(                        XK_8,                      7)
 93         TAGKEYS(                        XK_9,                      8)
 94         { MODKEY|ShiftMask,             XK_q,      quit,           {0} },
 95 };
 96
 97 /* button definitions */
 98 /* click can be ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
 99 static Button buttons[] = {
100         /* click                event mask      button          function        argument */
101         { ClkLtSymbol,          0,              Button1,        setlayout,      {0} },
102         { ClkLtSymbol,          0,              Button3,        setlayout,      {.v = &layouts[2]} },
103         { ClkWinTitle,          0,              Button2,        zoom,           {0} },
104         { ClkStatusText,        0,              Button2,        spawn,          {.v = termcmd } },
105         { ClkClientWin,         MODKEY,         Button1,        movemouse,      {0} },
106         { ClkClientWin,         MODKEY,         Button2,        togglefloating, {0} },
107         { ClkClientWin,         MODKEY,         Button3,        resizemouse,    {0} },
108         { ClkTagBar,            0,              Button1,        view,           {0} },
109         { ClkTagBar,            0,              Button3,        toggleview,     {0} },
110         { ClkTagBar,            MODKEY,         Button1,        tag,            {0} },
111         { ClkTagBar,            MODKEY,         Button3,        toggletag,      {0} },
112 };
113
there's no business like .. your own business ..
User avatar
freek
 
Posts: 73
Joined: 2007-04-03 01:36
Location: Nederland

Re: Howto: dwm configuration and installation

Postby freek » 2016-03-04 23:49

make clean install

Code: Select all
[root@debian: dwm ] make clean install
cleaning
dwm build options:
CFLAGS   = -std=c99 -pedantic -Wall -Wno-deprecated-declarations -Os -I/usr/X11R6/include -I/usr/include/freetype2 -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=2 -DVERSION="6.1" -DXINERAMA
LDFLAGS  = -s -L/usr/X11R6/lib -lX11 -lXinerama -lfontconfig -lXft
CC       = cc
CC drw.c
CC dwm.c
CC util.c
CC -o dwm
installing executable file to /usr/local/bin
installing manual page to /usr/local/share/man/man1
[root@debian: dwm ]
there's no business like .. your own business ..
User avatar
freek
 
Posts: 73
Joined: 2007-04-03 01:36
Location: Nederland

Re: Howto: dwm configuration and installation

Postby freek » 2016-03-04 23:54

Rest of the keybinds work .... ^M+p .. xterm .. opens my xterm ..
there's no business like .. your own business ..
User avatar
freek
 
Posts: 73
Joined: 2007-04-03 01:36
Location: Nederland

Re: Howto: dwm configuration and installation

Postby freek » 2016-03-05 02:31

.. and some more info:

Code: Select all
[fvb@debian: ~ ] cat /etc/debian_version
stretch/sid

Code: Select all
[fvb@debian: ~ ] uname -a
Linux debian 4.3.0-1-686-pae #1 SMP Debian 4.3.5-1 (2016-02-06) i686 GNU/Linux
[fvb@debian: ~ ]
there's no business like .. your own business ..
User avatar
freek
 
Posts: 73
Joined: 2007-04-03 01:36
Location: Nederland

Re: Howto: dwm configuration and installation

Postby Loomx » 2016-03-22 08:53

Hmm, everything looks ok to me.

A couple of tests to try:
- does the keybind for 'zoom' work? (MOD + Shift + Return, Line 71 in your config.h)
- does the mousebind for 'termcmd' work? (Button 2 on status text, Line 104)
Loomx
 
Posts: 55
Joined: 2010-09-28 01:11

Re: Howto: dwm configuration and installation

Postby freek » 2016-03-23 14:02

Loomx wrote:Hmm, everything looks ok to me.

A couple of tests to try:
- does the keybind for 'zoom' work? (MOD + Shift + Return, Line 71 in your config.h)
- does the mousebind for 'termcmd' work? (Button 2 on status text, Line 104)


No .. doesn't do anything
there's no business like .. your own business ..
User avatar
freek
 
Posts: 73
Joined: 2007-04-03 01:36
Location: Nederland

Re: Howto: dwm configuration and installation

Postby Loomx » 2016-04-02 21:18

Neither one works?

1. If the 'zoom' keybind doesn't work, a common factor with your original issue would be the use of the Return key.
If you run `xev' in a terminal then press the Return key, what keycode does it give? e.g. "Return" or "Enter" or similar

2. If this one doesn't work, that would indicate something wrong with the 'termcmd' command, but it looks ok. Does it work if you bind it to another keybind, e.g. Mod-s ?
(Are you sure you were clicking mouse button 2, i.e. the middle mouse button, on the statusbar text, i.e. the window title?)
Loomx
 
Posts: 55
Joined: 2010-09-28 01:11

Re: Howto: dwm configuration and installation

Postby freek » 2016-04-03 08:22

Hi Loomx,

1
'xev' gives 'PK_Enter' .. so I changed the Mod-Return to Mod-Enter in config.h and 'make clean install' .. no go "error XK_Enter not declared here" ..

2
This works ! .. didn't do the right thing last time I gues (sorry)

Statusbar hidden so I really like the Mod-Return to work to open a new xterm .. and I think it's weird it's not working .. just can't stand it .. ;)

thnx
there's no business like .. your own business ..
User avatar
freek
 
Posts: 73
Joined: 2007-04-03 01:36
Location: Nederland

Re: Howto: dwm configuration and installation

Postby Loomx » 2016-04-03 09:25

Ok, that's progress :-)

Maybe try using the keysymbol in hex instead of the key name?

So instead of this:
Code: Select all
         { MODKEY,                   XK_Return,    spawn,          {.v = termcmd } },


try this: (check the keysym using xev first :-)
Code: Select all
         { MODKEY,                   0xff0d,    spawn,          {.v = termcmd } },
Loomx
 
Posts: 55
Joined: 2010-09-28 01:11

Re: Howto: dwm configuration and installation

Postby freek » 2016-04-03 18:47

Hi Loomx,

Problem solved .. it was Numlock .. numlock on and it doesn't work, numlock off and it works .. duh

silly me .. thnx
there's no business like .. your own business ..
User avatar
freek
 
Posts: 73
Joined: 2007-04-03 01:36
Location: Nederland

Re: Howto: dwm configuration and installation

Postby Loomx » 2016-04-04 08:01

:-)

Glad you got it sorted.
Loomx
 
Posts: 55
Joined: 2010-09-28 01:11

Previous

Return to Docs, Howtos, Tips & Tricks

Who is online

Users browsing this forum: No registered users and 2 guests

fashionable