
******************************** * larswm - Lars Window Manager * ******************************** * * * IMPORTANT 7.0 NEWS! * * * * * * * * * * * * * * * * * * All menus are gone! Please see the ChangeLog and full documentation for information on how to perform the functions that used to be on menus. Shift+Control+Return is no longer defined by default to launch a new terminal. Please see sample.larswmrc for how to emulate the old behaviour. Also included in the source tarball and RPM are three reference cards in troff/tbl format. They list the mouse commands and the default keyboard shortcuts as well as all config keywords you can use in your .larswmrc. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Introduction: This is not really a completely new window manager, but rather a heavily modified version of David Hogan's 9wm. Please see file README.9wm for David's original license. In following his licensing terms, I release this under a different name than 9wm. As of version 7.0, this is actually alot more larswm than 9wm. I started with pre-9wm-1.2, which consisted of 2901 lines of code. larswm is now 6109 lines of code. Alot of 9wm code has been reimplemented to better fit with the design of larswm, and of the 9wm code still there, most of it have been modified in some way or another. Where can I find new versions? Where can I find more documentation? http://www.fnurt.net/larswm Also look at the files mouse_refcard.ms, keyboard_refcard.ms and larswmrc_refcard.ms which contains tables of useful information. They are in troff/tbl format, and to view them if you have groff installed, type: gtbl mouse_refcard.ms | groff -TX75 How do I compile and install it? xmkmf -a make install install.man Compiling with gcc under Solaris: I don't have Sun C installed, only gcc. In order to make the Imakefile work with the standard X11 installation in /usr/openwin, I had to add a few lines at the top of the Imakefile. If you're having trouble compiling on Solaris, try removing those. ChangeLog: Please see the file ChangeLog in the source distribution for a list of changes since version 1.0. Known bugs: Sometimes if a client is killed right when it is opened, the root window color will be set to the larswm background color. I have not actually been able to reproduce this, but have gotten reports about it. Other issues: 1. Keyboard shortcuts don't work when any of the locked modifiers are active. That is, if you configure a shortcut as Control-Alt-x, then it will not work if ShiftLock, NumLock or ScrollLock is on. Workaround: If you most of the time have NumLock on, you can configure all your keyboard shortcuts to include the Mod2 modifer. That is, if you want to use Alt-Tab to go to previous window, instead of larswm.prev_window_key: Tab larswm.prev_window_mod: Alt change the last line to read larswm.prev_window_mod: Mod2+Alt Now it won't work when NumLock is off, so only do this if NumLock is on most of the time. The names for the modifers you might want to do this for are: Key Symbol ------------------------- CapsLock ShiftLock NumLock Mod2 ScrollLock Mod5 2. Sometimes when a new xterm is mapped, even if auto tiling is on and it is resized, stty -a reports a size of 80x25. As soon as the window is resized again, it knows the correct size. A workaround is to have this line in your .cshrc or .bashrc: eval `resize` Command line options: -display display Open a different display than the default. -f file Load file instead of $HOME/.larswmrc -defaults Print a properly formatted larswmrc to stdout. -v Show version info and exit. message "text" Display text on the status bar. exit Make the currently running larswm exit. restart Make the currently running larswm restart. Mouse and keyboard commands: Please see the included mouse_reference.ms and keyboard_reference.ms files for a complete list of all larswm commands. SUN KEYBOARD SPECIFICS: To make the KP_ bindings work on a Sun keyboard, I use this xmodmap file: ---BEGIN--- keycode 75 = KP_Home keycode 76 = KP_Up keycode 77 = KP_Prior keycode 98 = KP_Left keycode 99 = KP_Begin keycode 100 = KP_Right keycode 119 = KP_End keycode 120 = KP_Down keycode 121 = KP_Next ---END--- Just put this in a file somewhere, and load it from your .xsession BEFORE starting larswm: ---BEGIN--- xmodmap /path/to/file exec larswm ---END--- If you are using another type of keyboard, and the keypad doesn't seem to work, use 'xev' to find the keycodes for each key, and then remap them in a similar way. Configuration file: For more in depth description, check the documentation that can be found on the larswm home page. You can generate a complete .larswmrc file with all the defaults filled in by doing the following: cd larswm -defaults > .larswmrc Just remember to uncomment any line you modify. :) Also included with the source tarball (and in the RPM) is my own config in the file sample.larswmrc, it shows how you can set up tiling for a few apps with not too much config file editing. Status bar info: The file sample.barinfo shows how you can easily write a program to be run in the background before starting larswm. It will keep sending the current date and time, and some stock info to larswm. The file sample.barclock is a smaller example, suitable for a laptop that is not connected to the net. It shows date and time and battery status on the status bar. larsclock is yet another sample clock, this one written in C, making use of the X11 ipc functions directly (no fork()/exec() of larsremote to send messages). The file sample.xsession shows how you can start this program when you login, and have it killed when you logout. New source files: tiling.c - contains all the logic for positioning windows and alot of other things I have added to 9wm. prefs.c - contains the preferences handling code. It uses Xrm to read resource files. keys.c - Keyboard shortcuts. bar.c - Status bar at the bottom of the screen. buttons.c - This is my replacement for menu.c mouse.c - This is my replacement for grab.c larsremote.c - External program that you use to display messages on the status bar, and to tell larswm to exit or restart. larsclock.c - Very simple example of how to write a status bar clock application that works without calling an external program every second to update the message. Licensing: Please see the file README.9wm for David Hogan's original 9wm license. The same type of license applies to larswm. --- Lars Bernhardsson lab@fnurt.net