Original author(s) | Anselm R. Garbe [1] |
---|---|
Developer(s) | suckless.org |
Initial release | July 14, 2006 [2] |
Stable release | |
Repository | |
Written in | C |
Operating system | Unix-like |
Size | 26 KB (source code) [4] |
Type | Window manager |
License | MIT [5] |
Website | dwm |
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 [6] and awesome. [7] [8] It is externally similar to wmii, but internally much simpler. dwm is written purely in C for performance [9] and lacks any configuration interface besides editing the source code. [10] One of the project's guidelines is that the source code is intended never to exceed 2000 SLOC, and options meant to be user-configurable are all contained in a single header file. [8]
dwm supports multiple workspaces and, unlike ratpoison, allows moving and resizing windows with the mouse. [11] Older versions of dwm displayed their stdin in a status bar, along the edge of the screen. Recent versions instead display the root window's name, which can be set by independent processes. 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 developers as dwm. dwm uses a focus-follows-mouse model and lacks any window decoration other than a border to show focus. Since dwm's configurability amounts to patching the source code, many other options are possible. [12]
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, [13] dmenu is often used with other window managers like xmonad, [14] or Openbox, [13] and other software like the uzbl web browser. [15] i3 uses dmenu as the default program launcher.
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:
An X window manager is a window manager that runs on top of the X Window System, a windowing system mainly used on Unix-like systems.
The Graphics Device Interface (GDI) is a legacy component of Microsoft Windows responsible for representing graphical objects and transmitting them to output devices such as monitors and printers. It was superseded by DirectDraw API and later Direct2D API. Windows apps use Windows API to interact with GDI, for such tasks as drawing lines and curves, rendering fonts, and handling palettes. The Windows USER subsystem uses GDI to render such UI elements as window frames and menus. Other systems have components that are similar to GDI; for example: Mac OS has QuickDraw, and Linux and Unix have X Window System core protocol.
In computing, a windowing system is a software suite that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP paradigm for a user interface.
Fluxbox is a stacking window manager for the X Window System, which started as a fork of Blackbox 0.61.1 in 2001, with the same aim to be lightweight. Its user interface has only a taskbar, a pop-up menu accessible by right-clicking on the desktop, and minimal support for graphical icons. All basic configurations are controlled by text files, including the construction of menus and the mapping of key-bindings. Fluxbox has high compliance to the Extended Window Manager Hints specification.
Sawfish is a window manager for the X Window System. It aims to manage windows in the most flexible and attractive manner possible. It is able to match a window by multiple criteria such as application, size or role, and based on this, can change the window's position, appearance, or behavior. This allows for highly customized window handling such as web browser windows opening full-screen without borders on a secondary monitor, a default terminal emulator window displaying full-screen at the desktop level, and all dialog box windows under a certain size opening on the lower right corner of the main monitor while larger ones are centered.
twm is a window manager for the X Window System. Started in 1987 by Tom LaStrange, it has been the standard window manager for the X Window System since version X11R4. The name originally stood for Tom's Window Manager, but the software was renamed Tab Window Manager by the X Consortium when they adopted it in 1989. twm is a stacking window manager that provides title bars, shaped windows and icon management. It is highly configurable and extensible.
ratpoison is a tiling window manager for the X Window System primarily developed by Shawn Betts. The user interface and much of their functionality are inspired by the GNU Screen terminal multiplexer. While ratpoison is written in C, Betts' StumpWM re-implements a similar window manager in Common Lisp.
The F Virtual Window Manager (FVWM) is a virtual window manager for the X Window System. Originally a twm derivative, FVWM is now a window manager for Unix-like systems.
In Unix computing, Ion is a tiling and tabbing window manager for the X Window System. It is designed such that it is possible to manage windows using only a keyboard, without needing a mouse. It is the successor of PWM and is written by the same author, Tuomo Valkonen. Since the first release of Ion in the summer 2000, similar alternative window management ideas have begun to show in other new window managers: Larswm, ratpoison, StumpWM, wmii, xmonad and dwm.
A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment. They work in conjunction with the underlying graphical system that provides required functionality—support for graphics hardware, pointing devices, and a keyboard—and are often written and created using a widget toolkit.
Xming is an X11 display server for Microsoft Windows operating systems, including Windows XP and later.
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 of coordinate-based stacking of overlapping objects (windows) that tries to fully emulate the desktop metaphor.
xmonad is a dynamic window manager (tiling) for the X Window System, noted for being written in the functional programming language Haskell.
An application launcher is a computer program that helps a user to locate and start other computer programs. An application launcher provides shortcuts to computer programs, and stores the shortcuts in one place so they are easier to find.
Unicode input is the insertion of a specific Unicode character on a computer by a user; it is a common way to input characters not directly supported by a physical keyboard. Unicode characters can be produced either by selecting them from a display or by typing a certain sequence of keys on a physical keyboard. In addition, a character produced by one of these methods in one web page or document can be copied into another. In contrast to ASCII's 96 element character set, Unicode encodes hundreds of thousands of graphemes (characters) from almost all of the world's written languages and many other signs and symbols besides.
Game Editor is a 2D game authoring package. It supports multi-platform development to iPhone, iPad, Mac OS X, Windows, Android, Linux, Windows Mobile-based Smartphones, GP2X, Pocket PCs, and Handheld PCs. Compatibility with these platforms is mentioned on Game Discovery, a popular site for game developers, among other software like The 3D Gamemaker, DarkBASIC, and GameMaker.
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, but one can also change the number of windows in this area. Its purpose is to reserve more space for the more important window(s). The secondary area shows the other windows.
awesome is a dynamic window manager for the X Window System developed in the C and Lua programming languages. Lua is also used for configuring and extending the window manager. Its development began as a fork of dwm, though has differed considerably since. It aims to be extremely small and fast, yet extensively customizable. It makes it possible for the user to manage windows with the use of keyboard.
i3 is a tiling window manager designed for X11, inspired by wmii and written in C. It supports tiling, stacking, and tabbing layouts, which are handled manually. Its configuration is achieved via a plain text file and extending i3 is possible using its Unix domain socket and JSON based IPC interface from many programming languages.
suckless.org is a free software community of programmers working on projects with a focus on minimalism, simplicity, clarity, and frugality. The group developed the dwm and wmii window managers, surf, tabbed, and other programs that are said to adhere strictly to the Unix philosophy of "doing one thing and doing it well". The development team follows the "Worse is better" principle and adheres to the KISS principle.
{{cite web}}
: Missing or empty |title=
(help)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