Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

Howto: dwm configuration and installation

Share your HowTo, Documentation, Tips and Tricks. Not for support questions!.
Message
Author
Loomx
Posts: 55
Joined: 2010-09-28 01:11

Re: Howto: dwm configuration and installation

#31 Post by Loomx »

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 + .

User avatar
freek
Posts: 74
Joined: 2007-04-03 01:36
Location: Netherlands

Re: Howto: dwm configuration and installation

#32 Post by freek »

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
Head_on_a_Stick
Posts: 14114
Joined: 2014-06-01 17:46
Location: London, England
Has thanked: 81 times
Been thanked: 132 times

Re: Howto: dwm configuration and installation

#33 Post by Head_on_a_Stick »

Probably best to post the entire config.h

What is the output of `make`?
deadbang

User avatar
freek
Posts: 74
Joined: 2007-04-03 01:36
Location: Netherlands

Re: Howto: dwm configuration and installation

#34 Post by freek »

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: 74
Joined: 2007-04-03 01:36
Location: Netherlands

Re: Howto: dwm configuration and installation

#35 Post by freek »

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: 74
Joined: 2007-04-03 01:36
Location: Netherlands

Re: Howto: dwm configuration and installation

#36 Post by freek »

Rest of the keybinds work .... ^M+p .. xterm .. opens my xterm ..
there's no business like .. your own business ..

User avatar
freek
Posts: 74
Joined: 2007-04-03 01:36
Location: Netherlands

Re: Howto: dwm configuration and installation

#37 Post by freek »

.. 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 ..

Loomx
Posts: 55
Joined: 2010-09-28 01:11

Re: Howto: dwm configuration and installation

#38 Post by Loomx »

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)

User avatar
freek
Posts: 74
Joined: 2007-04-03 01:36
Location: Netherlands

Re: Howto: dwm configuration and installation

#39 Post by freek »

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 ..

Loomx
Posts: 55
Joined: 2010-09-28 01:11

Re: Howto: dwm configuration and installation

#40 Post by Loomx »

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?)

User avatar
freek
Posts: 74
Joined: 2007-04-03 01:36
Location: Netherlands

Re: Howto: dwm configuration and installation

#41 Post by freek »

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 ..

Loomx
Posts: 55
Joined: 2010-09-28 01:11

Re: Howto: dwm configuration and installation

#42 Post by Loomx »

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 } },

User avatar
freek
Posts: 74
Joined: 2007-04-03 01:36
Location: Netherlands

Re: Howto: dwm configuration and installation

#43 Post by freek »

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 ..

Loomx
Posts: 55
Joined: 2010-09-28 01:11

Re: Howto: dwm configuration and installation

#44 Post by Loomx »

:-)

Glad you got it sorted.

Post Reply