SE401:Group52:ResearchBacklog

From Marks Wiki
Jump to navigation Jump to search

[Back to main page]

Research

Window Manager

A window manager is computer software that controls the placement and appearance of windows within a windowing system in a graphical user interface.

Non-overlapping Interface

Cited from : http://www.freepatentsonline.com/y2005/0125742.html

A user interface mechanism that introduces a novel concept referred to as a “non-overlapping workspace”. A system user can switch between the traditional overlapping workspace and the novel non-overlapping workspace, depending upon how they wish to move and manage objects in the workspace. In the non-overlapping mode, as the user moves a selected object to relocate it within the work area, as its border touches another object, the selected object pushes the other object (rather than cover it). In an alternative embodiment, when the system is in the non-overlapping mode, objects on the desktop have “sticky” borders, that is, as the border of a selected object comes into contact with the border of another object, the two objects are coupled to each other as though they were glued together, forming an “object unit”.

Oberon

http://www.oberon.ethz.ch/WirthPubl/ProjectOberon.pdf

  • Written entirely in Oberon programming language
  • Textual User Interface (TUI)
  • Combines the point-and-click convenience of a GUI with the linguistic strength of a command line interface and is closely tied to naming convention of oberon programming language.
  • Typically extremely compact

More..

WMii

http://suckless.org/wiki/wmii

WMii is a highly customisable keyboard-and-mouse-driven X11 window manager that supports conventional, tabbed, and tiled window management with low memory usage and vi-like user interaction.

Bluebottle

http://bluebottle.ethz.ch/

Bluebottle is a powerful operating system developed in the Programming Languages and Runtime Systems Research Group, based on the Active Object System (Aos) kernel. The Aos kernel provides a compact runtime environment for the Active Oberon language, which supports active objects (threads) directly, and enables the construction of efficient active object-based systems that directly run on the hardware.

The Bluebottle Window Manager allows concurrent drawing to many possibly semi transparent windows that can be freely positioned. The window manager supports XML definable styles as well as style plug-ins. The window manager defines a coordinate space in which the windows are positioned. One or more coordinate space observer (called "view") can be installed. Each "view" represents one display adapter, VNC server or other coordinate space observing application such as a screen shot utility or "movie recorder". The views can be freely positioned.

SCWM - the Scheme Constraints Window Manager

Full report

  • A low-level language, such as C, is not ideal for implementing sopisticated winow manager functionality. It complicates extensibility and customizability.
  • A popular solution is to use a scripting langauge on top of a core system that defines new domain specific primitives. The Emacs text editor is a good example of this.
  • SCWM targets the X windows system and uses Guile/Scheme as the extension language. The most notable feature of SCWM is constraint based layout.Scwm also supports a user-interface for specifying constraints among windows that it then maintains using our Cassowary Constraint solving toolkit.
  • Scheme is a very simple, elegant dialect of the popular Lisp programming languge. It is easy to learn and provides exceptionally powerful abstraction capabilities including higher-order functions, lexically-scoped closures and a macro system.
  • Guile is the GNU project's R4RS-compliant Scheme system designed specically for use as an embedded interpreter. Guile extends the standard Scheme language with a module system and numerous wrappers for system libraries.
  • Cassowary is a constraint solving toolkit that includes support for arbitrary linear equalities and inequalities.


Ion Window Manager

Link

Ion is a tiling tabbed window manager designed with keyboard users in mind.

Summary of Ion features

  • Tiled workspaces with tabbed frames.
  • Designed to be primarily used from the keyboard.
  • Fully documented configuration and scripting interface on top of the lightweight Lua extension language.
  • Modular design. The main binary implements only basic window manager functionality. Additional modules implement extra features and window management policies.
  • The query module implements a line editor similar to mini buffers in many text editors. It is used to implement many different queries with tab-completion support: show manual page, run program, open SSH session, view file, goto named client window or workspace, etc. Menus are also displayed as queries.
  • A statusbar that adapts to the tilings, taking only the space it really needs, modulo constraints of the layout. The statusbar can also be configured to swallow other (small) windows, and does so automatically for Window Maker protocol dockapps, and KDE-protocol system tray icons.
  • Full screen client windows are seen as workspaces on their own. It is possible to switch to a normal workspace while keeping several client windows in full screen state and also switch clients that do not themselves support full screen mode to this state.
  • The scratchpad module provides a conveniently toggleable area for random tasks, akin to the consoles of many FPS games.
  • To run those particularly badly behaving programs, Ion also supports floating windows of the PWM flavour. These can be had as separate workspaces without an underlying tiling, or floating on top of a tiling. Tiled windows can be detached to float, and reattached.
  • It is not a project of the self-proclaimed “free” or open-source software movement, and does not suffer from popular fads among it, such as a totalitarian approach to font blurring and autoconf.

Ion's main flaw was that since it supported complete tiling (ie windows cant float anywhere on the screen), it could'nt deal well with pop-ups and dialog boxes.

Ion3 is the latest version of this window manager

PWM

Link

PWM was the first window manager to implement "tabbed frames" or the back then unique feature allowing multiple client windows to be attached to the same frame. It is the predecessor of Ion, built by the same developer but then abandoned in 2000 for Ion. Unlike its successor, it didnt support complete tiling which meant that it had no problem dealing with dialog boxes .

