1
Matchbox X11 Window Manager Documentation
5
Copyright � 2002 by Matthew Allum <mallum@handhelds.org>
7
-------------------------------------------------------------------------------
14
3.1. Launching Matchbox
19
4. Included Utilities.
20
5. Compiling and Installing.
24
7.1. Where's the app launcher menu ?
25
7.2. How do I get that keyboard icon I saw in the screenshots?
26
7.3. Matchbox segfaulted !
34
Matchbox is a X11 window manager designed for computers with little screen real
35
estate, limited input devices and low cpu/storage resources. Touchscreen PDA's
36
fit well into this category.
38
Matchbox accomadates for these shortcomings by various means. Most importantly
39
by maximising windows to all available display space and only allowing one
40
'main' window to be visible at a time. The user is able to page through each
43
Matchbox does however facilitate other minor windows to share space at the same
44
time, these include toolbar, dockable and dialog windows.
46
Toolbar windows occupy space at the bottom of the display with multiple
47
instances stacking on top of each other. They work similar to toolbars in web
48
browser software allowing the space they use to be quickly freed and reclaimed.
49
Xkbd is an example of an application that uses a toolbar window.
51
For dockable windows, Matchbox optionally includes a configurable collapse-able
52
dock that holds small apps that are visible at all times. Examples include
53
small clocks, app launchers or resource meters.
55
Windows which set there 'transient' property are treated as dialogs. They are
56
set smaller than main windows, are drag-able and stay attached to their
57
'parent' during paging.
59
Other Features include;
62
* Only dependent on Xlib, and no other gui toolkits.
63
* Keyboard shortcuts for window navigation / operations.
65
* Highly configurable.
66
* Survives and adapts well to 'screen rotations'
67
* Optionable compile time Xft ( Anti-Aliased font ) support.
68
* Dist includes various useful apps;
70
+ minitime, a docked clock.
71
+ miniapm, a docked battery monitor.
72
+ minisys, a docked mem/cpu monitor.
73
+ monolauch, a simple dockable single program launcher.
74
+ mbcontrol, a tool for managing matchbox externally, used primarily for
75
changing themes on the fly.
79
Matchbox is still in its infancy and should be considered unstable software.
80
There are probably many bugs unfortunately lurking in the code. If you catch
81
one, be sure to report it.
83
-------------------------------------------------------------------------------
87
Screenshots are kept at http://www.handhelds.org/~mallum/screenshots/.
88
-------------------------------------------------------------------------------
92
Matchbox is designed to be intuitive. Navigation between main windows is
93
accomplished by clicking on the titlebar 'arrow' buttons or clicking on the
94
window title for a clickable dropdown list of currently active main windows.
96
Toolbar apps ( such as xkbd ) and the dockbar can be minimised by clicking the
97
small arrow at the side of the window. Once minimised they can be maximised by
98
clicking the collapsed bar. Toolbar apps are closed by clicking the cross at
101
-------------------------------------------------------------------------------
103
3.1. Launching Matchbox
105
With no other window manager running, simply execute 'matchbox &'. More
106
sensably add matchbox to the end of your X Startup script ( such as .xsession
109
-------------------------------------------------------------------------------
113
Matchbox supports optional configuration via command line options and/or X
116
X Resources are set options per user in ~/.Xdefaults and globally in (install
117
prefix)/share/matchbox/defaults. Command line options take precedence over both
122
Table 1. Matchbox options
124
+-----------------------------------------------------------------------------+
125
|Command Line |XResource Key |Value |Description |
127
|-------------+------------------------+-------+------------------------------|
128
|-display |matchbox.display |string |Specify the XServer for |
129
| | | |matchbox to connect to. |
130
| | | |Defaults to $DISPLAY |
131
| | | |environmental variable. |
132
|-------------+------------------------+-------+------------------------------|
133
|-theme |matchbox.theme |string |Specify the theme file to use.|
134
| | | |Defaults to default_theme_rc. |
135
| | | |The theme can also be changed |
136
| | | |whilst matchbox is executing |
137
| | | |using the mbcontrol program. |
138
|-------------+------------------------+-------+------------------------------|
139
|-modifier |matchbox.modifier |mod1| |Specify the modifier key to be|
140
| | |mod2| |used in combination with |
141
| | |ctrl |keyboard shortcut keys. |
142
| | | |Defaults to mod2 ( record |
143
| | | |button on the ipaq ) |
144
|-------------+------------------------+-------+------------------------------|
145
|-use_dock |matchbox.dock |yes|no |Specify whether or not to use |
146
| | | |the dock. Defaults to yes. |
147
|-------------+------------------------+-------+------------------------------|
148
|-dockmax |matchbox.dock.height.max|integer|Specify the height, in pixels,|
149
| | | |of the dock. |
150
|-------------+------------------------+-------+------------------------------|
151
|-dockmin |matchbox.dock.height.min|integer|Specify the height, in pixels,|
152
| | | |of the dock when collapsed. |
153
| | | |defaults to 4. |
154
|-------------+------------------------+-------+------------------------------|
155
|-use_titlebar|matchbox.titlebar |yes|no |Specify whether or not the |
156
| | | |main windows have titlebars. |
157
| | | |Defaults to yes. |
158
|-------------+------------------------+-------+------------------------------|
159
|-help |n/a |n/a |Display a brief help message |
161
+-----------------------------------------------------------------------------+
163
-------------------------------------------------------------------------------
167
Matchbox supports simple themes to change its look. A single default theme is
168
included with the main distribution. See the mb-themes package for extra ones (
169
blue, rage and yawn ).
171
See (install prefix)/share/matchbox/themes for examples. They are pretty self
174
Themes can be selected on startup via the '-theme' switch or changed on the fly
175
using the included utility 'mbcontrol'.
177
-------------------------------------------------------------------------------
181
Matchbox operation can be controlled with the keyboard by holding the defined
182
modifier key ( default mod2 ) and one of the following;
186
Go to previous main window.
187
* Arrow right, n or Tab.
189
Go to Next main window.
192
Close current main window.
195
Collapse all toolbars but not dock
198
Raise all toolbars but not dock
201
Collapse all toolbars and dock
204
Raise all toolbars and dock
206
Shortcuts will eventually be user definable.
208
-------------------------------------------------------------------------------
210
4. Included Utilities.
212
* minitime [options ...].
214
A dockable clock. Currently supports -f and -c switches for font and colour
218
A dockable battery monitor, currently a little broken :(
219
* minisys [options...].
221
A dockable mem/cpu monitor. Run with '-h' to see options.
222
* monolauch [-k] <xpm to use> <window name> <program to run>.
224
A single app launcher which sits in the dock with the selected xpm icon.
225
Initial click will launch the selected program, next click will hide the
226
programs window, next will show the window, next will hide, and so on for
227
ever.... Passing -k option will kill the program rather than hide it.
228
Originally based on xsingleinstance.
229
* mbcontrol [ options...].
231
When run with a '-r' it will output the current theme file matchbox is
232
using to stdout. When run with '-t <theme_file>', matchbox will switch to
233
that theme. Be aware however if the theme file doesn't exist, matchbox will
234
rudely exit ( To be fixed! )
236
-------------------------------------------------------------------------------
238
5. Compiling and Installing.
240
matchbox uses autoconf, so building it should be straightforward:
243
# This next step might require root access
245
See the INSTALL file for (standard) gory details regarding autoconf.
247
Configure currently supports the following options;
251
configure for a debug build
255
configure to use XFT library for anti-aliased fonts.
257
Make also has an 'ipkg' target for building shiny ipkgs.
259
A prebuilt ipkg is included in the familiar linux distributions unstable feed.
261
-------------------------------------------------------------------------------
265
Source tarballs and debs are available from http://www.handhelds.org/~mallum/
268
Bleeding edge source is available from handhelds.org cvs under apps/matchbox.
269
See http://www.handhelds.org/sources.html
271
ARM binarys for the Compaq Ipaq are available in ipkg from from the familiar
272
distribution unstable feed. See http://familiar.handhelds.org.
274
-------------------------------------------------------------------------------
278
-------------------------------------------------------------------------------
280
7.1. Where's the app launcher menu ?
282
There isn't one. Use a separate app such as gtk-menu ( lives in the dock ) ,
283
gpe-appmgr ( PDA style launcher ), or lots of monolauch's .
285
-------------------------------------------------------------------------------
287
7.2. How do I get that keyboard icon I saw in the screenshots?
289
monolaunch provides this. Run monolauch like this;
291
monolauch /usr/share/xkbd/img/kbd.xpm xkbd xkbd
293
Adding the '-k' switch to monolaunch will cause xkbd to completely disappear
294
rather than minimise to a bar.
296
-------------------------------------------------------------------------------
298
7.3. Matchbox segfaulted !
300
Remember matchbox is still in its early stages of development and is known to
301
crash on occasion. The important thing to do is to mail me explaining exactly
302
what happened and how to reproduce it, so I can fix it!
304
-------------------------------------------------------------------------------
308
Matchbox has a mailing list for both users and developers of matchbox.
310
Subscribe at http://www.handhelds.org/mailman/listinfo/matchbox
312
Archives are available at http://www.handhelds.org/pipermail/matchbox/
314
-------------------------------------------------------------------------------
318
Matchbox is free software released under the terms of the GNU General Public
319
License, (GPL). You can redistribute it and/or modify it under the terms of the
320
GNU General Public License as published by the Free Software Foundation; either
321
version 2, or (at your option) any later version.
323
Matchbox is distributed in the hope that it will be useful, but WITHOUT ANY
324
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
325
PARTICULAR PURPOSE. See the GNU General Public License for more details.
327
-------------------------------------------------------------------------------
331
Matchbox is written by Matthew Allum. It was originally based on aewm, but has
332
since undergone rewrites and now bares little resemblance. Thanks also goto
333
Carl Worth and Nils Ferber for initial help with the project.
335
Be sure to check out other exciting software by me including; xkbd - a xlib
336
virtual on-screen keyboard, pikpak - a python gtk front end to ipkg, gtksolo -
337
a gtk module which turns held down left clicks into right clicks on gtk apps
338
and jabberpy - a Python library for the Jabber instant messaging protocol.
340
Matchbox is copyright Matthew Allum 2002.