From: Whirled.Peas on
The Linux Ware Weekly #14

Welcome to the Linux Ware Weekly, a series of posts intended to introduce
Linux users to software they may find useful for completing their various
tasks. Each week I plan to bring you a list of applications that are
suited to a certain task. I don't guarantee that the lists will be
exhaustive by any stretch. In fact I can guarantee that I will probably
overlook several applications since there are so many different programs
written for Linux and forks upon forks of the popular ones.

This week we are going to look at some alternatives to the two big
Desktop Environments, KDE and Gnome. Basically (And I know this is a
gross oversimplification) your choices break into two categories. You can
go for the big desktop environments that offer a full suite of
applications, or you can go for the more minimal window managers that
don't come with much of anything beyond a few configuration tools or
files. And, to oversimplify even more, within those two major categories,
you have divisions. In the desktop environment category, you can go with
the full weight of KDE or Gnome, or you can choose a lighter environment
like xfce or lxde. In the window manager category, you can choose between
floating (or stacking) window managers and tiling window managers.

With the glut of *buntu distros running around, I am going to make the
assumption that most Linux users are at least aware of Gnome, KDE, Xfce
and Lxde. Further, I am going to ignore Enlightenment, Afterstep and
Mezzo and many, many others . . . including, probably your own favorite.
As always, feel free to add yours to this list since this is an open
project :-) and is not intended to lead to a holy war over any particular
category of program.


Floating Window Managers

Pekwm
Homepage: http://pekwm.org/projects/pekwm
Screenshot: http://pekwm.org/projects/3/wikis/Screenshots
Pekwm is my favorite window manager. The menu syntax is easy to learn,
the window dressing options are very numerous and there are a bunch of
user created themes on various websites. It is lightweight and responsive
and very well suited to my particular likes.
The Pek Window Manager is written by Claes Nästen. The code is based on
the aewm++ window manager, but it has evolved enough that it no longer
resembles aewm++ at all. Pekwm is a tabbed window manager which focuses
on being highly configurable. Pekwm has a rich feature set including:
* Auto-properties, set properties and group windows automatically
based on type or title.
* Key chains, multi-level key bindings.
* XRandR and Xinerama support.


Fluxbox
Homepage: http://fluxbox.org/
Screenshot: http://fluxbox.org/screenshots/
Before moving to Pekwm, I was a big fan of Fluxbox.
Fluxbox is yet another addition to the list of window managers for the
Open Group's X Window System, Version 11 Release 6 and above. Fluxbox is
built with C++, based on the sources of Blackbox 0.61.0. Fast.
Fluxbox provides configurable window decorations, a root menu to launch
applications and a toolbar that shows the current workspace name, the
focused application name and the current time. There is also a workspace
menu to add or remove work spaces. The `slit' can be used to dock small
applications, e.g. most of the bbtools can use the slit.
Fluxbox will iconify windows to the toolbar, in addition to adding the
window to the `Icons' submenu of the workspace menu. One click and they
reappear. A double-click on the title bar of a window will shade it i.e.
the window will disappear, only the title bar stays visible.
Fluxbox uses its own graphics class to render its images on the fly. By
using style files, you can determine at a great level how your desktop
looks like. Fluxbox styles are compatible with those of Blackbox, so
users migrating can still use their current favorite themes.


Evilwm
Homepage: http://www.6809.org.uk/evilwm/
Screenshot: http://www.6809.org.uk/evilwm/images/cap1.jpg
evilwm is a minimalist window manager based on aewm, extended to feature
many keyboard controls, and otherwise altered to be more friendly. It's
minimalist in that it omits unnecessary stuff like window decorations and
icons. But it's very usable in that it provides good keyboard control
with repositioning and maximize toggles, solid window drags, snap-to-
border support, and virtual desktops. It's installed binary size is only
0.07 MB.
In evilwm, the focus follows the mouse pointer, and focus is not lost if
you stray onto the root window. The current window border is shaded gold,
with other windows left as a dark gray.


Openbox
Homepage: http://openbox.org/
Screenshot: http://openbox.org/wiki/Openbox:Screenshots
Openbox is a highly configurable, next generation window manager with
extensive standards support.
The *box visual style is well known for its minimalistic appearance.
Openbox uses the *box visual style, while providing a greater number of
options for theme developers than previous *box implementations. The
theme documentation describes the full range of options found in Openbox
themes.
Openbox lets you bring the latest applications outside of a full desktop
environment. Most modern applications have been written with GNOME and KDE
in mind. With support for the latest freedesktop.org standards, as well
as careful adherence to previous standards, Openbox provides an
environment where applications work the way they were designed to.
Openbox is a highly configurable window manager. It allows you to change
almost every aspect of how you interact with your desktop and invent
completely new ways to use and control it. It can be like a video game
for controlling windows. But Openbox can also be kept extremely simple,
as it is in the default setup, meaning that it can suit just about
anybody. Openbox gives you control without making you do everything.
Openbox makes desktop environments better. By running Openbox inside the
GNOME or K desktop environments, you can combine their ease and
functionality with the power of Openbox. Your desktop becomes cleaner and
faster, and is in your control, when you use Openbox.


cwm
Homepage: http://monkey.org/~marius/pages/?page=cwm
Screenshot: http://monkey.org/~marius/cwm/shot-full.png
cwm is a window manager for X11. It was originally inspired by evilwm,
but was rewritten from scratch due to limitations in the evilwm codebase.
The from-scratch rewrite borrowed some code from 9wm. cwm contains many
new features which all concentrate on the efficiency and transparency of
window management. cwm also aims to maintain the most simplest and
pleasant aesthetic. cwm has several novel features, including the ability
to search for windows.


Fvwm
Homepage: http://www.fvwm.org/
Screenshot: http://www.fvwm.org/screenshots/desktops/
Fvwm is a window manager for X11. It is designed to minimize memory
consumption, provide a 3D look to window frames, and a virtual desktop.
Note that there are several window managers around that have "fvwm" in
their name. In the past, version 2.x of fvwm was commonly called fvwm2 to
distinguish it from the former version 1.x (fvwm or even fvwm1). Since
version 1.x has been replaced by version 2.x a long time ago we simply
call version 2.x and all versions to come, fvwm, throughout this
document, although the executable program is named fvwm2. There is an fvwm
offspring called fvwm95. Although it is very similar to older versions of
fvwm version 2 it is technically a different window manager that has been
developed by different people. The main goal of fvwm95 was to supply a
Windows 95 like look and feel. Since then fvwm has been greatly enhanced
and only very few features of fvwm95 can not be imitated by fvwm. No
active development has been going on for fvwm95 for several years now.
Unfortunately Red Hat (a popular Linux distributor) has a pre-configured
fvwm package based on fvwm version 2.x that is called fvwm95 too.
Fvwm provides both a large virtual desktop and multiple disjoint desktops
which can be used separately or together. The virtual desktop allows you
to pretend that your video screen is really quite large, and you can
scroll around within the desktop. The multiple disjoint desktops allow
you to pretend that you really have several screens to work at, but each
screen is completely unrelated to the others.
Fvwm provides keyboard accelerators which allow you to perform most
window-manager functions, including moving and resizing windows, and
operating the menus, using keyboard shortcuts.
Fvwm has also blurred the distinction between configuration commands and
built-in commands that most window-managers make. Configuration commands
typically set fonts, colors, menu contents, key and mouse function
bindings, while built-in commands typically do things like raise and
lower windows. Fvwm makes no such distinction, and allows, to the extent
that is practical, anything to be changed at any time.
Other noteworthy differences between Fvwm and other X11 window managers
are the introduction of the SloppyFocus and NeverFocus focus methods.
Focus policy can be specified for individual windows. Windows using
SloppyFocus acquire focus when the pointer moves into them and retain
focus until some other window acquires it. Such windows do not lose focus
when the pointer moves into the root window. The NeverFocus policy is
provided for use with windows into which one never types (e.g. xclock,
oclock, xbiff, xeyes, tuxeyes) - for example, if a SloppyFocus terminal
window has focus, moving the cursor over a NeverFocus decoration window
won't deprive the terminal of focus.


Sawfish
Homepage: http://sawfish.wikia.com/wiki/Main_Page
Screenshot: http://sawfish.wikia.com/wiki/Screenshots
Formerly the default window manager for Gnome., Sawfish is a lisp-
extensible window manager for X11. Its aim is to allow all areas
of window management (decoration, manipulation) to be customized
as far as is possible, yet still remain as fast or faster than
existing window managers. Its policy is very minimal compared to most
window managers. Its aim is simply to manage windows in the most flexible
and attractive manner possible. All high-level WM functions are
implemented in Lisp for future extensibility or redefinition.


JWM
Homepage: http://www.joewing.net/programs/jwm/
Screenshot: http://en.wikipedia.org/wiki/File:Openbsd37withjwm.png
JWM (Joe's Window Manager) is a featherweight window manager for the X11
Window System written in C; it's under active development and is
maintained by Joe Wingbermuehle. JWM uses approximately 5 MB of resident
memory under normal operating conditions. As of January 2009, the size of
the version present in the official Arch Linux repositories is under 76
KB packaged (compare to dwm at under 17 KB) and under 171 KB installed
(compare to dwm at 68 KB). A minimally compiled version consumes
approximately 136 KB of disk space and occupies under 1500 KB of resident
memory.
JWM is generally regarded as the lightest and fastest stacking window
manager available for X11 and is the default window manager base for
distributions such as Puppy Linux, Damn Small Linux and SliTaz GNU/Linux.
Numerous options allow for great flexibility of layout. Some of the more
outstanding features of JWM include its simplicity and ease of
configuration, native support for customizable panels and buttons and its
inclusion of a system tray dock.


Tiling Window Managers (NOTE: Some of these are more a dynamic window
manager than a tiling window manager. That is, they support both tiling
and stacking modes.)

awesome
Homepage: http://awesome.naquadah.org/
Screenshot: http://awesome.naquadah.org/images/screen.png
A window manager is probably one of the most used software in your day-to-
day tasks, with your Web browser, mail reader and text editor. Power
users and programmers have a big range of choice between several tools
for these day-to-day tasks. Some are heavily extensible and configurable.
awesome tries to complete these tools with what we miss: an extensible,
highly configurable window manager.
To achieve this goal, awesome has been designed as a framework window
manager. It's extremely fast, small, dynamic and heavily extensible using
the Lua programming language.
awesome is a window manager for X. It manages windows in different
layouts, like floating or tiled. Either layout can be applied
dynamically, optimizing the environment for the application in use
and the task performed.
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 applied. The spiral and
dwindle layout are special cases of the tiled layout where the stacking
area is arranged in a spiral for the former or as a rectangular fractal
for the later.
Windows are grouped by tags. Each window can be tagged with one or
multiple tags. Selecting certain tags displays all windows with these
tags.


Ratpoison
Homepage: http://www.nongnu.org/ratpoison/
Screenshot: http://www.nongnu.org/ratpoison/shot2.png
Ratpoison is a minimalistic window manager which can be controlled 100%
through keyboard. It behaves like the terminal-multiplexer GNU screen.
Every window is maximized to fit the whole screen, no pixel is wasted on
stuff like borders or other decoration. The user can also "split" the
screen into two or more frames in order to display more than one window
at the time.


xmonad
Homepage: http://xmonad.org/
Screenshot: http://haskell.org/haskellwiki/Xmonad/Screenshots
xmonad is a minimalist tiling window manager for X, written in Haskell.
Windows are managed using automatic layout algorithms, which can be
dynamically reconfigured. At any time windows are arranged so as to
maximize the use of screen real estate. All features of the window
manager are accessible purely from the keyboard: a mouse is entirely
optional. xmonad is configured in Haskell, and custom layout algorithms
may be implemented by the user in config files. A principle of xmonad is
predictability: the user should know in advance precisely the window
arrangement that will result from any action.
By default, xmonad provides three layout algorithms: tall, wide and full
screen. In tall or wide mode, windows are tiled and arranged to prevent
overlap and maximize screen use. Sets of windows are grouped together on
virtual screens, and each screen retains its own layout, which may be
reconfigured dynamically. Multiple physical monitors are supported via
Xinerama, allowing simultaneous display of a number of screens.
By utilizing the expressiveness of a modern functional language with a
rich static type system, xmonad provides a complete, full-featured window
manager in less than 1200 lines of code, with an emphasis on correctness
and robustness. Internal properties of the window manager are checked
using a combination of static guarantees provided by the type system, and
type-based automated testing. A benefit of this is that the code is
simple to understand, and easy to modify.


dwm
Homepage: http://dwm.suckless.org/
Screenshot: See homepage
dwm is probably my favorite tiling window manager when I use one. dwm is
a dynamic window manager for X. It manages windows in tiled, monocle and
floating layouts. All of the layouts can be applied dynamically,
optimising the environment for the application in use and the task
performed.
In tiled layout windows are managed in a master and stacking area. The
master area contains the window which currently needs most attention,
whereas the stacking area contains all other windows. In monocle layout
all windows are maximized to the screen size. In floating layout windows
can be re-sized and moved freely. Dialog windows are always managed
floating, regardless of the layout applied.
Windows are grouped by tags. Each window can be tagged with one or
multiple tags. Selecting certain tags displays all windows with these
tags.
Each screen contains a small status bar which displays all available
tags, the layout, the number of visible windows, the title of the focused
window, and the text read from the root window name property, if the
screen is focused. A floating window is indicated with an empty square
and a maximized floating window is indicated with a filled square before
the windows title. The selected tags are indicated with a different
color. The tags of the focused window are indicated with a filled square
in the top left corner. The tags which are applied to one or more windows
are indicated with an empty square in the top left corner.
dwm draws a small customizable border around windows to indicate the
focus state.


Bluetile
Homepage: http://www.bluetile.org/
Screenshot: http://www.bluetile.org/#screenshots
Bluetile is a tiling window manager for X based on xmonad. Windows are
arranged to use the entire screen without overlapping. Bluetile's focus
lies on making the tiling paradigm easily accessible to users coming from
traditional window managers by drawing on known conventions and providing
both mouse and keyboard access for all features. It also tries to be
usable 'out of the box', requiring minimal to no configuration in most
cases.


Stumpwm
Homepage: http://www.nongnu.org/stumpwm/index.html
Screenshot: http://www.nongnu.org/stumpwm/screenshot.html
Stumpwm is a tiling, keyboard driven X11 Window Manager written entirely
in Common Lisp.
If you're tired of flipping through themes like channel-surfing, and
going from one perfect-except-for-just-one-thing window manager to
another even-more-broken-in-some-other-way then perhaps Stumpwm can help.
Stumpwm attempts to be customizable yet visually minimal. There are no
window decorations, no icons, and no buttons. It does have various hooks
to attach your personal customizations, and variables to tweak.


Wmii
Homepage: http://wmii.suckless.org/
Screenshot: See homepage
wmii (window manager improved 2) is a dynamic window manager for X11. It
supports classic and dynamic window management with extended keyboard,
mouse, and filesystem based remote control. It replaces the workspace
paradigm with a new tagging approach.
The following tips are intended to help the user get started with wmii.
While wmii can be configured in almost any language, this article will
focus on using the wmiirc configuration file, which is simply a shell
script. Please see the ruby-wmii article to see how to configure wmii in
ruby.


scrotwm
Homepage: http://www.scrotwm.org/
Screenshot: See homepage
Scrotwm is a small dynamic tiling window manager for X11. It tries to
stay out of the way so that valuable screen real estate can be used for
much more important stuff. It has sane defaults and does not require one
to learn a language to do any configuration. It was written by hackers
for hackers and it strives to be small, compact and fast.
It was largely inspired by xmonad and dwm. Both are fine products but
suffer from things like: crazy-unportable-language-syndrome, silly
defaults, asymmetrical window layout, "how hard can it be?" and good old
NIH. Nevertheless dwm was a phenomenal resource and many good ideas and
code was borrowed from it. On the other hand xmonad has great defaults,
key bindings and xinerama support but is crippled by not being written in
C.
Scrotwm is a beautiful pearl! For it too, was created by grinding
irritation. Nothing is a bigger waste of time than moving windows around
until they are the right size-ish or having just about any relevant key
combination being eaten for some task one never needs. The path of agony
is too long to quote and in classical OpenBSD fashion (put up, or hack
up) a brand new window manager was whooped up to serve no other purpose
than to obey its masters. It was written by Marco Peereboom, Ryan Thomas
McBride & Darrin Chandler and it is released under the ISC license.
Patches can be accepted provided they are ISC licensed as well.




--
If you try, you can envision peas on earth.
From: Wheel on
Whirled.Peas wrote:
> The Linux Ware Weekly #14
>
> Welcome to the Linux Ware Weekly, ...
>
> This week we are going to look at some alternatives to the two big
> Desktop Environments, KDE and Gnome. ...
>
> With the glut of *buntu distros running around, I am going to make the
> assumption that most Linux users are at least aware of Gnome, KDE, Xfce
> and Lxde. Further, I am going to ignore Enlightenment, Afterstep and
> Mezzo and many, many others . . . ...

"Spinning Leaves Enterprises Ltd. � �" recognises your of technical
skill, as demonstrated by denying NNPT access over the past couple of
days, but would appreciate if your considerable talents were directed
towards the Higgs Boson conundrum. :)

I hadn't realised they were so many choices to be had.


Thank you for the eye-opener.