Getting into dwm

Okay Chaps

I am starting to get into dwm and get it setup. Two/three things I haven’t worked out how to do yet and I hope someone here can help.

1.Use media XF86 buttons with mpd
I added these to my config.def.h file

static const char *munext[]  = { "/usr/bin/mpc", "next", NULL };
static const char *muprev[]  = { "/usr/bin/mpc", "prev", NULL };
static const char *mupause[]  = { "/usr/bin/mpc", "toggle", NULL };


	{ 0,              XF86XK_AudioNext,        spawn,           {.v = munext } },
	{ 0,              XF86XK_AudioPrev,        spawn,           {.v = muprev } },
  	{ 0,              XF86XK_AudioPlay,       spawn,            {.v = mupause } },
  	{ 0,              XF86XK_AudioPause,       spawn,           {.v = mupause } },
  	{ 0,              XF86XK_AudioStop,       spawn,            {.v = mupause } },
  1. Set mate-appearance-properties to set the correct theme and wallpaper upon boot/log-in (I am using an .xml file for a wallpaper to change through out the day and so that’s why I am using mate-appearance.
    I added to my ~.Xinitrc file
    /usr/lib/mate-settings-daemon/mate-settings-daemon &

  2. Set ksuperkey to work with dwm and to run rofi.
    Solved, see @PackRat and @natemaia

If anyone can help it will be really appreciated.

1 Like

Okay I have corrected my first issue.

Need get the mate-appearance to start at login.

1 Like

This is partially solved for me, would still like to get ksuperkey to work.

Well , looks too complicated for me ! lol

Wonder if some had ksuperkey working on dwm.

Same as any other WM, create a bind that launches your preferred launcher

/* Create a launcher command */
static const char *dmenu[] = { "dmenu_run", NULL };

/* Bind it in the keybind array */
{ Mod1Mask,           XK_F1,       spawn,       {.v = dmenu} },

Recompile and test.


Then install and launch ksuperkey via ~/.xinitrc or similar for whatever key you want to use to whatever keybind you set up before (Alt-F1 in this case)

ksuperkey -e 'Super_L=Alt_L|F1' &



What Nate posted, and I use rofi; so the function for that:

static const char *roficmd[]    = { "rofi", "-show", "run", NULL };
1 Like

Thanks Chaps. Still getting a hang of this so thanks for the patience.

I’m really starting to enjoy dwm. I’m adding a few patches that add a bit of functionality and it is starting to shape up really nice.


I knew it would be like this :rofl:


Which ones did you use?

Don’t worry, just setting up dwm so its similar in use to i3 if I happen to change for good.

Just one actually, so far anyway, I added the Fibonacci patch.

I’ve never tried that one.

Focusonclick, gapless grid, and bottomstack are the ones I usually apply.

I’m still very much at the beginning with dwm but I am sure I will try other patches.

1 Like

attachaside (or similar) is a must imo


I’ve just started using that one as well.