Tiling window manager
Encyclopedia
In computing, a tiling window manager is a window manager
Window manager
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...

 with an organization of the screen into mutually non-overlapping frames, as opposed to the more popular approach of coordinate-based stacking of overlapping objects (window
Window (computing)
In computing, a window is a visual area containing some kind of user interface. It usually has a rectangular shape that can overlap with the area of other windows...

s) that tries to fully emulate the desktop metaphor
Desktop metaphor
The desktop metaphor is an interface metaphor which is a set of unifying concepts used by graphical user interfaces to help users more easily interact with the computer. The desktop metaphor treats the monitor of a computer as if it is the user's desktop, upon which objects such as documents and...

.

Xerox PARC

Although the first bitmap
Bitmap
In computer graphics, a bitmap or pixmap is a type of memory organization or image file format used to store digital images. The term bitmap comes from the computer programming terminology, meaning just a map of bits, a spatially mapped array of bits. Now, along with pixmap, it commonly refers to...

ped graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

 used a different, "desktop" metaphor
Desktop metaphor
The desktop metaphor is an interface metaphor which is a set of unifying concepts used by graphical user interfaces to help users more easily interact with the computer. The desktop metaphor treats the monitor of a computer as if it is the user's desktop, upon which objects such as documents and...

 (it was Smalltalk
Smalltalk
Smalltalk is an object-oriented, dynamically typed, reflective programming language. Smalltalk was created as the language to underpin the "new world" of computing exemplified by "human–computer symbiosis." It was designed and created in part for educational use, more so for constructionist...

, created at Xerox PARC
Xerox PARC
PARC , formerly Xerox PARC, is a research and co-development company in Palo Alto, California, with a distinguished reputation for its contributions to information technology and hardware systems....

), tiling window managers followed soon. The first Xerox Star
Xerox Star
The Star workstation, officially known as the Xerox 8010 Information System, was introduced by Xerox Corporation in 1981. It was the first commercial system to incorporate various technologies that today have become commonplace in personal computers, including a bitmapped display, a window-based...

 system (released in 1981) tiled application windows, but allowed dialogs and property windows to overlap. Later, Xerox PARC also developed CEDAR
Cedar
Cedrus is a genus of coniferous trees in the plant family Pinaceae. They are native to the mountains of the western Himalaya and the Mediterranean region, occurring at altitudes of 1,500–3,200 m in the Himalaya and 1,000–2,200 m in the Mediterranean.-Description:Cedars are trees up to...

 (released in 1982), the first windowing system using a tiled window manager.

Various vendors

Next in 1983 came Andrew
Andrew Project
The Andrew Project was a distributed computing environment developed at Carnegie Mellon University beginning in 1982. It was an ambitious project for its time and resulted in an unprecedentedly vast and accessible university computing infrastructure....

 WM, a complete tiled windowing system later replaced by X11.

Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

's Windows 1.0
Windows 1.0
Windows 1.0 is a 16-bit graphical operating environment, developed by Microsoft and released on 20 November 1985. It was Microsoft's first attempt to implement a multi-tasking graphical user interface-based operating environment on the PC platform. Windows 1.0 was the first version of Windows...

 (released in 1985) also used tiling (see sections below).

In 1986 came Digital Research
Digital Research
Digital Research, Inc. was the company created by Dr. Gary Kildall to market and develop his CP/M operating system and related products. It was the first large software company in the microcomputer world...

's GEM
Graphical Environment Manager
GEM was a windowing system created by Digital Research, Inc. for use with the CP/M operating system on the Intel 8088 and Motorola 68000 microprocessors...

 2.0, a windowing system for the CP/M
CP/M
CP/M was a mass-market operating system created for Intel 8080/85 based microcomputers by Gary Kildall of Digital Research, Inc...

 which used tiling by default.

One of the early (created in 1988) tiling WMs was Siemens
Siemens
Siemens may refer toSiemens, a German family name carried by generations of telecommunications industrialists, including:* Werner von Siemens , inventor, founder of Siemens AG...

' RTL, up to today a textbook example because of its algorithms of automated window scaling, placement and arrangement, and (de)iconification. RTL ran on X11R2 and R3, mainly on the "native" Siemens systems, e.g., SINIX
SINIX
SINIX was a variant of the Unix operating system from Siemens Nixdorf Informationssysteme. Supersedes SIRM OS and Pyramid Technology's DC/OSx. Its last release under the SINIX name was version 5.43 in 1995...

. It's features are best described by its promotional video.

