GARY IS COMING FOR YOU

You shouldn't have done that.

⚙ MALEVELON CREEK
CLICK TO SCAN
SPACE-BAR SERVICE DESK

Bartender

Here to help you explore

Questions and relevant page context are sent to TypeSafe. Questions Bartender cannot answer are saved to improve the site, without your account or IP. Other conversation stays in this tab.

dwm Tool Reference


dwm (Dynamic Window Manager) is a minimal, tiling window manager for X11.


Application Launch

  • Mod+Return - Launch terminal
  • Mod+Shift+Return - Launch terminal (swap with master)
  • Mod+P - Launch dmenu (application launcher)
  • Mod+Shift+P - Launch dmenu (alternative)

Window Management

  • Mod+C - Close focused window
  • Mod+Shift+C - Close window (alternative)
  • Mod+M - Toggle monocle (fullscreen)
  • Mod+F - Toggle floating
  • Mod+T - Toggle tiled layout
  • Mod+Space - Zoom (swap focused with master)
  • Mod+Shift+Space - Toggle floating

Window Navigation

  • Mod+J - Focus next window
  • Mod+K - Focus previous window
  • Mod+Tab - Focus next window
  • Mod+Shift+Tab - Focus previous window
  • Mod+H - Focus stack (backward)
  • Mod+L - Focus stack (forward)

Window Resizing

  • Mod+H - Decrease master area size
  • Mod+L - Increase master area size
  • Mod+Shift+H - Decrease number of master windows
  • Mod+Shift+L - Increase number of master windows
  • Mod+I - Increase number of windows in master area
  • Mod+D - Decrease number of windows in master area

Window Movement

  • Mod+Shift+J - Move window down in stack
  • Mod+Shift+K - Move window up in stack
  • Mod+Shift+H - Move window to master area
  • Mod+Shift+L - Move window to stack area

Tags (Workspaces)

  • Mod+1-9 - View tag
  • Mod+Shift+1-9 - Move window to tag
  • Mod+Ctrl+1-9 - Toggle tag view
  • Mod+0 - View all tags
  • Mod+Shift+0 - Make window appear on all tags

Layouts

  • Mod+T - Tiled layout
  • Mod+Shift+T - Tiled layout (alternative)
  • Mod+M - Monocle layout (fullscreen)
  • Mod+F - Floating layout
  • Mod+Shift+F - Floating layout (alternative)

System

  • Mod+Shift+Q - Quit dwm
  • Mod+B - Toggle status bar
  • Mod+Shift+B - Toggle status bar (alternative)

Configuration

Config File Location

  • ~/.config/dwm/config.h (source config)
  • config.def.h in dwm source directory
  • Must recompile after changes

Example Key Bindings

Customize in config.h:

static Key keys[] = {
    /* modifier                     key        function        argument */
    { MODKEY,                       XK_Return, spawn,          {.v = termcmd } },
    { MODKEY|ShiftMask,             XK_Return, spawn,          {.v = termcmd } },
    { MODKEY,                       XK_p,      spawn,          {.v = dmenucmd } },
    { MODKEY,                       XK_j,      focusstack,     {.i = +1 } },
    { MODKEY,                       XK_k,      focusstack,     {.i = -1 } },
    { MODKEY,                       XK_h,      setmfact,       {.f = -0.05} },
    { MODKEY,                       XK_l,      setmfact,       {.f = +0.05} },
    { MODKEY,                       XK_space,  zoom,           {0} },
    { MODKEY|ShiftMask,             XK_c,      killclient,     {0} },
    { MODKEY,                       XK_t,      setlayout,      {.v = &layouts[0]} },
    { MODKEY,                       XK_f,      setlayout,      {.v = &layouts[1]} },
    { MODKEY,                       XK_m,      setlayout,      {.v = &layouts[2]} },
    { MODKEY,                       XK_1,      view,           {.ui = 1 << 0} },
    { MODKEY|ShiftMask,             XK_1,      tag,            {.ui = 1 << 0} },
};

Change Modifier Key

#define MODKEY Mod1Mask  // Alt key
// or
#define MODKEY Mod4Mask  // Super/Windows key

Tips

  • MODKEY is Mod1Mask (Alt) by default, often changed to Mod4Mask (Super)
  • Tags act like workspaces - windows can be on multiple tags
  • Layouts: tiled, floating, monocle (fullscreen)
  • Must recompile dwm after config changes
  • Use patches to extend functionality
  • Status bar shows tags, layout, window title
  • Very minimal - everything configured in source code
  • Use dmenu for application launching