HOME

TheInfoList



OR:

dwm is a
minimalist In visual arts, music and other media, minimalism is an art movement that began in post–World War II in Western art, most strongly with American visual arts in the 1960s and early 1970s. Prominent artists associated with minimalism include Don ...
dynamic window manager In computing, a dynamic window manager is a tiling window manager where windows are tiled based on preset layouts between which the user can switch. Layouts typically have a main area and a secondary area. The main area usually shows one window, b ...
for the
X Window System The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems. X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wit ...
developed by Suckless that has influenced the development of several other X window managers, including
xmonad xmonad is a dynamic window manager (tiling) for the X Window System, noted for being written in the functional programming language Haskell. Window manager Begun in March 2007, version 0.1 was announced in April 2007 as 500 lines of Haskell. ...
and awesome. It is externally similar to
wmii In computing, a tiling window manager is a window manager with an organization of the screen into mutually non-overlapping frames, as opposed to the more common approach (used by stacking window managers) of coordinate-based stacking of overla ...
, but internally much simpler. dwm is written purely in C for performance and security in addition to simplicity, and lacks any configuration interface besides editing the source code. One of the project's guidelines is that the source code is intended to never exceed 2000 SLOC, and options meant to be user-configurable are all contained in a single
header file Many programming languages and other computer files have a directive, often called include (sometimes copy or import), that causes the contents of the specified file to be inserted into the original file. These included files are called copybooks ...
.


Features

