.TH DWM 1 dwm\-VERSION .SH NAME dwm \- dynamic window manager .SH SYNOPSIS .B dwm .RB [ \-v ] .SH DESCRIPTION dwm is a dynamic window manager for X. It manages windows in tiled, monocle and floating layouts. Either layout can be applied dynamically, optimising the environment for the application in use and the task performed. .P In tiled layouts windows are managed in a master and stacking area. The master area on the left contains one window by default, and the stacking area on the right contains all other windows. The number of master area windows can be adjusted from zero to an arbitrary number. In monocle layout all windows are maximised to the screen size. In floating layout windows can be resized and moved freely. Dialog windows are always managed floating, regardless of the layout applied. .P Windows are grouped by tags. Each window can be tagged with one or multiple tags. Selecting certain tags displays all windows with these tags. .P Each screen contains a small status bar which displays all available tags, the layout, the title of the focused window, and the text read from the root window name property, if the screen is focused. A floating window is indicated with an empty square and a maximised floating window is indicated with a filled square before the windows title. The selected tags are indicated with a different color. The tags of the focused window are indicated with a filled square in the top left corner. The tags which are applied to one or more windows are indicated with an empty square in the top left corner. .P dwm draws a small border around windows to indicate the focus state. .SH OPTIONS .TP .B \-v prints version information to stderr, then exits. .SH USAGE .SS Status bar .TP .B X root window name is read and displayed in the status text area. It can be set with the .BR xsetroot (1) command. .TP .B Common words explained for normies Super/Mod4 - Windows key. Master - The big window on the left. Stack - The 'stack' of windows on the right. Return - Enter key. Tags - Tags are the numbers in the top left of the status bar, they're like workspaces Button1 - Left Click Button2 - Middle Click/Mouse Wheel Click Button3 - Right Click .SS Keyboard commands .TP .B Super\-Space Start the terminal defined by the TERMINAL definition in config.h, by default it is set to urxvt .TP .B Super\-Shift\-Space Start the terminal as root. .TP .B Super\-d Spawn .BR dmenu(1) for launching other programs. .TP .B Super\-g Spawn .BR dmenu(1) for launching applications from ~/.local/games/ directory. .TP .B Super\-, Focus previous monitor, if any. .TP .B Super\-. Focus next monitor, if any. .TP .B Super\-Shift\-, Send focused window to previous monitor, if any. .TP .B Super\-Shift\-. Send focused window to next monitor, if any. .TP .B Super\-b Toggles bar on and off. .TP .B Super\-t Sets tiled layout. .TP .B Super\-f Sets floating layout. .TP .B Super\-m Sets monocle layout. .TP .B Super\-Shift\-Return Toggles between current and previous layout. .TP .B Super\-j Focus next window. .TP .B Super\-k Focus previous window. .TP .B Super\-Shift\-j Rotate currently focused window down the stack, master window will be sent to the top of the stack. .TP .B Super\-Shift\-k Rotate currently focused window up the stack, master window will be sent to the bottom of the stack. .TP .B Super\-i Increase number of windows in master area. .TP .B Super\-u Decrease number of windows in master area. .TP .B Super\-l Increase master area size. .TP .B Super\-h Decrease master area size. .TP .B Alt\-Tab Zooms/cycles focused window to/from master area (tiled layouts only). .TP .B Super\-q Close focused window. .TP .B Super\-Return Toggle focused window between tiled and floating state. .TP .B Super\-Tab Toggles to the previously selected tag. .TP .B Super\-Shift\-[1..n] Apply nth tag to focused window. .TP .B Super\-Shift\-0 Apply all tags to focused window. .TP .B Super\-Control\-Shift\-[1..n] Add/remove nth tag to/from focused window. .TP .B Super\-[1..n] View all windows with nth tag. .TP .B Super\-0 View all windows with any tag. .TP .B Super\-Control\-[1..n] Add/remove all windows with nth tag to/from the view. .TP .B Super\-Shift\-r Restart dwm. .TP .B Super\-Shift\-End Exit dwm. .TP .B Super\-w Opens web browser defined by BROWSER in config.h. .TP .B Super\-e Opens lf (file manager) in a urxvt instance. .TP .B Super\-s Opens Steam. .TP .B Super\-Shift\-h Opens a terminal instance running htop. .TP .B Super\-Shift\-n Opens a terminal instance running neovim. .TP .B Super\-Shift\-m Opens a terminal instance running neomutt. .TP .B Control\-Alt\-Delete Locks the screen using slock, requires slock to be installed to work. .TP .B Super\-PrintScreen Takes a screenshot using scrot. .TP .B Super\-v Allows you to pick a string of text to paste from a bookmarks file using a dmenu prompt, default path is ~/.local/share/bookmarks/bookmarksfile, requires xclip. .SS Mouse commands .TP .B Super\-LMB Move focused window while dragging. Tiled windows will be toggled to the floating state. .TP .B Super\-MMB Toggles focused window between floating and tiled state. .TP .B Super\-RMB Resize focused window while dragging. Tiled windows will be toggled to the floating state. .SH CUSTOMIZATION dwm is customized by creating a custom config.h and (re)compiling the source code. This keeps it fast, secure and simple. .SH SEE ALSO .BR dmenu (1), .SH ISSUES Java applications which use the XToolkit/XAWT backend may draw grey windows only. The XToolkit/XAWT backend breaks ICCCM-compliance in recent JDK 1.5 and early JDK 1.6 versions, because it assumes a reparenting window manager. Possible workarounds are using JDK 1.4 (which doesn't contain the XToolkit/XAWT backend) or setting the environment variable .BR AWT_TOOLKIT=MToolkit (to use the older Motif backend instead) or running .B xprop -root -f _NET_WM_NAME 32a -set _NET_WM_NAME LG3D or .B wmname LG3D (to pretend that a non-reparenting window manager is running that the XToolkit/XAWT backend can recognize) or when using OpenJDK setting the environment variable .BR _JAVA_AWT_WM_NONREPARENTING=1 . .SH BUGS Send all bug reports with a patch to hackers@suckless.org.