dwm

From Wikipedia, the free encyclopedia
Jump to: navigation, search
This article is about the X11 window manager. For other uses, see DWM (disambiguation).
For the window manager used in Microsoft Windows Vista, 7 and 8, see Desktop Window Manager.
dwm
Dwm-logo.png
Dwm-shot.png
dwm-5.7.2 showing urxvt, GIMP, Chromium and some open terminals
Original author(s) Anselm R. Garbe[1]
Developer(s) suckless.org
Stable release 6.0 / December 19, 2011; 3 years ago (2011-12-19)
Written in C
Operating system Unix-like
Size 20 KB (source code)[2]
Type Window manager
License MIT License[3]
Website dwm.suckless.org

dwm is a dynamic, minimalist tiling window manager for X Window System that has influenced the development of several other X window managers, including xmonad[4] and awesome.[5][6] It is externally similar to wmii, but internally much simpler. dwm is written purely in C and for performance and security in addition to simplicity,[7] lacks any configuration interface besides editing the source code.[8] One of the project's guidelines is that the source code will never exceed 2000 lines, and options meant to be user-configurable are all contained in a single header file.[6]

Features[edit]

dwm supports multiple workspaces and, unlike ratpoison, allows moving and resizing windows with the mouse.[9] Older versions of dwm displayed their stdin in a status bar along the edge of the screen. Recent versions use the root window name, which can be changed by an independent process. This is often used to show information that would appear in the notification area of other desktop environments—a clock, system load info, laptop battery and network status, music player information and the like. This status line is often complemented with dmenu, a textual application launcher from the same developer as dwm. dwm uses a focus-follows-mouse model and lacks any window decoration other than a border to show focus.

dmenu[edit]

dmenu is a keyboard-driven menu utility developed as part of the dwm project. When invoked, usually by a user-configured key combination, 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, 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 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, 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, 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 fonts are supported although a patch exists to enable TrueType fonts using Xft.

dmenu is similar in function to application launchers such as Katapult or GNOME Do for Linux or LaunchBar or Quicksilver for Mac OS X in that it allows quick launching of programs from a graphical environment using the keyboard.

In addition to dwm,[10] dmenu is often used with other tiling window managers like xmonad,[11] as well as stacking window managers like Openbox,[10] and other software like the uzbl web browser.[12]

Forks and patches[edit]

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:

  • wmii is a tiling window manager from which dwm draws inspiration.
  • xmonad is a dwm rewrite in Haskell with additional features.
  • awesome extends dwm with FreeType support, reconfigurability, Lua scripting support, theming, and more layout types.
  • echinus extends dwm with FreeType support, subset of EWMH,[13] click-to-focus, reconfigurability, and more layout types.
  • scrotwm borrows some code from dwm, adds reconfigurability and is restartable without losing state.

See also[edit]

References[edit]

  1. ^ Garbe, Anselm R. "Anselm R Garbe". garbe.us. Retrieved 2011-05-15. 
  2. ^ "dwm dynamic window manager". suckless.org. Retrieved March 12, 2012. 
  3. ^ "LICENCE". suckless.org. Retrieved March 12, 2012. 
  4. ^ Kolmodin, Lennart (April 2, 2007). "xmonad". Bits and Bytes. Retrieved 2011-05-15. 
  5. ^ Danjou, Julien (20 Sept 2007). "Announcing "awesome"". dwm mailing list. http://www.mail-archive.com/dwm@suckless.org/msg02474.html. Retrieved 2011-05-15.
  6. ^ a b Auza, Jun (August 2, 2008). "20 Most Nimble and Simple X Window Managers for Linux". TechSource. 
  7. ^ "dwm home page". dwm is customized through editing its source code, which makes it extremely fast and secure - it does not process any input data which isn’t known at compile time 
  8. ^ Byfield, Bruce (2007-05-31). "Keyboard-driven environments open a new window on the desktop". Linux.com. SourceForge, Inc. Retrieved 2010-03-01. 
  9. ^ "A Review And Tutorial Of The DWM Window Manager". Linux Goodies. Retrieved 2012-01-30. 
  10. ^ a b Arch Linux Magazine Team (January 2010). "Software Review: 2009 LnF Awards". Arch Linux Magazine. Retrieved 4 March 2010. 
  11. ^ "100 open source gems - part 2". TuxRadar. Future Publishing. 21 May 2009. Retrieved 3 March 2010. 
  12. ^ Vervloesem, Koen (15 July 2009). "Uzbl: a browser following the UNIX philosophy". LWN.net. Eklektix, Inc. Retrieved 3 March 2010. 
  13. ^ Polakov, Alexander, Homepage of author and his projects, retrieved 2011-11-19 

Further reading[edit]

  • (German) 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[edit]