BlackBox

Link

Blackbox is the fast, lightweight window manager for the X Window System without all those annoying library dependencies.

  • It's very simplistic; some might even perceive it as ascetical or downright barren. When migrating from an environment filled with images, eye-candy and gadgets, the typical Blackbox desktop can shock a new user due to the sheer amount of empty space. It's called screen estate and some people value it and want as much of it as possible. It doesn't have to be this way - you can add most of the tools and gadgets that you have in other environments.
  • Blackbox is very minimalist in its approach as a window manager. It manages windows, period. It doesn't do desktop icons and shortcuts, keyboard handling, flashy menus, tools and gadgets. All of these are available through 3rd-party tools and add-ons, which you can add to your environment as you please. It's just not Blackbox's job to provide them.
  • Blackbox is very flexible! By sticking to the basics, but implementing common standards, it allows scores of 3rd-party tools to be used to expand its default functionality. You can use Blackbox as the foundation and create any kind of desktop you can imagine!
  • No taskbar. Once you iconify (or minimize) a window, it's completely hidden off the desktop. You can retrieve it from a desktop context menu. Window shading (showing just the window bar) and multiple virtual desktops are provided as alternative ways of clearing up the desktop. (Note: taskbars can also be added, starting with version 0.70, through 3rd-party tools.)

FluxBox

Link

Features Implemented:

  • Configurable window tabs.
  • Iconbar (for minimized/iconified windows)
  • Wheel scroll changes workspace
  • Configurable titlebar (placement of buttons, new buttons etc) |
  • KDE support
  • New native integrated keygrabber (supports emacs like keychains)
  • Maximize over slit option
  • Partial GNOME support
  • Extended Window Manager Hints support
  • Slit dockap ordering
  • Other minor features

Planned:

  • Session Management
  • Windows Snapping
  • Configurable toolbar

Ratpoison

Link

Ratpoison is a simple Window Manager with no fat library dependencies, no fancy graphics, no window decorations, and no rodent dependence. It is largely modelled after GNU Screen which has done wonders in the virtual terminal market. The screen can be split into non-overlapping frames. All windows are kept maximized inside their frames to take full advantage of your precious screen real estate.

All interaction with the window manager is done through keystrokes. ratpoison has a prefix map to minimize the key clobbering that cripples Emacs and other quality pieces of software.

Icewm

Link

IceWM was first released in 1997 by Marko Macek, who coded it from scratch in C++ instead of starting with an existing window manager (as is more common). It is designed primarily to be small, fast, and lightweight. A key feature of the early versions was the ability to emulate the look and feel of Motif, OS/2, and Windows desktops. Since then, this feature has evolved into a flexible theme engine, with a large number of readily-available themes. IceWM is a popular window manager which is still in active development.

Other features of IceWM include full keyboard support, multiple focus modes, sound support, multiple workspaces, dynamically updating menus, a taskbar, and complete internalization support. It is also compliant with a number of standards and conventions, such as Motif window hints, KDE hints, almost full ICCCM compliance, and full GNOME integration support.

dwm - dynamic window manager

Link

  • dwm is a dynamic window manager for X. It manages windows in tiled and floating layouts. Either layout can be applied dynamically, optimizing the environment for the application in use and the task performed. It is the little brother of wmii.
  • In tiled layout, windows are managed in a master and stacking area. The master area contains the windows which currently need most attention, whereas the stacking area contains all other windows. In floating layout, windows can be resized and moved freely. Dialog windows are always managed floating, regardless of the layout selected.
  • Windows are grouped by tags. Each window can be tagged with one or multiple tags. Selecting certain tags displays all windows with those tags.
  • dwm contains a small status bar which displays all available tags, the layout, the title of the focused window, and text read from standard input. The selected tags are highlighted with a different color, while the tags of the focused window are highlighted with a small point.
  • dwm draws a small border around windows to indicate their focus state.

awesome

Link

  • awesome is a floating and tiling window manager initialy based on a dwm code rewriting. It's extremely fast, and small.
  • Windows can be managed in several layouts: tiled, maximized, dwindle, spiral, floating… Each layout can be applied on the fly, optimizing the environment for the application in use and the task performed.
  • Managing windows in tiled mode assures that no space will be wasted on your screen. No gaps, no overlap. Other layouts can be used for different purpose.
  • Zero mouse dependency. Keyboard accelerated desktop environment
  • Multihead support (XRandR, Xinerama or Zaphod mode)
  • EWMH support
  • Real transparency support (using Composite extension and xcompmgr)
  • Customized entirely through editing a configuration file
  • Each function for manipulating the environment is bindable to keys/ mouse buttons and executable remotely via a socket (awesome-client)

allSnap

Link

  • allSnap is a small system tray app that makes all top level windows automatically align like they do in programs such as Winamp or Photoshop.

xmonad

Link

xmonad is a tiling window manager for X. Windows are arranged automatically to tile the screen without gaps or overlap, maximising screen use. Window manager features are accessible from the keyboard: a mouse is optional. xmonad is extensible in Haskell, allowing for powerful customisation. Custom layout algorithms, utilities and other extensions can be written by the user in config files. Layouts are applied dynamically, and different layouts may be used on each workspace. Xinerama is fully supported, allowing windows to be tiled on several physical screens.


[Back to main page]