dwm supports multiple workspaces and, unlike
ratpoison ratpoison is a tiling window manager for the X Window System primarily developed by Shawn Betts. ratpoison is written in C; Betts' StumpWM re-implements a similar window manager in Common Lisp. The user interface and much of their functionality ...
, allows moving and resizing windows with the mouse. Older versions of dwm displayed their
stdin In computer programming, standard streams are interconnected input and output communication channels between a computer program and its environment when it begins execution. The three input/output (I/O) connections are called standard input (stdin ...
in a status bar, along the edge of the screen. Recent versions instead display the
root window {{Unreferenced, date=September 2008 In the X Window System, every window is contained within another window, called its parent. This makes the windows form a hierarchy. The root window is the root of this hierarchy. It is as large as the screen/d ...
's name, which can be set by independent processes. This is often used to show information that would appear in the
notification area A taskbar is an element of a graphical user interface which has various purposes. It typically shows which programs are currently running. The specific design and layout of the taskbar varies between individual operating systems, but generally a ...
of other
desktop environments In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a graphica ...
—a clock, system load info, laptop battery and network status, music player information and the like. This status line is often complemented with
dmenu dwm is a minimalist dynamic window manager for the X Window System developed by Suckless that has influenced the development of several other X window managers, including xmonad and awesome. It is externally similar to wmii, but internally ...
, a textual application launcher from the same developers as dwm. dwm uses a
focus-follows-mouse In computing, focus indicates the act of selecting an element of a graphical user interface. Text entered at the keyboard or pasted from a clipboard is sent to the component which has the focus. Moving the focus away from a specific user interfac ...
model and lacks any window decoration other than a border to show focus. Since dwm's configurability amounts to
patching Patching is a small village and civil parish that lies amid the fields and woods of the southern slopes of the South Downs in the National Park in the Arun District of West Sussex, England. It has a visible hill-workings history going back t ...
the source code, many other options are possible.


dmenu

''dmenu'' is a keyboard-driven
menu In a restaurant, the menu is a list of food and beverages offered to customers and the prices. A menu may be à la carte – which presents a list of options from which customers choose – or table d'hôte, in which case a pre-established seque ...
utility developed as part of the dwm project. When invoked, usually by a user-configured
key combination computing, a keyboard shortcut also known as hotkey is a series of one or several keys to quickly invoke a software program or perform a preprogrammed action. This action may be part of the standard functionality of the operating system or a ...
, dmenu displays a horizontal menu of its stdin stream at the top edge of the screen. This is usually used to pipe in a list of executable names from the user's
$PATH PATH is an environment variable on Unix-like operating systems, DOS, OS/2, and Microsoft Windows, specifying a set of directories where executable programs are located. In general, each executing process or user session has its own PATH setting. ...
, but dmenu can be used for any purpose where a menu is required. The user can start typing a program name, and dmenu will narrow the list to show only
substring In formal language theory and computer science, a substring is a contiguous sequence of characters within a string. For instance, "''the best of''" is a substring of "''It was the best of times''". In contrast, "''Itwastimes''" is a subsequence ...
matches for what the user typed. The user can also use the arrow keys to navigate the menu. When a choice is made, dmenu sends the selected text to
stdout In computer programming, standard streams are interconnected input and output communication channels between a computer program and its environment when it begins execution. The three input/output (I/O) connections are called standard input (stdin ...
, which is usually piped into a shell to launch the program. Command-line options can alter the font and colors of the menu, make the search
case-insensitive In computers, case sensitivity defines whether uppercase and lowercase letters are treated as distinct (case-sensitive) or equivalent (case-insensitive). For instance, when users interested in learning about dogs search an e-book, "dog" and "Dog" a ...
, as well as switch the menu to a vertical orientation or place it at the bottom of the screen. By default, only
X Font Server The X font server (xfs) provides a standard mechanism for an X server to communicate with a font renderer, frequently one running on a remote machine. It usually runs on TCP port 7100. Current status The use of server-side fonts is currently ...
fonts are supported although a patch exists to enable
TrueType TrueType is an outline font standard developed by Apple in the late 1980s as a competitor to Adobe's Type 1 fonts used in PostScript. It has become the most common format for fonts on the classic Mac OS, macOS, and Microsoft Windows operating sy ...
fonts using
Xft Xft, the X FreeType interface library, is a free computer program library written by Keith Packard. It uses the MIT/X license that The Open Group applied after the post X11R6.4 license restoration. It is designed to allow the FreeType font ...
. dmenu is similar in function to
application launchers Application may refer to: Mathematics and computing * Application software, computer software designed to help the user to perform specific tasks ** Application layer, an abstraction layer that specifies protocols and interface methods used in a c ...
such as
Katapult Katapult is a free application launcher for the TDE desktop environment. Original development ceased in 2008, but it's been maintained by the TDE developers ever since. Katapult allows the user to quickly launch applications or open files by p ...
or
GNOME Do GNOME Do (often referred to as Do) is a free and open-source application launcher for Linux originally created by David Siegel, and currently maintained by Alex Launi. Like other application launchers, it allows searching for applications and file ...
for Linux or LaunchBar or Quicksilver for
Mac OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
in that it allows quick launching of programs from a graphical environment using the keyboard. In addition to dwm, dmenu is often used with other window managers like
xmonad xmonad is a dynamic window manager (tiling) for the X Window System, noted for being written in the functional programming language Haskell. Window manager Begun in March 2007, version 0.1 was announced in April 2007 as 500 lines of Haskell. ...
, or Openbox, and other software like the
uzbl Uzbl is a discontinued free and open-source minimalist web browser designed for simplicity and adherence to the Unix philosophy. Development began in early 2009 and is still considered in alpha software by the developers. The core component of Uz ...
web browser.


Forks and patches

dwm has been an influential project; many other window managers are based on dwm's source code or inspired by it. An extensive list of forks and patches can be found at the official site. Below is a list of a few notable examples: * awesome extends dwm with FreeType support, reconfigurability, Lua scripting support, theming, and more layout types. *
xmonad xmonad is a dynamic window manager (tiling) for the X Window System, noted for being written in the functional programming language Haskell. Window manager Begun in March 2007, version 0.1 was announced in April 2007 as 500 lines of Haskell. ...
is a dwm rewrite in
Haskell Haskell () is a general-purpose, statically-typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research and industrial applications, Haskell has pioneered a number of programming lang ...
with additional features.


See also

*
Comparison of X window managers This article compares variety of different X window managers. For an introduction to the topic, see X Window System. General information Features See also * Comparison of X Window System desktop environments * Window manager * ...


References


Further reading

* Tobias Walkowiak, ''Dynamische Fenster mit DWM. Ressourcen sparen mit dem etwas anderen Window Manager'', freeX, issue 6/07, (Oct/Nov 2007) pp. 44–47


External links

*
Going fast with DWM review in Linux Journal

dwm review

Configuring dwm



dwm for Windows (3rd party port)

dwm page in Free Software Directory


{{X desktop environments and window managers Application launchers Free software programmed in C Free X window managers Software using the MIT license Tiling window managers Unix windowing system-related software