There at last I was experiencing my first joy in Linux. I had choices. Instead of just the one look that Microsoft provides for Windows. Or the one choice that Apple provides for OS X. Linux lets you choose if things looks like Microsoft Windows, Mac OS or something entirely different.
In Linux when you decide you don't want to run just a plain text terminal and you want to run with graphics. That brings you into the world of X. For Microsoft they call it Windows. In linux it is called "X". The X server provides a very basic graphic display and handles the mouse and keyboard stuff.
The X graphics are very primitive. The buttons and window borders are clunky. Things look like a beta for Windows 3.1. The nice thing about pure X apps is they run on about any Linux setup you can imagine. To get more advanced looking dialogs, buttons, menus and such, a graphic toolkit is used that provides a cleaner look. The downside is the library has to be installed on the computer for it to work.
If you used every graphic tool kit ever made, it would be hard to keep up. In reality, only a few have ever mattered. There is gtk, the Gimp Tool Kit. Originally written for a program called GIMP. gtk was an easy tool kit to use to give Linux programs a good look. After GTK, there is GTK2, the newer gimp tool kit.
Most people expect a modern computer to provide a WIMPy environment. Winodws, Icons, Menus and Pointers (mouse). Microsoft provides that look for Windows. In Linux you can choose what programs provide that look. They come in two flavors, Window Managers and Desktop Enviroments.
The Window Manager (WM) is very simple. It provides the basics. Things like menus, a way to start programs, the boarder around programs, the title bar of programs. The way to switch between running programs. What the mouse does, what the keyboard does, shortcut keys, right clicks, left clicks, double clicks. All of this is provided by the Window Manager.
The Desktop Envirionment (DE) is Window Manager plus more. They do all that window mangers do. But they can also provide their own graphic tool kit. They can also provide servies for dealing with sound, video playback, networking and more.
With a Window Manager, they don't provide all the tools. For instance a window manager may not provide a taskbar that shows what programs are running. But since any plain X program or GTK program can run on any WM, there are dozens of task bars that you could use if a WM does not have one. Choice is the key word here. Do you want a transparent task bar? Do you want one that runs down the side of the screen or across the bottom? Do you want it to be able to hide? Do you want it to hide automatically or only when you click on it or press a certain key? No matter what it is you want, someone has probably written a taks bar that will do it that way.
So any standard Linux app will run with any Window manager. You have lots of choices in Window Managers. You have lots of choices in apps.
The Desktop Environments do it all. It may not be possible to replace the task bar. Because even if you can hide it. Other programs may not be able to take over the job. The DE wants to do it all. Also, because of the searvies that DE's provide. Like printing and sound. As well as the look and feel. Programs are written that only run on a particular DE. KDE programs need KDE to run, GNOME programs need GNOME to run. You can mix and match. I.E. You can run KDE and have GNOME on the computer but not use it as your DE. Then you can run both KDE and GNOME programs. But the same is true for the WM's. You can run KDE and GNOME apps with many WM's. You might loose a feature or two, but you can do it.
You can go to Window Managers for X to see what is out there. To cut to the chase. Most people run GNOME or KDE and there are holy wars about which one is better. So GNOME has 40% of the pie and KDE has 40% of the pie. The remaining 20% is made up of every thing else. XFCE, Enlightenment, Fluxbox, fvwm, AfterStep, IceWM, and many others.
My first day in Linux introduced me to both Gnome and KDE. After playing around with them for a few days. I settled on KDE, I just liked it better. Gnome had a cleaner look to it. But everything took up a bit more space. Eating up screen real estate I needed. In windows I always customized my envirnment to make working with it more natural for me. I found it easy to customize KDE to make it work like I worked in Windows.
Since that time. I have tried every major DE and WM out there. Where am I at now? I prefer KDE apps over most GNOME apps. When I want a small and fast app, I want something that is GTK2 or GTK. I like light and fast. so my choice of what I run for WM/DE is in this order: Fluxbox, XFCE4, KDE 3, Gnome, Enlightenment, and then KDE4.
I will justify my decision to run Fluxbox in my next post.