Monday, December 16, 2013

Setup CLFSWM

This article is based on my previous post "Setup Common Lisp Environment". Please read that first if you have not.
For me, one way to learn a new language is to use it frequently. To learn common lisp, I try to use clfswm (Common Lisp FullScreen Window Manager: http://common-lisp.net/project/clfswm/) in one of my machine. It is written/configured with common lisp.
I use quick lisp to install clfswm as follow:
* (qlsetup)
* (ql:quickload "clfswm")
Gnome is my primary desktop now, to continue use gnome applications in clfswm, I add a .xsession file as follow in my home directory:
#!/bin/bash

# log for debugging, quite useful if you make some mistake in your configuration
exec &> $HOME/.clfswm.log

gnome-settings-daemon &
eval `gnome-keyring-daemon`
nm-applet &
# or some other panel application, I mainly use it for systray support
fbpanel &
# some applications I used everyday, so I start up them along with login
gnome-terminal &
emacs &

# to setup background, you can select other applications for it too
feh --bg-center /usr/share/wallpapers/joy/contents/images/1366x768.png
exec sbcl --noinform --no-userinit --no-sysinit --eval "(require :asdf)" \
    --eval "(require :clfswm)" --eval "(clfswm:main)" --quit
To adapt clfswm to my habit (mostly based on gnome), I customized clfswm a little via .clfswmrc. I changed fbpanel a little for clfswm too. Details will be in following posts.
In fact, I still have several issues with my clfswm, this prevents me to use it as my primary window manager in my laptop.

  • Sometimes modal dialog will make a frame "frozen" after covered by other window, that is, no reaction for hot key. I need to click another frame and back to the frame to switch to the modal dialog.
  • I do not find real full screen support. Some software need real full screen to display a full screen "edge menu" (such as virtualbox). Or maybe software thinks it is in full screen mode, I just can not activate the "edge menu".

No comments: