FXwm

From Cliquesoft
Revision as of 11:21, 7 October 2015 by Digitalpipe (Talk | contribs)

Jump to: navigation, search

The 'For XiniX window manager' (FXwm) is a small and fast X window manager for Linux, featuring the most basic configuration with as much flexibility as possible. To help achieve this goal, our window manager only handles the chrome of each window along with the I/O from connected devices such as a keyboard or mouse. There is not any built-in functionality to supervise the environment such as a taskbar or popup menu. Instead, this functionality will come from a complementary software such as web.de, wbar, or even a terminal!



License

This projects' codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "Our Licenses" link of our homepage.

This software currently contains files from various projects to expand its capabilities, but can be configured to not use them. As a result this package has to be released under multiple licenses - CPLv2 and GPLv2+. Both licenses are compatible with one another so there should not be any issues using all components at once. We will cover the licensing of the files below:

Core
o chrome.*

|| o io.*

    * main.*
    * socket.*
    * switch.*
    * window.*
  Extras
     * Desktop.*		Enables multiple desktops
     * Rotated.*		Enables movement of titlebars



Installation

No matter which method of installation you choose below, FXwm does not require a lot of complication to get running on your device. The 'Package Management' option will be the easiest since someone will have taken the compilation steps for you, but even if you have to perform the building of the executable on your own, the only dependency you will require is a working compiler like gcc.

Package Management

As noted above, this will be the easiest method of installation for this software. We will expand the below list to include as many mainstream Linux distros as possible when submissions are made to our staff for inclusion.

Debian and derivatives (Ubuntu, Linux Mint, Knoppix, )

$ sudo apt-get install fxwm

TinyCore and derivatives

tce-load -iw fxwm


Compiling from Source

This will the most difficult method of installation, but our staff has tried to make this as painless as possible. Currently only a handful of tools need to be installed along with a few simple commands and the build process will be completed. The below list will outline what you need to have pre-installed:

  * Standard tools such as find, grep, cut, etc
  * Bash
  * a c/c++ compiler such as gcc/g++
  * FLTK 1.3 dev package for your distro

After making sure that above requirements are met, we can proceed with building the binary for this window manager. For this example, we will be using GNU's gcc compiler and assumed that the source was downloaded into the /tmp directory.

$ tar zxf /tmp/fxwm_x.x.x.x.soft
$ cd /tmp
$ ./make install

It should be noted that if you are a package maintainer, you can optionally include a 'PREFIX=/staging/dir/prefix' to the 'make' call to have the software install to a staging area where you can package the software for your distro. If you are uncertain what a package maintainer is, then you should not use the 'PREFIX' switch!


Post Install To use FXwm as your window manager after installation (via package management or downloading and compiling on your own), you will need to create or modify a text file that is parsed during the initialization of the X Window system. On modern Linux distros that use a graphical login window, the file will be ~/.xsession. For older systems that start X after a successful shell login, you will need to modify the ~/.xinitrc file. To make FXwm as your default window manager, you may also have to select it as the default option at the graphical login screen.

The file used by your system should look similar to the following:

#!/bin/sh
xsetroot -solid \\#006060
xrdb .Xresources

# start xset, xmodmap, other configuration programs
fxwm -S /usr/local/bin/web.de &
WindowManager=$!

# start xterm, other auto-start programs
wait $WindowManager



Getting Started

Now that we have a working binary installed in your operating system, we need to discuss the various ways the window manager can be configured to your liking. Before getting into that information however, it is important to point out some important notes...

Unlike most, if not all, other window managers, this wm actually only manages the windows. Any desktop environment "supervision" has been removed, so things like a taskbar or right-clicking on the desktop background to activate a menu system, is not option. Instead, you define what you want to use as the "supervisor" of your system. The most basic example of this would be any one of many terminal emulators such as 'aterm' or 'konsole'. This would allow you to start any supplemental software from the console when calling software in the background (e.g. with a trailing ampersand '&' character). Other options include web.de and wbar. Since a supervisor is required in order to run the software, you must tell FXwm what it is so that certain conditions no longer apply (e.g. the ability to stop or close it).