The Andrew Project (AP or tAP) was a Desktop client system (like early GNOME) for X with a tiling and overlapping wm.

Microsoft Windows

Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 has included a window manager since Windows 95
Windows 95
Windows 95 is a consumer-oriented graphical user interface-based operating system. It was released on August 24, 1995 by Microsoft, and was a significant progression from the company's previous Windows products...

 which, while it follows the traditional stacking approach by default, can optionally also act as a rudimentary tiling window manager.

To tile windows, first select them in the taskbar
Taskbar
In computing, a taskbar is a bar displayed on a full edge of a GUI desktop that is used to launch and monitor running applications. Microsoft incorporated a taskbar in Windows 95 and it has been a defining aspect of Microsoft Windows's graphical user interface ever since. Some desktop environments,...

. Multiple windows can be selected while holding the Control key
Control key
In computing, a Control key is a modifier key which, when pressed in conjunction with another key, will perform a special operation ; similar to the Shift key, the Control key rarely performs any function when pressed by itself...

 during clicking. Then, right click and from the context menu choose Tile Vertically or Tile Horizontally. However, the wording of these options is misleading. Choosing Tile Vertically will cause the windows to tile horizontally but take on a vertical shape, while choosing Tile Horizontally will cause the windows to tile vertically but take on a horizontal shape. These options were later changed in Windows Vista
Windows Vista
Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...

 to Show Windows Side by Side and Show Windows Stacked, respectively.

The upcoming Windows 8 Metro UI is shown to have a basic tiling window manager.

History

The first version (Windows 1.0
Windows 1.0
Windows 1.0 is a 16-bit graphical operating environment, developed by Microsoft and released on 20 November 1985. It was Microsoft's first attempt to implement a multi-tasking graphical user interface-based operating environment on the PC platform. Windows 1.0 was the first version of Windows...

) featured a tiling window manager, partly because of litigation by Apple claiming ownership of the overlapping window desktop metaphor
Desktop metaphor
The desktop metaphor is an interface metaphor which is a set of unifying concepts used by graphical user interfaces to help users more easily interact with the computer. The desktop metaphor treats the monitor of a computer as if it is the user's desktop, upon which objects such as documents and...

. But due to complaints, the next version (Windows 2.0
Windows 2.0
Windows 2.0 is a 16-bit Microsoft Windows GUI-based operating environment that was released on December 9, 1987 and is the successor to Windows 1.0. With Windows 2.1x in 1988, Windows 2.0 was supplemented by Windows/286 and Windows/386...

) followed the desktop metaphor. All later versions of the operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 stuck to this approach as the default behaviour.

Third-party addons

There are third-party programs that add more sophisticated tiling functionality to Windows, similar to what is available in tiling window managers used in other operating systems:
  • WindowSizer - Tiles windows (shareware)
  • WinSplit - Tiles windows using keyboard shortcuts (freeware)
  • HashTWM - Tiling window manager with automatic tiling (MIT/X11)
  • GridMove - Tiles and arranges windows on sophisticated layouts with hotkeys and multi-monitor support (freeware/donationware)
  • bug.n - Amongst other flavours is a dynamic, tiling window manager, which tries to clone the functionality of dwm
    Dwm
    dwm is a dynamic tiling window manager for X11 exhibiting the principles of minimalism which is known for having influenced the development of other window managers, including xmonad and awesome. It is externally similar to wmii, but internally much simpler. dwm is written purely in C and, for...

     (see list of X window managers) (GPL).
  • Windawesome - A highly customizable dynamic window manager written in C# (GPL v2).
  • MaxTo - Tiles windows on user-defined grid by intercepting windows that are maximized or using hotkeys. Supports multi-monitor setups (shareware)
  • Twinsplay - Tiles windows using keyboard shortcuts (trial/closed source)
  • Plumb - Automatically aligns windows for you while you work (freeware)
  • Divvy - Commercial.
  • Python-windows-tiler - Very basic tiler (LGPL)

X Window System

In the X Window System
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...

 the window manager is a separate program. X itself enforces no specific window management approach and current X protocol version X11 explicitly mentions the possibility of tiling window managers. The Siemens RTL Tiled Window Manager (released in 1988) was the first to implement automatic placement/sizing strategies. Another tiling window manager from this period was the Cambridge Window Manager developed by IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

's Academic Information System group.

No new tiling window managers for X were developed for some time. In 2000 both larswm
Larswm
larswm is a window manager for the X window system that follows the tiling window manager paradigm. Using ideas from the older 9wm window manager, it features automatic tiling and virtual desktops. It also borrows other ideas, for example a limited form of plumbing, from the Acme development...

 and Ion released a first version.

List of tiling window managers for X

  • awesome
    Awesome (window manager)
    awesome is a dynamic window manager for the X Window System developed in the C and Lua programming languages. The latter is also used for configuring and extending the window manager. Its development began as a fork of dwm...

     - a dwm derivative with window tiling, floating and tagging, written in C and configurable and extensible in Lua. It was the first WM to be ported from Xlib
    Xlib
    Xlib is an X Window System protocol client library written in the C programming language. It contains functions for interacting with an X server. These functions allow programmers to write programs without knowing the details of the protocol...

     to XCB
    XCB
    In computing, XCB is a C language binding for the X Window System. It is implemented as free software and aims to replace Xlib. The project was started in 2001 by Bart Massey....

    , and supports D-Bus
    D-Bus
    In computing, D-Bus is a simple inter-process communication open-source system for software applications to communicate with one another. Heavily influenced by KDE2–3's DCOP system, D-Bus has replaced DCOP in the KDE 4 release. An implementation of D-Bus supports most POSIX operating...

    , pango
    Pango
    Pango is an LGPL licensed open source computing library used by software developers for laying out and rendering text in high quality, emphasising support for multilingual text...

    , XRandR, Xinerama
    Xinerama
    Xinerama is an extension to the X Window System which enables multi-headed X applications and window managers to use two or more physical displays as one large virtual display.It was originally developed by Madeline T...

    .
  • Bluetile - based on xmonad
    Xmonad
    xmonad is a tiling window manager for the X Window System, written in the functional programming language Haskell.Begun in March 2007, it is similar to dwm, larswm, StumpWM and other members of the tiling window manager family, in that it arranges windows in a nonoverlapping tiled pattern and...

    : "I think of xmonad more as a library for writing tiling window managers. The default installation provides a minimal tiling window manager (the standard configuration), but you are really expected to "write" (configure) your own ... from the building blocks. ... The Bluetile project ... is now really just another xmonad configuration. A configuration that focuses on making the tiling paradigm easily accessible to users coming from traditional window managers."
  • dwm
    Dwm
    dwm is a dynamic tiling window manager for X11 exhibiting the principles of minimalism which is known for having influenced the development of other window managers, including xmonad and awesome. It is externally similar to wmii, but internally much simpler. dwm is written purely in C and, for...

     - allows for switching tiling layouts by clicking a textual ascii art
    ASCII art
    ASCII art is a graphic design technique that uses computers for presentation and consists of pictures pieced together from the 95 printable characters defined by the ASCII Standard from 1963 and ASCII compliant character sets with proprietary extended characters...

     'icon' in the status bar. The default is a Larswm-like main area + stacking area arrangement, represented by a []= character glyph. There is also a non-tiling floating layout similar to *evilwm which permits windows to be moved and resized, represented by a fish
    Fish
    Fish are a paraphyletic group of organisms that consist of all gill-bearing aquatic vertebrate animals that lack limbs with digits. Included in this definition are the living hagfish, lampreys, and cartilaginous and bony fish, as well as various extinct related groups...

    -like ><>. Third party patches
    Patch (Unix)
    patch is a Unix program that updates text files according to instructions contained in a separate file, called a patch file. The patch file is a text file that consists of a list of differences and is produced by running the related diff program with the original and updated file as arguments...

     exist to add a golden section-based Fibonacci
    Fibonacci
    Leonardo Pisano Bigollo also known as Leonardo of Pisa, Leonardo Pisano, Leonardo Bonacci, Leonardo Fibonacci, or, most commonly, simply Fibonacci, was an Italian mathematician, considered by some "the most talented western mathematician of the Middle Ages."Fibonacci is best known to the modern...

     layout, a grid layout, a gapless grid layout, and a horizontal stacking arrangement. The keyboard-driven menu utility "dmenu", developed for use with dwm, is used with other tiling WMs like xmonad
    Xmonad
    xmonad is a tiling window manager for the X Window System, written in the functional programming language Haskell.Begun in March 2007, it is similar to dwm, larswm, StumpWM and other members of the tiling window manager family, in that it arranges windows in a nonoverlapping tiled pattern and...

    , and sometimes also with other "light-weight" software like Openbox
    Openbox
    Openbox is a free window manager for the X Window System, licensed under the GNU General Public License. Originally derived from Blackbox 0.65.0 , Openbox has now been totally rewritten in the C programming language and since version 3.0 is not based upon any code from Blackbox.Openbox is designed...

     and uzbl
    Uzbl
    Uzbl is a free and open source minimalist web browser designed for simplicity and adherence to the Unix philosophy. Development started in early 2009 and is still considered in alpha software by the developers. The core component of uzbl is developed in C but other languages are also used, most...

    .
  • Echinus - "a window manager for X in spirit of dwm." Like dwm it supports managing windows in floating, tiled and maximized layouts. All the configuration is made via config file in Xresources format, so it is not necessary to recompile echinus every time you change something. Echinus supports a small subset of EWMH to be compatible with external panels and pagers. It draws a border around windows and also an optional title bar. The goal of development is a small, fast window manager without features not strictly related to window management, e.g. menus, panels, etc.
  • euclid-wm - a minimalist, tiling window manager that aims to combine the ease of use of automatic tiling with the flexibility of manual tiling. It also has a per workspace "stack" for minimized windows. It uses vimlike key-bindings by default.
  • Grid plugin - adds keyboard tiling shortcuts and layouts to the Compiz
    Compiz
    Compiz is one of the first compositing window managers for the X Window System that uses 3D graphics hardware to create fast compositing desktop effects for window management. The effects, such as a minimization effect and a cube workspace are implemented as loadable plugins...

     compositing window manager
    Compositing window manager
    A compositing window manager is a type of window manager. A window manager is software that draws a graphical user interface on a computer display – it positions windows, draws additional elements on windows , and controls how windows interact with each other, and with the rest of the desktop...

    .
  • i3 - aims to be "an improved dynamic tiling window manager" inspired by wmii.
  • Ion - combines tiling with a tabbing interface: the display is manually split in non-overlapping regions (frames). Each frame can contain one or more windows. Only one of these windows is visible and fills the entire frame.
  • Ion2 - a keyboard friendly window manager.
  • kahakai - a dual mode WM offering both tiling and stacking capabilities.
  • KWin
    KWin
    KWin is a window manager for the X Window System. It is an integral part of the KDE Software Compilation, although it can be used on its own or with other desktop environments.- History :- Look and feel :...

     - the KDE window manager supports rudimentary tiling since KDE SC 4.4 (side-by-side) and full tiling since KDE SC 4.5
  • Larswm
    Larswm
    larswm is a window manager for the X window system that follows the tiling window manager paradigm. Using ideas from the older 9wm window manager, it features automatic tiling and virtual desktops. It also borrows other ideas, for example a limited form of plumbing, from the Acme development...

     - implements a form of dynamic tiling: the display is vertically split in two regions (tracks). The left track is filled with a single window. The right track contains all other windows stacked on top of each other.
  • Lucca WM
  • Lunchbox - Lunchbox is a dynamic tiling window manager for X11. It allows windows to be resized by pushing them against the edge of the screen. In a step away from the desktop metaphor, all programs are given a separate workspace and unique arrangement of windows and any window can become the desktop. Lunchbox offers scalable tab replacement called the Title Menu which allows any window to be swapped with any other window that fits, allowing very fine-grained control over the layout of the screen. Finally, although many windows default to tiling, any window can be changed to a Floating mode and dialog boxes default to it.
  • Matchbox
    Matchbox (window manager)
    Matchbox is a free and open source window manager for the X Window System. It is mainly intended for embedded systems and differs from most other window managers in that it only shows one window at a time...

     - tiles system trays and a "single" window, targeting embedded and mobile environments where multiple tiled windows don't fit well. It does not permit overlapping main windows (although, like many tiling window managers, dialog windows are "special", with stacked management), but it accomplishes this by showing only one window, rather than literally tiling of multiple windows. This can be considered as a single-tile layout.
  • Musca - features manual tiling, multiple screen support, virtual desktops and mouse or keyboard navigation.
  • plpwm - a configuration of the plwm
    PLWM
    In Unix computing, PLWM is a Python package, containing classes suitable for implementing an X window manager, and also a window manager created using the PLWM package...

     window manager toolkit that provides tiling.
  • Qtile - written and configured in Python
    Python (programming language)
    Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

    .
  • Ratpoison
    Ratpoison
    Ratpoison is a tiling window manager for the X Window System primarily developed by Shawn Betts. Its user interface and much of its functionality are inspired by the GNU Screen terminal multiplexer...

     - A keyboard-driven GNU Screen
    GNU Screen
    GNU Screen is a software application that can be used to multiplex several virtual consoles, allowing a user to access multiple separate terminal sessions inside a single terminal window or remote terminal session...

     for X.
    • StumpWM - Ratpoison's extensible successor rewritten in Common Lisp
      Common Lisp
      Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 , . From the ANSI Common Lisp standard the Common Lisp HyperSpec has been derived for use with web browsers...

      .
  • Scrotwm - minimalist, with dynamic xrandr & xinerama support.
  • subtle
  • Tritium window manager
  • WMFS
  • wmii
    Wmii
    wmii is a tiling window manager for X11. It supports classic and tiling window management with extended keyboard, mouse, and filesystem based remote control...

     - developed in parallel to dwm by the same author.
  • xmonad
    Xmonad
    xmonad is a tiling window manager for the X Window System, written in the functional programming language Haskell.Begun in March 2007, it is similar to dwm, larswm, StumpWM and other members of the tiling window manager family, in that it arranges windows in a nonoverlapping tiled pattern and...

     - an extensible WM written in Haskell
    Haskell (programming language)
    Haskell is a standardized, general-purpose purely functional programming language, with non-strict semantics and strong static typing. It is named after logician Haskell Curry. In Haskell, "a function is a first-class citizen" of the programming language. As a functional programming language, the...

    .

