View Single Post
Posts: 15 | Thanked: 19 times | Joined on Jul 2008
#1
So I've been searching for a decent WM for my n800. I spent many an hour ssh -X ing into my laptop trying out different windows managers on my tablet. I ended up deciding upon fvwm2 for my purposes. (I originally compiled Enlightenment, but it kept segfault-ing in scratchbox, and I got to frustrated trying to debug with gdbserver, as the bug only reared its head under armel).

With a little configuration, I got FVWM2 to be very usable. Below is what I considered important considerations:

1) No reboot between matchbox and FVWM2
The ability to go back to matchbox like nothing ever happened.

2) Play nice with hildon-desktop
I like the applets, menu (navigator bar) and status bar, so I want them there. However, I didn't like how navigator is always on top (with non-hildonized apps) with most WM's I tried but with FVWM its not the case. The "home desktop", "status bar" and "navigation bar" are all separate windows and can be moved, resize, hidden, lowered and raised, etc. I've configured them to me without title bar and handles, but when in focus a window op pop-up can be opened with the fullscreen button.

3) Play nice with osso-* essential services and all hildonized apps
Access to all essential things, like connectivity UI. The hildonized apps play nicely. Sometimes they are tiny, but that is fixed by maximizing or resizing. Sometimes they are too big and can't be resized, but thats handled by the scrollbar feature

4) Finger friendly (Including the maemo finger keyboard)
The fullscreen button has been mapped to bring up the window op menu, allowing you to do most window manipulations easily.
Most importantly, in all hildonized apps, you can still you the finger keyboard

5) Desktop Switcher
Im really glad about this. I normally leave the "home desktop" clean and move all apps the other workspaces.

6) Highly Configurable
Able to change keybindings (I have a mini keyboard I use when using ssh -X to turn my tablet essentially into a terminal to my lab machine)
Able to add rules for each window. There is a save layout module, but I havent figured out how to restore it yet...

7) Themes? Apparently there are themes available for FVWM2? I don't know, haven't played around with that.

8) Lightweight, few dependencies
Important, as this meant I was able to compile it easily


Here is a screenshot of it running:





Installation Instructions: (Standard disclaimer, Not responsible for Blah, blah, blah...)
First download the tar file:
http://www.cs.rpi.edu/~phillc3/fvwm2.tar

Copy it to your tablet: (Or just download it there)

become root: (Here are some methods)
sudu su (If you are in your sudoers)
sudo gainroot (If becomeroot installed)
ssh method (if ssh client installed)

cd to root directory:
cd /

untar:
tar -xvf /home/user/fvmw2.tar

Its now installed, but there is still the annoyance of stopping matchbox-window-maker (only one WM at a time is allowed of course)
You may notice that if you try the logical killall matchbox-window, but it will just restart.
This is due to a launcher thats gaurding it (dsmetools). In theory you should be able to stop it via this launcher, but I have had no luck.
So, the workaround was to modify the matchbox launcher script so that it won't try to restart matchbox if it "crashes".
If you are curious about the technical details, it involved a one character change of -r to -o in /etc/osso-af-init/nice-launch-wrapper-restart.sh.
But so this didn't effect all apps that use this script, I made a new one /etc/osso-af-init/nice-launch-wrapper-once.sh with this change. Then I changed /etc/osso-af-init to use this new launcher.

Anyway, you should notice a script /home/user/install.sh. Running this will do the following:
Make a backup copy of the modifyed matchbox.sh
Copy the new launcher
Modify matchbox.sh
Install a matchbox restart script (/usr/local/bin/matchbox)

Usage:

Starting fvwm2:
killall matchbox-window //Close matchbox
fvwm2 //Lauch fvwm2

Back to matchbox:
Close fvwm2 via menu
execute /usr/local/bin/matchbox

Uninstall:
run /home/user/uninstall.sh

This will install all files added, restoring backups

NOTE:
This DOES NOT remove following files, as they may be there by another program
/usr/lib/libWidgets.a
/usr/lib/libXpm.a
/usr/lib/libXpm.so.4

It DOES remove xterm and links that were added during installation in /usr/local/bin


Let me know of any problems. I havent tested it on N810, nor have I run the "install script", (its really tiny, but if there is a typo let me know).


Happy Hacking
 

The Following 10 Users Say Thank You to iiiedokeiii For This Useful Post: