Talk:Window Management

From Sfvlug

If you have something to add, subtract or discuss and are not sure about posting it on the article page itself you can put it here.

Contents

Considerations When Choosing a Window Manager

The proper choice for a window manager depends on both the hardware, the task and the human. Older hardware can easily bog down to a crawl when attempting to use modern feature rich tools. The task one is attempting to perform also has a big influence and should always be considered. The personal style of the user also comes to bear in the selection process.

Hardware

It is fairly straight forward in picking a window manager for older hardware, with the speed of the processor, the amount of available RAM and the size and speed of persistent storage directly dictating requirements for the size and speed of the window manager. The slower the processor the slower the response of the window manager. With a relatively high horsepower CPU the delays caused by the window manager become less significant and more easily tolerated. The older the hardware the more weight is placed on selecting a lean and fast window manager with little room for advanced features.

Software

The types of tasks as well as the specific tasks required from a system also should be considered. Is the system to be used for graphically intensive tasks, or will the majority of work be done on text or numbers? Using graphically intensive applications like Gimp, Inkscape, Audacity, Firefox or Totem can have very different requirements from text based applications like Vim, Emacs, irssi, lynx or ffmpeg. While usually not as important as the hardware requirements the types of tasks expected from a system can also influence the choice of window manager or even if a window manager is required at all. Ideally this should be the first consideration for all our software and hardware requirements but unfortunately we are often tied down in not only the selection of the window manager but with many other choices by the cost of new hardware and software on which to do our required tasks. (Note: rewrite previous sentence and/or paragraph.)

Human

Another huge factor is the human factor. We often think of others in terms of ourselves forgetting that not everyone functions the same way that we do. If everyone was the same Baskin Robins would only have one flavor of ice cream, not thirty one flavors. We also tend to keep to the well worn ruts even if a better trail is discovered. Ultimately, the human factor may be both the least rational and the most heavily weighted consideration. Even in the face of obviously better ways of doing things if we just don't like doing it that way we are going to resist. A good example of the factor that human inertia plays in resisting change would be in how few people have actually switched from Qwerty to Dvorak keyboard layouts in the face of much better speed and efficiency.

Specific Choices

Configurability & Familiar Defaults

Most of what I'm about to write is based on personal experience and personal opinion. One thing I've learned in doing research on window managers and desktop environments is that everyone does things differently. A feature considered by some to be essential is considered to be unnecessary rubbish by others. Many developers feel that they have the perfect solution and that if people just put a little effort into learning their way of doing things all will become clear and they will see the light of pure reason and divine intent. The problem is that even if they have designed the perfect desktop environment for best accomplishing any and all tasks, if there is a steep learning curve or poor default settings people are going to shy away from it.

Like it or not most Linux newcomers are accustomed to the way the commercial proprietary operating system ways of doing things that they have originally learned. They want to be able to step right in and start doing things the way they expect them to work. For a long time I kept shying away from minimalistic window managers like Blackbox and its *box descendants.

While testing existing window managers for this project I decided that I'd give them all a more thorough try than I had done in the past. Since Blackbox is no longer under active development I decided to use Fluxbox since it still has and active community and it uses tabbed application windows in a manner similar to how Firefox manages tabbed browser windows. A more thorough examination gave me better insight on the benefits of human readable and editable configuration files and keybindings.

Some Thoughts on Fluxbox

If we decide we want to build on an existing window manager project Fluxbox may be a good choice. It is EWMH compliant, lightweight, fast, stable, extensive and easy customization, can use many features from other Blackbox derived window managers as well as Window Maker's dock applications, and it has a large and active community. While Fluxbox does not natively provide tiling, it can be accomplished with additional tools like Tile-Windows.

Personal tools