Third party tiling applications on Xorg

  • Tile is a small command allowing tiling windows under a floating window manager.
  • stiler (formerly known as Poor man's Tiling Window manager) is a simple Python
    Python (programming language)
    Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

     script which does tiling on any window manager.
  • PyTyle is a manual tiling manager that can slide into any EWMH
    Extended Window Manager Hints
    Extended Window Manager Hints, aka NetWM or Net WM, is an X Window System standard for window managers. It defines various interactions between window managers, utilities, and applications, all part of an entire desktop environment...

     compliant window manager.
  • QuickTile is an X11 analogue to WinSplit for people who don't want to use the Compiz Grid plugin.
  • Python Window Organizer (PyWO) is Python application that combines features of Compiz Grid, Put, and Maximumize, allowing custom grid layouts. Works with EWMH compliant window managers.
  • Ctrlwm is a tool for automatic window position in various layouts, also processing mouse screen edge/corner actions.
  • WinWrangler is a tool for automatic window position in a tiling layout or a master-window layout, and can also respond to hotkeys for switching between windows spatially.

Others

  • The Oberon operating and programming system, from ETH Zurich
    ETH Zurich
    The Swiss Federal Institute of Technology Zurich or ETH Zürich is an engineering, science, technology, mathematics and management university in the City of Zurich, Switzerland....

     includes a tiling window manager.
  • The Acme
    Acme (text editor)
    Acme is a text editor and graphical shell from the Plan 9 from Bell Labs operating system, designed and implemented by Rob Pike. It can use the sam command language. The design of the interface was influenced by Oberon. It is different from other editing environments in that it acts as a 9P server...

     programmer's editor / windowing system / shell program in Plan 9 was a tiling window manager.
  • Omero, part of the Plan 9
    Plan 9 from Bell Labs
    Plan 9 from Bell Labs is a distributed operating system. It was developed primarily for research purposes as the successor to Unix by the Computing Sciences Research Center at Bell Labs between the mid-1980s and 2002...

     operating system developed at URJ Madrid also tiles windows by default.

Tiling applications

Although tiling is not the default mode of window managers on any widely used platform, most applications already display multiple functions in a similar manner. Examples include email clients, IDE
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

s, "sidebars" in web browsers, and contextual help in Microsoft Office. In addition, HTML frames can be seen as a markup language
Markup language
A markup language is a modern system for annotating a text in a way that is syntactically distinguishable from that text. The idea and terminology evolved from the "marking up" of manuscripts, i.e. the revision instructions by editors, traditionally written with a blue pencil on authors' manuscripts...

-based implementation of tiling. The tiling window manager extends this usefulness beyond multiple functions within an application, to multiple applications within a desktop. The Tabbed Document Interface can be a useful adjunct to tiling, as it avoids having multiple window tiles on screen for the same function.

See also

  • Split screen (computer graphics)
    Split screen (computer graphics)
    Split screen is a display technique in computer graphics that consists of dividing graphics and/or text into non-movable adjacent parts, typically two or four rectangular areas. This is done in order to allow the simultaneous presentation of related graphical and textual information on a computer...

  • Integrated development environment
    Integrated development environment
    An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

     style interface

External links

  • Comparison of Tiling Window Managers - Arch Linux
    Arch Linux
    Arch Linux is an independently developed, Linux-based operating system for i686 and x86-64 computers. It is composed predominantly of free and open source software, and supports community involvement....

    Wiki
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK