Foreword
In this contribution I have collected some on my personal
notes on the various window managers (WM) I tried. Take then only
as general ideas and mere comments and thought that I hope
can be useful to you.
Each WM has chosen different graphic toolkits,
languages, etc. (sometimes an "strange" mixture as we'll see),
so I should tell the reader that a real comparison of the GUIs in
an objective manner is impossible. The state of the art of
the graphic toolkits, time of development, quantity of
developers and contributors, and many other factors affect
to the decision about the "best one", readers should take this into account.
On the other hand, there is always certain subjectivity due
to personal tastes and preferences. I'll try to be as
neutral as I can having in mind all I've said.
First let me show you the script files that let me use
two window managers. They have been useful because I was able
to quickly change desktops (thanks to M. Soriano :)).
File /usr/local/flin:
#! /bin/sh
export WM=after
if [ $# = 0 ]; then
exec startx -- -bpp 16 :0
else
if [ $1 = 'dual' ]; then
export WM=after
exec startx -- -bpp 16 :0 &
sleep 5
export WM=kde
exec startx -- :1 &
fi
if [ $1 = 'kde' ];then
export WM=kde
exec startx -- -bpp 16 :0
fi
fi
My $HOME/.XClients:
#! /bin/bash
#
# Styx's .xinitrc
#
####################################
exec 2>$HOME/xinit.error.log
echo "Parameter 1 $1 " >&2
sysresources=$HOME/.Xdefaults
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
# You may at this point start your personal applications.
# e.g xscreensaver
# xscreensaver -timeout 2 -cycle 1 &
xmodmap ~/resources/X11/Mapeo.es
xhost +
# Agenda planifier
if [ -f /usr/local/lib/pland ]; then
/usr/local/lib/pland &
fi
if [ $WM = "kde" ]; then
exec startkde -display :1
else
exec afterstep -display :0
fi
With this configuration I can type:
- $ flin /*AfterStep*/
- $ flin kde /*KDE*/
- $ flin dual /*AfterStep & KDE*/
Lots Of
Graphic Toolkits And Libraries.
The first thing that could confuse users is the disparity
of graphic toolkits and other tools used in each window
manager (or GUI), all of them are under somekind of public domain
license, GPL/LGPL or similar, which allows their free use.
This creates, in my opinion, a problem to the user who only
wants to use one, he must be careful about which complements
are needed. In all cases we'll find complete information about
this point in the documentation and web pages of each project.
Does Linux Need A Standard GUI?
This question may sound silly, and for many users, it has
a simple answer: "Use the one you like the most", but for the
rest it is and important issue that concerns the future evolution
of Linux.
The objective is to obtain a GUI easy to use, intuitive,
with powerful on-line help, total integration of the different
applications and other characteristics who make our daily work
with the system easier and everything must be done with the
mouse, also all this integrated into the administration and
installation of the o.s. on the computer.
Some companies have started to work on this line of
products, so we have the Caldera GUI included in the
Caldera Linux distribution or the Red Hat CDE for LINUX.
Luckily the Linux community comprises great people many of
which actively involved in the development of new software,
so there free alternatives to these commercial products, some
of which will be described here.
Of course users must have freedom to chose, but with a
good GUI native to Linux we would stop hearing the old
phrase "LINUX isn't as beautiful as ...". NOTE: Has
anybody ever seen a machine working with a LINUX GUI and how
people don't know that it is not a Microsoft Windows box?.
It is worth noting that standards make the job of programmers easier,
they could know how the window manager and applications interact.
Many applications' environment depend strongly on
the window manager (this is a bit complex but I think
readers would find it easier to believe).
We could summarize saying that the "Polemic has just started".
KDE (The K Desktop Environment)
My first steps with this software
weren't easy. I had to installed the QT
library. Then I downloaded the KDE Beta2 version in a rpm format
(I use RedHat 4.2). The desktop did not work so I have to install
the Beta3 release, downloading sources and compiling them for about 1 hour
on my Intel Pentium 133 (with 32 Mb RAM). The new beta release of
KDE run fine. Incidentally the sources for the library and the KDE
desktop are available both in RPM, '.tar' and '.deb' packages.
After setting the environment variables and some "configure;make;make
install" the first impression of the environment is
impressive. We have a GUI very similar to commercial ones and
I can only give and advise to the reader, don't be shy and
"surf". With little time to become familiar with the tools of the desktop
it is very easy to personalize KDE without problems. The general look and
feel of KDE can be configure as a Windows'95 or Motif style desktop
colored like CDE, KDE, etc, or even using some specific palette of your choice.
In the following figure I have captured my desktop configured as a Motif style CDE
(this way it does not remain me of other OS I have long time abandon :) )
![[KDE main window]](./kde-small.gif) Figure 1. KDE Main Window
With the lower bar of the screen and the "K"
button we can manage all the utilities of the GUI,
we can insert anything in the menu (with the
kmenuedit tool) or in this tool bar.
The first attractive feature is its
on-line help, based nn a navigator that allows
consulting software help, man pages and (in the
future) 'info' files. Pressing the right button of
the mouse you'll see a menu where you must choose
the "Help on the screen" entry. You can select the
messages language of the GUI by setting the LANG
variable, this could also be set with the KDE Control
Center.
Another powerful tool is the File Manager
(kfm), you can manipulate your files and surf the
web, so we have two capabilities in one program.
![[KDE Help]](./kdehelp-small.gif) Figure2 . KDE On-Line Help
The number of utilities in this GUI is huge,
arranged in network, graphics, administration,
multimedia and Internet groups (the user can select what software
to install by choosing the right packets). Any user
with this GUI will have, at the very least, a set of
tools for their daily work, this is the goal of a
GUI, many tools integrated which can satisfy the
minimum necessities of the user.
For example we can find the "Utilities"
item of the menu, here we have a very good calculator
(allows up to 15 digits), an hexadecimal editor,
graphics viewer, control time tool, floppy formatter,
a kind of scheduler, a "post-it" software, menu
editor, terminal (kvt) and a zip files management
tool. Trying to describe all these tools and all the
KDE properties would generate more than an article,
maybe more than an issue of LinuxFocus.
A new feature in Beta3 is the KDE
Control Center, we can control all the environment
and modify it to our taste, remember that certain
utilities still must run with the "root" user privilege, like
the b>kuser, for user and groups control. This
tool can replace the "Settings" entry in the main
menu. The KDE control center is a great resource to
configure and customize the desktop.
![[KDE Control Center]](./kdecc-small.gif) Figure 3. KDE Control Center
Clicking with the mouse on any of the icons in the
system tree (to the left of the figure), it opens and
brings us to that particular subsystem. We can then easily reach the
element to be configured. The large majority of the environment
parameters can be tested and installed immediately by pushing the
button "Apply". There are few cases where we have to restart the
manager to examine the results of our changes. For instance, a
first step any user can take is to configure the native language
of his/hers desktop through the Language entry in the Desktop menu.
One can select up to three languages.
If we access the Internet via modem
we can use the kppp software; after all entries in
the configuration panel are inserted we can use it
to control the link, examine the state of the connection,
the time and even the cost of the calls. Amazing, the cost can be
computed after selecting the country in the configuration menu,
for example we have the possibility of configuring the fees for
Infovia calls (network owned by Telefonica de España S.A.) here in
Spain.
Once connected we can use the mail and
news readers, network utilities, etc. that KDE has.
Figure 4. kppp main window
If you compile and install the software from its
sources, as in my case, you will see an
entry in the main menu labeled "non-KDE Apps". That is
where KDE has inserted (or tried) all the X-based tools we had
installed in our previous graphical environment. If some or none
show up there after the installation, you can still run the
"kappfinder" program that will search all the usual utilities
within the graphical environment to perform that task.
Let us look back at figure 1, check the left side
of the desktop for a few icons: the Trash one
(obvious :) ), Templates to define direct access to
devices, URLs, etc. and the Autostart where we can
define elements to run when the environment starts
(by inserting any file of the type '.kdelnk' previously defined).
We can add any direct access we want, for example I've created
an external ZIP device direct access with these few steps:
- We choose in the Desktop Menu (right button of the mouse) a new device.
- A window will appear and we'll type "zip.kdelnk".
- Push OK and a new icon is created. Then we have
two options: edit its properties or select Open
with and we can modify the device, mount point
and other properties with our favorite text
editor. KDE brings some templates for each direct
access available. Many times these templates will not adjust to our
needs and we'll have to do the work of editing
the appropriate file as in the present case.
This is the direct access properties window where one should type in
or select the options desired:
On exiting KDE will try to save the
state of all applications and their location
for next session. KDE shows us a dialog box
where we can see the utilities that can be
restarted and those that will loose all their
data. This feature is also present in the WINDOWMAKER
(described in a few lines).
Finally I'd like to say that daily work with this
environment is easy, we can configure the top section
of the screen to hold many buttons of the active
Apps, and the number of virtual desktops can be
modified, we can move easily between them; if we
prefer the keyboard we must press
<Ctrl>/<Alt> + <Tab> to switch
between virtual desktops. Even a single terminal (kvt)
can be configured from its main menu to modify the type and
colors of the background and the text, if we need to
stick this terminal to the desktop we can simply press the icon
at the left top of the window.
![[kvt main menu]](./kvt.gif) kvt main menu.
This environment offers enormous possibilities, and although
it can all be configured very intuitively I recommend interested readers
to check the on-line help for the KDE system.
The Qt
Library, The Mother Source of conflicts.
People involved in the KDE development claim that
the choice of the QT library was motivated by its
low need of resources of the system and its high degree
of reliability. This library has generated a big
controversy because of the license of this library;
free use of its tools is granted for free software
development, you must pay only for commercial
purposes, but it isn't our known GNU GPL.
Any user can obtain the sources of this library,
complete documentation and example source code, an even
enjoy KDE, however Qt creatrors maintain some property
rights over this product. Some users agree with this
distribution policy, and they're developing free
software due to the easy use, C++ interface, its state
of development, etc. The rest of the community think that this
library is free while it's under development, and
(maybe in the 1.4 version) it won't be free, getting
the benefit of LINUX community but leaving us with nothing.
We can only assert that for the 1.32 version
things continue the same, free for the free
software and non free for other kind of
software. Nobody can guess the company's plan but by now
the work developed can't be rejected, and today it's a
serious option for developing X Window apps. Other voices
defend converting this environment to the
GTK toolkit, or
developing a free QT implementation.
Personally I think that obtaining a GPLed QT is a
great effort in time and people. With no intention to
offend, maybe GTK isn't enough to develop a KDE
version, but departing from it the toolkit could be
improved as the development goes. There are many
possibilities and I wouldn't like to see a waste of
resources and work with this kind of "wars". The KDE
state is very good and it's a serious candidate to
become a standard graphics environment for LINUX, for
instance the SUSE
distribution had bet for it and it will be improved with
future releases of its products.
Windowmaker & Afterstep
My first intention was to write a few lines about my
current window manager, AfterStep, but recently the
Windowmaker project has brought to me attention. I can't
confirm this but it seems that the two ideas have been
joined in one, Windowmaker is an evolution of the AfterStep
or this development has been ended in his 1.3 version. The
Windowmaker coordinator (Alfredo K. Kojima) is one of the
AfterStep developers. So I will discuss both window
managers to see their similarities.
AfterStep is an evolution of the twm, as many window
managers. To give more information twm was the base of fvwm
which at the same time, is the father of the BowMan an this
one became the AfterStep (pheeww!! :) ). The original idea
is to imitate the "look and feel" of the NEXTSTEP window
manager. The Windowmaker family-tree is left as an exercise for
the reader ;).
Windowmaker installation is very easy, additional
libraries aren't needed, many thanks for this, and everything comes
with the sources. You'll have to compile and install is a
little library (sorry for my "innocent lie") libProplist
before the rest of the software. After compiling and installing
the software and pixmaps (Windowmaker-data.tar.gz) you must
run "wmaker.inst" which will modify the file $HOME/.xinitrc
and create a $HOME/GNUstep directory for all the
configuration files of the window manager. So be
careful with your .xinitrc and .Xclients files.
When started a blue background first appears and a single
terminal window, nothing strange to an AfterStep user. With
the right mouse button we can activate the main menu from where
one can start any application; move between different
virtual desktops with the middle button. I'm writing this
lines from this window manager due to my experience with
AfterStep.
![[Windowmaker image]](./wm-small.gif) Figure 5. Windowmaker image.
Windows can be rolled by pressing two times on the
window bar (and maximized with Control+Shift).
Under AfterStep this can be made by pressing the right
button of the mouse on the window top, and to change the size
you can just select the low line of the window.
The main menu for all windows appears by clicking the
right mouse button on the top of the window. This allows us
to configure windows and applications characteristics by
pointing and clicking on a selection rather than openning a
configuration file.
![[Window menu]](./wmmenu.gif)
Window menu
Maybe the most important entry is the
Attributes... one, which allows to modify window
properties; fix it as sticky window, iconify and focus
policy, which icon will represent it, etc. For example:
Emacs Window configuration.
Another new feature is that we can add icons to the
right of the window, as direct access, manually;
we should drag and drop any icon to this place. But I've
not succeded placing my xemacs icon :(.
If we want to configure the window manager from the
configuration files available, you must read the
documentation available in postscript format. All the
properties of the program aren't described but in his final
part all the syntax and entries are well explained. This has
changed a lot since the .steprc file so I advise to read
it. Window manager use and personalize is described with
many examples of keyboard shortcuts. I think that simplicity
and productivity are the main goals of this window manager
because his low resources waste and the intensive keyboard
use. I can't prove with real data but I could say that it
seems faster than KDE and his little brother.
For the AfterStep window manager there is an utility called ascp (AfterStep Control Panel), which allows to configure it from this tool.
AfterStep Control Panel.
In conclusion we have a good window manager and for
AfterStep users it can be considered as the next step ;). I
haven't explained and exploited all capabilities but it's a
candidate to any machine without excessive resources and with the
need of a powerful and easy-to-use window manager. Maybe the
main difficulty is the existence of many configuration files,
but I don't think it is for a user with little english and LINUX experience :).
Gnome. It
Couldn't be :(.
I feel a bit dissapointed for finishing this article
with bad news. My objective was to write about the Gnome
project and its current state (specially after the announcement from
Red Hat and DEBIAN about their support to this project). With
this in mind I downloaded all the software from its main ftp
site (gnome-0.12.tar.gz and others) and the GTK toolkit
(v. 0.99.2).
For new users sake I should remind all that GTK library
is the main library for the famous GIMP application, the best
graphics design suite for Linux. It started under Gimp and
then evolved into a graphic toolkit for X Window under the
GNU GPL License, it is now used by Gnome.
At first I was surprised because I couldn't find
any help about it, there are some README files, but they
aren't enough. I didn't know what to make with the packages,
the installation sequence, any special parameters, etc... So the
first I thing did, guided by my intuition, was to compile and
install all packages except the main one (gnome-xxx). The
package that gave me the most trouble was the
"slib", although I beleive that finally I've installed it correctly
(I hope).
After my first attempts, and with the help of people
from one LINUX mailing list, I learned that I should have used gtk
0.99.3. I downloaded the patch file for the
upgrade and when I tried to compile I obtained an error
message saying that I didn't have Emacs !!. There is a
little script file that tries to run Emacs to compile a
Lisp file (ranlisp), I could modify it inserting "xemacs" and
all was then fine.
It also learned I needed to install the Objective-C
compiler to be able to compile some files, Is this really so?.
In conclusion, as far as I was able to observe and considering my
limitations, the project is in its very early stage.
Maybe it's only for developers (or gurus), and I haven't
found any notice mentioning if it's in "Alpha" or "Beta" stage. I
don't know if it is a good idea to use C, C++, Objective C,
Lisp, Scheme,and ... etc. Should the user installed all these tools
to use Gnome? where have I failed?.
I have many suggestions recently
from users but I wasn't able
to run it with enough time to write this article and a fast
overview of it wouldn't be fair. I want to dedicate the
necessary time to this project.
Despite of all I promise to to write an article or
contact someone qualified to author it so that LinuxFocus
readers get a good article about the GNOME. :).
Closing.
This article has tried to explain briefly a few
desktop alternatives for LINUX users that will hopefuly
make our daily job easier. All work well and are very nice,
the possibility of choice is positive.
I hope to have shed some light to the subject of the
toolkits available in each environment. It was not my
intention to convince anybody about a particular toolkit,
I've tried to
be as objective as I could, explaining the actual
situation and the state of the art of each project. I repeat
my apologies if I've offended anybody with my explanations.
Thats all, from this article a big applause to all
projects and to the people who are helping Linux
not only work well :), but also "beautiful" for
all kind of users.
Lesstif,
The Great Forgotten One?
Oops, I can't forget saying a few words about a matter that called my
attention. In my work I haven't found any window manager
based on this library (not mentioning the mwm inherent to
all Motif implementations). There is a free clone of the
OSF/Motif library which, in this aspect has been
ignored?. Why?.
The author has checked that the Linux
community in general rejects software under copyright
licenses more restrictive than GPL, it is true that
this library perhaps does not
enough capabilities to develop a desktop environment, its state of
growth isn't optimal, etc. (also we could discuss it
largely), but when, in fact, CDE seems to become the
standard GUI for all the UNIX world, why not a Lesstif CDE?.
When Netscape
announced the availability of the sources of his navigator
and composer for Linux, will the users be able to compile it
with Lesstif?, I think it would be good news for users and
developers of this toolkit.
I don't know the answers to all these questions, but I
think that there is a lot of software that can benefit from
Lesstif characteristics and, with users and developers
support it could be a good alternative.
|