xwm: fix memory leak in invisible screen window
[luccawm.git] / README
blobeddb85dd4affaa8174dc451960a73c5fba2c8643
2 1. Introduction
3 2. About Bugs and Other Issues
4 3. Getting Started
5 4. Mouse Usage
6 5. Keyboard Usage
10 1. Introduction
12 Lucca WM is a tiling window manager for the X Window System written using GTK. It will normally be run on Linux, but it should build and run on any system that has GTK and Xlib.
14 A window manager is a program that allows the user to control windows that applications create, deciding the size and position of windows and which windows are visible. Most window managers create a titlebar and resizeable border for each window and provide keyboard shortcuts such as Alt+Tab to switch between windows and Alt+F4 to close them.
16 Lucca WM is different from most window managers because it has a tiling constraint. As long as Lucca WM is running, the windows that you see must fill the screen, and no two windows can overlap. It is also different from most tiling window managers because it allows the user to create any layout of tiles (See the [Mouse Usage] or [Keyboard Usage] section for more information about how to do this.).
20 2. About Bugs and Other Issues
22 Lucca WM has not had extensive testing in the wild. That means you will probably encounter some incompatibilities with applications you use, other issues that impair your use of Lucca WM, or features that you think are lacking. Please tell me about these things.
24 Even if you think the issues you encounter are obvious, I might not know about them. Even if I do, it helps me to know where my priorities should be.
26 You can contact me by emailing madewokherd@gmail.com.
30 3. Getting Started
32 In order to run Lucca WM, you must acquire an executable file that was built in an appropriate format for your operating system and can use the libraries you have installed. I do not provide these yet for any operating system so you will have to build it yourself.
34 Before you can build Lucca WM, you must have Git (to get the source code), SCons (to run the build process), a C compiler, and development headers for GTK >= 2.10 and Xlib. You should also have development headers for libgnome and libgnomeui so that Lucca WM can be restarted automatically when it crashes or when you log out and back in.
36 If you are using ubuntu 7.10, you should have the following packages:
37 * git-core
38 * scons
39 * build-essential
40 * libx11-dev
41 * libgtk2.0-dev
42 * libgnome2-dev (optional)
43 * libgnomeui-dev (optional)
45 To get the latest source code and start the build process, open a terminal and type:
46 $ git clone http://madewokherd.nfshost.com/git/lucca.git lucca
47 $ cd lucca
48 $ scons
50 The scons command should finish by saying something like "scons: done building targets.".
52 To replace your current window manager with Lucca WM, type:
53 $ ./luccawm --replace
55 Most window managers implement the --replace switch so you should be able to get your old window manager back by running it with --replace. If you have an "Appearance Preferences" program in your system manager, you can also set your window manager by changing the "Visual Effects" setting.
59 4. Mouse Usage
61 Lucca WM starts with a single tile that fills the screen.
63 To add more tiles to the layout, click on one of the Split Tile ("⍇⍈") buttons. You will be asked to click where you want the new tile to appear.
65 You can resize tiles by dragging the border between them. If you want to combine two tiles, resize one of them so that it covers another tile completely.
67 You can think of tiles as containers that hold windows but can only can display one window at a time. You can change the window that is displayed by clicking on a window's title. To move a window to a different tile, drag its title.
69 Lucca WM uses a "focus follows mouse" model. Keyboard input will go to the window where the mouse is.
73 5. Keyboard Usage
75 Lucca WM can also be operated with keyboard commands:
76 * Alt+Tab and Alt+Shift+Tab to switch between windows in the current tile.
77 * Alt+F4 to close a window.
78 * Alt+{direction} to move to a different tile.
79 * Alt+Shift+{direction} to move a window to a different tile.
80 * Alt+Control+{direction} to split the current tile.
81 * Alt+R to make the current tile bigger.