]> icculus.org git repositories - dana/openbox.git/blob - doc/openbox.1.in
we dont have menuFormat in the resource file anymore
[dana/openbox.git] / doc / openbox.1.in
1 .\"
2 .\" Man page for Openbox
3 .\"
4 .\" Copyright (c) 2000 by Wilbert Berendsen <wbsoft@xs4all.nl>
5 .\"
6 .\" This manual page may be freely distributed and modified.
7 .\" Parts of the text are taken from website and several README's
8 .\" by His Great Hughesness himself. Why reinvent wheels?
9 .\"
10 .\" Created with NEdit, tested with ``man'' and ``tkman.''
11 .\" This manpage uses only standard groff and tmac.an macros.
12 .\" To all translators who didn't do manpages earlier (like me ;-):
13 .\" Read the Man-Page-Mini-HOWTO and the LDP manpage ``man 7 man''
14 .\" There's all I needed to know about these macros.
15 .\"
16 .\" Updated for bb 0.61 at Sat Sep  9 06:56:04 CEST 2000
17 .\"
18 .\" ..define sort of <blockquote><pre> macro
19 .de EX
20 .ne 5
21 .if n .sp 1
22 .if t .sp .5
23 .nf
24 .in +.5i
25 ..
26 .de EE
27 .fi
28 .in -.5i
29 .if n .sp 1
30 .if t .sp .5
31 ..
32 .TH openbox 1 "April 8th, 2002" "@VERSION@"
33 .SH NAME
34 openbox \- a window manager for X11
35 .SH SYNOPSIS
36 .BR openbox " \-help | \-version"
37 .br
38 .B openbox 
39 .RI "[ \-rc" " rcfile " "] [ \-display" " display " ]
40 .SH DESCRIPTION
41 .\"
42 .\" First few Paragraphs taken from FILLMEINNOW
43 .\"
44 .\"Openbox is yet another addition to the list of window managers for the Open
45 .\"Group's X Window System, Version 11 Release 6 and above.
46 .\"Openbox is built with C++, sharing no common code with any other window
47 .\"manager (even though the graphics implementation is similar to that of Window
48 .\"Maker).
49 .\".PP
50 .\"From the time the first line of code was written, Openbox has evolved around
51 .\"one premise, minimalism.
52 .\"It's not meant to be Eye Candy, nor the most Featureful, nor the most Adorned
53 .\"for modelling the Widely acclaimed NeXT interface.
54 .\"It is just meant to be
55 .\".BR fast .
56 .\".PP
57 .\"Openbox provides configurable window decorations, a root menu to launch
58 .\"applications, and a toolbar that shows the current workspace name, the focused
59 .\"application name, and the current time.
60 .\"There is also a workspace menu to add or remove workspaces. The `slit' can be
61 .\"used to dock small applications, e.g. most of the bbtools can use the slit.
62 .\".PP
63 .\"Openbox features a special kind of icon handling: When you minimize a window,
64 .\"no icon appears; instead, you can view all minimized applications in the `Icons'
65 .\"submenu of the workspace menu.
66 .\"Your desktop will never get cluttered with icons. As an alternative to icons,
67 .\"shaded windows are provided: A double click on the titlebar of a window will
68 .\"shade it (i.e. the window will disappear; only the titlebar stays visible).
69 .\".PP
70 .\"Openbox uses its own graphics class to render its images on the fly.
71 .\"By using style files, you can determine at a great level how your desktop looks.
72 .\"Openbox currently uses the Blackbox protocol to communicate with other clients
73 .\"such as the pager.  Work is underway to support the new window manager
74 .\"specification that both GNOME and KDE use.
75 .SH OPTIONS
76 Openbox supports the following command line options:
77 .TP
78 .B \-help
79 Display command line options and compiled-in features, then exit.
80 .TP
81 .B \-version
82 Display version info and exit.
83 .TP
84 .BI \-rc \ rcfile
85 Use another rcfile than the default
86 .IR  "~/.openbox/rc" .
87 .TP
88 .BI \-display \ display
89 Start Openbox on the specified display.
90 Programs started by Openbox will have the
91 .B DISPLAY
92 environment variable set to this value, too.
93 .SH RUNNING OPENBOX
94 This program is usually started by the user's startup script, most times called
95 .IR ~/.xinitrc .
96 To run openbox, modify the script by adding
97 .EX 0
98 exec openbox
99 .EE
100 as the last executed command of the script.
101 When Openbox terminates, the X session will terminate too.
102 .PP
103 When started, Openbox will try to find a default menu file in
104 .IR @defaultmenu@ .
105 You can provide a system-wide menu for your users here.
106 .PP
107 On exit or restart, Openbox will save user defaults in the file
108 .I ~/.openbox/rc
109 in the user's home directory.
110 Some resources in this file can be edited by hand.
111 .SH USING OPENBOX
112 Openbox does no keyboard handling by itself; instead, it relies on an external
113 program
114 .IR epist (1)
115 or
116 .IR bbkeys (1)
117 for this.
118 So, in this section, we will discuss all mouse commands.
119 .SS Root window (background):
120 A right click (button 3) will pop up the root menu.
121 With this, you can launch your applications.
122 You can also customize this menu for your needs.  See above for its location.
123 A middle click (button 2) will pop up the workspace menu.
124 You can add or remove a workspace, view
125 applications running on all workspace, inspect your iconified applications,
126 and jump directly to any workspace or application.
127 .PP
128 Left clicking (button 1) on an application in the Workspaces menu will bring
129 you to that workspace and raise/focus that application;
130 middle clicking (button 2) will warp the application to the current workspace.
131 .SS Toolbar:
132 The toolbar consists of three fields: a workspace name, the name of the
133 window that currently has focus, and a clock.
134 A left click on the toolbar will bring it to the foreground, a
135 middle click will hide it behind other windows (if AlwaysOnTop is not set), and
136 the right button will bring up a little menu.
137 .PP
138 Using this menu, you can enter a name for the current workspace (when finished,
139 press Enter).
140 Also, you can choose the toolbar's position, whether or not it
141 should be always on top (i.e. it cannot be obscured by other windows),
142 and whether it should hide itself when the mouse moves away.
143 .PP
144 Note: In Openbox versions below 0.60.0, a right click on the toolbar
145 immediately entered workspace name edit mode.
146 .SS Window Titlebar and Borders:
147 A left click on any part of the window's border will raise it.
148 Dragging then moves the window.
149 Dragging the resize grips at the bottom left and bottom right
150 corners resizes the window.
151 Middle clicking will immediately lower the window.
152 Right clicking on the border or titlebar pops up the window menu,
153 containing these commands:
154 .TP
155 .B Send To...
156 Send window to another workspace.
157 When you select the workspace with the middle button, Openbox will
158 send you, along with the application, to the selected workspace.
159 .TP
160 .B Shade
161 Shade window (display titlebar only).
162 .TP
163 .B Iconify
164 Iconify window.
165 The `icon' can be found in the `Icons' submenu of the workspace menu.  It will
166 *NOT* appear on screen otherwise.
167 .TP
168 .B Maximize
169 (Un)Maximize window.
170 When you click the middle button on this item, the
171 window will maximize only vertically.
172 .TP
173 .B Raise
174 Raise window.
175 .TP
176 .B Lower
177 Lower window.
178 .TP
179 .B Stick
180 (Un)Stick window.
181 A stuck window will always be displayed in the current workspace.
182 .TP
183 .B Kill Client
184 Kill (-SIGKILL) owner of window.  Only use this if the client refuses to close.
185 .TP
186 .B Close
187 Close the application cleanly.
188 .PP
189 When you double click on the titlebar of a window, it will `shade', so
190 that only the titlebar stays visible.
191 Another double click will redisplay the window contents.
192 .SS Window Buttons:
193 The button at the left upper corner of a window is the Minimize button.
194 Clicking with any button causes the window to be iconified.
195 The rightmost button (with the X) closes the application.
196 The other button on the right (if present) maximizes the window in three ways:
197 Button 1 causes full screen maximization, button 2 maximizes the window only
198 vertically, and button 3 only horizontally.
199 .SS Any menu:
200 Clicking button 3 in a menu will popdown the menu.
201 Clicking button 1 on the titlebar of any (sub)menu and then dragging it somewhere
202 else will cause the menu to stay visible, and not disappear when you click on
203 a menu item.
204 .SS Miscellaneous:
205 When you want to drag a window, but cannot see either the bottom handle or its
206 titlebar, you can press Alt + button 1 anywhere in the window and then
207 drag it around.
208 You can also use Alt + button 1 to raise a partially visible window.
209 Finally, Alt + button 2 lowers a window, and Alt + button 3 resizes the window.
210 .SH MENU FILE
211 A default menu file is installed in
212 .IR @defaultmenu@ .
213 Of course, this system-wide menu can be customized for all users at once.
214 But it is also possible to create a personal menu.
215 Openbox looks for a menu in your home directory under the location
216 .IR "~/.openbox/menu" .
217 You can copy the system-wide menu file to this location or create it by hand.
218 The next time you start/restart Openbox, it will use your custom menu file
219 instead of the system-wide one.
220 Be sure that your menu is usable, then choose `Restart' from the default
221 Openbox root menu to see your new menu in action.
222 .SS Menu syntax
223 The menu syntax is very simple and very effective.
224 There are up to three fields in a menu line.
225 They are of the form:
226 .EX
227 [tag] (label or filename) {command or filename}
228 .EE
229 The supported tags are as follows:
230 .TP
231 .B [begin] (label for root menu)
232 This tells Openbox to start parsing the menu file.
233 This tag is required for Openbox to parse your menu file.
234 If it cannot find it, the system default menu is used instead.
235 .TP
236 .B [end]
237 This tells Openbox that it is at the end of a menu.
238 This can either be a submenu or the main root menu.
239 There must be at least one of these tags in your menu to correspond to the
240 required [begin] tag.
241 .TP
242 .B [exec] (label for command) {shell command}
243 Inserts a command item into the menu.
244 When you select the menu item from the menu, Openbox runs `shell command.'
245 .TP
246 .B [exit] (label for exit)
247 Inserts an item that shuts down and exits Openbox.
248 Any running programs are not closed.
249 .TP
250 .B [include] (filename)
251 Parses the file specified by
252 .I filename
253 and includes it with the current menu. The filename can be the full path to a
254  file, or it can begin with
255 .IR ~/ ,
256 which will be expanded into your home directory (e.g.
257 .EX
258 [include] (~/.openbox/stylesmenu)
259 .EE
260 will include
261 .I /home/bhughes/.openbox/stylesmenu
262 in my menu).
263 .TP
264 .B [nop] (label - optional)
265 Insert a non-operational item into the current menu.
266 This can be used to help format the menu into blocks or sections
267 if so desired.
268 .B [nop]
269 does accept a label, but it is not required, and a blank item will be used
270 if none is supplied.
271 .TP 
272 .B [style] (label) {filename}
273 This tells Openbox to insert an item that, when selected, reads the style file
274 named
275 .I filename
276 and applies the new textures, colors, and fonts to the current
277 running session.
278 .TP
279 .B [stylesdir] (directory name)
280 Reads all filenames (directories are ignored) from the specified directory and
281  creates menu items in the current menu for every filename.  Openbox assumes
282  that each file is a valid style file.  When selected by the user, Openbox 
283 applies the selected style file to the current session.
284 The labels that are created in the menu are the filenames of the style files.
285 .TP
286 .B [stylesmenu] (label) {directory name}
287 Creates a submenu entry with
288 .I label 
289 (that is also the title of the new submenu), and inserts in that submenu all
290 filenames in the specified directory, in the same way as the
291 .B [stylesdir]
292 command does.
293 .IP
294 .RB Both\  [stylesdir] \ and\  [stylesmenu]
295 commands make it possible to install style files without editing your menu file.
296 .TP
297 .B [submenu] (label) {title for menu - optional}
298 This tells Openbox to create and parse a new menu.
299 This menu is inserted as a submenu into the parent menu.
300 These menus are parsed recursively, so there is no limit to the number of levels
301 or nested submenus you can have.
302 The title for the new menu is optional; if none is supplied,
303 the new menu's title is the same as the item label.
304 An
305 .B [end]
306 tag is required to end the submenu.
307 .TP
308 .B [reconfig] (label)
309 When selected, this item rereads the current style, menu files and rc file,
310 and applies any changes.
311 This is useful for creating a new style or theme, as you don't have to
312 constantly restart Openbox every time you save your style.
313 However, Openbox automagically rereads the menu whenever it changes.
314 .TP
315 .B [restart] (label) {shell command - optional}
316 This tells Openbox to restart.
317 If `shell command' is supplied, it shuts down and runs the command (which is
318 commonly the name of another window manager).
319 If the command is omitted, Openbox restarts itself.
320 .TP
321 .B [config] (label)
322 Inserts a Openbox generated submenu item containing numerous configuration
323 options concerning window placement, focus style, window moving style, etc.
324 .TP
325 .B [workspaces] (label)
326 This tells Openbox to insert a link to the workspaces menu directly
327 into your menu.
328 This is handy for those users who can't access the
329 workspace menu directly (e.g. if you don't have a 3 button mouse).
330 .PP
331 Any line that starts with a `#' is considered a comment and ignored by Openbox.
332 Also, in the labels/commands/filenames fields,
333 you can escape any character like so:
334 .EX
335 [exec] (\\(my cool\\) \\{XTERM\\}) {xterm -T \\"cool XTERM\\"}
336 .EE
337 Using `\\\\' inserts a literal back-slash into the label/command/filename field.
338 .SS Menu example
339 Now let's put together some things.
340 Here is a short example of a menu file:
341 .PP
342 .nf
343 # Openbox menu file
344 [begin] (Openbox @version@)
345   [exec] (rxvt) {rxvt -ls}
346   [exec] (Mozilla) {mozilla}
347   [exec] (The GIMP) {gimp}
348   [submenu] (Window Manager)
349     [exec] (Edit Menus) {nedit .openbox/Menu}
350     [submenu] (Style) {Which Style?}
351       [stylesdir] (~/.openbox/styles)
352       [stylesmenu] (Openbox Styles) {@pkgdatadir@/styles}
353     [end]
354     [config] (Config Options)
355     [reconfig] (Reconfigure)
356     [restart] (Restart)
357   [end]
358   [exit] (Log Out)
359 [end]
360 # end of menu file
361 .fi
362 .SH STYLES
363 Openbox enables you to use specialized files that contain
364 .IR X (1)
365 resources to specify colors, textures, and fonts and therefore
366 the overall look of your window borders, menus, and the toolbar.
367 .PP
368 The default installation of Openbox provides some of these style files.
369 Usually they are put in
370 .IR @pkgdatadir@/styles .
371 You can study or edit these files to grasp how the Openbox style mechanism
372 works.
373 You can use the
374 .BR [style] ", " [stylesdir] " and " [stylesmenu]
375 menu commands in your menu file to be able to select and change between styles
376 on the fly.
377 .PP
378 You can also create a directory in your home directory (usually named
379 .I ~/.openbox/styles)
380 and put your own style files there.
381 Of course, you may choose any name for this directory, but many downloadable
382 themes will rely on the name
383 .I styles
384 (following the bb.themes.org naming scheme).
385 .PP
386 To understand how the style mechanism works, you should have a little knowledge
387 of how X resources work.
388 .PP
389 X resources consist of a key and a value.
390 The key is constructed of several smaller keys (sometimes referred to as
391 children), delimited by a period (`.').
392 Keys may also contain a star (`*') to serve as a wildcard, which means that one
393 line of typed text will match several keys.
394 This is useful for styles that are based on one or two colors.
395 .PP
396 Openbox allows you to configure its four main components: the toolbar, the
397 slit, the menus, and the window decorations.
398 .PP
399 The little window that shows the x-y position while dragging windows borrows
400 its style from the window's titlebar.
401 .PP
402 Here are some quick examples:
403 .EX
404 toolbar.clock.color:    green
405 .EE
406 This sets the color resource of the toolbar clock to `green'. Another example:
407 .EX
408 menu*color:     rgb:3/4/5
409 .EE
410 This sets the color resource of the menu
411 .I and all of its `children'
412 to `rgb:3/4/5'.
413 (For a description of color names, see
414 .IR X (1).)
415 So this one also applies to
416 .IR menu.title.color " and " menu.frame.color .
417 And with
418 .EX
419 *font:  -b&h-lucida-medium-r-normal-*-*-140-*
420 .EE
421 you set the font resource for all keys to this font name all at once.
422 (For information about the fonts installed on your system, you can use a program like
423 .IR xfontsel "(1), " gtkfontsel ", or " xlsfonts "(1).)"
424 .PP
425 Now what makes Openbox just so spectacular is its ability to render textures
426 on the fly.
427 Texture descriptions are specified in a similar way to the colors shown above
428 e.g.:
429 .ta \w'toolbar.clock.colorTo:\ 'u
430 .EX
431 toolbar.clock:  Raised Gradient Diagonal Bevel1
432 toolbar.clock.color:    rgb:8/6/4
433 toolbar.clock.colorTo:  rgb:4/3/2
434 .EE
435 Don't worry; we will explain right now!
436 A texture description consists of up to five fields, which are as follows:
437 .TP
438 .B Flat / Raised / Sunken
439 gives the component either a flat, raised, or sunken appearance.
440 .TP
441 .B Gradient / Solid
442 tells Openbox to draw either a solid color or a texture with gradient.
443 .TP
444 .B Horizontal / Vertical / Diagonal / Crossdiagonal / Pipecross / Elliptic / Rectangle / Pyramid
445 Select one of these texture types. They only work when
446 .B Gradient
447 is also specified!
448 .TP
449 .B Interlaced
450 tells Openbox to interlace the texture (darken every other line).
451 This option is most commonly used with gradiented textures, but, from Openbox
452 version 0.60.3 on, it also works in solid textures.
453 .TP
454 .B Bevel1 / Bevel2
455 tells Openbox which type of bevel to use.
456 Bevel1 is the default bevel.
457 The shading is placed on the edge of the image.
458 Bevel2 is an alternative.
459 The shading is placed one pixel in from the edge of the image.
460 .PP
461 Instead of a texture description, the option
462 .B ParentRelative
463 is also available, which makes the component appear as a part of its parent, i.e.
464 totally transparent.
465 .PP
466 All gradient textures are composed of two color values: the
467 .IR color " and " colorTo " resources."
468 color represents the initial color, colorTo represents the final color of the
469 gradient.
470 When
471 .B Interlaced 
472 is used in
473 .B Solid
474 mode, the
475 .I colorTo
476 resource is used to specify the interlacing color.
477 .PP
478 Well, here is the complete component list; also, all components together with
479 which kind of value they can contain.
480 Comments are preceded with an exclamation sign (!), which is also used for
481 comments in Openbox style c.q. X resource files.
482 .PP
483 .ta \w'window.button.unfocus.picColor: \ 'u 
484 .nf
485 .\"
486 .\" The comments also to be translated!
487 .\"
488 ! The toolbar itself.
489 toolbar:        Texture
490 toolbar.color:  Color
491 toolbar.colorTo:        Color
492
493 ! The buttons on the toolbar.
494 toolbar.button: Texture or \fIParentRelative\fR
495 toolbar.button.color:   Color
496 toolbar.button.colorTo: Color
497
498 ! Color of the button arrows.
499 toolbar.button.picColor:        Color
500
501 ! Buttons in pressed state.
502 toolbar.button.pressed: Texture \fI(e.g. Sunken)\fR or \fIParentRelative\fR
503 toolbar.button.pressed.color:   Color
504 toolbar.button.pressed.colorTo: Color
505
506 ! Color of pressed button arrows.
507 toolbar.button.pressed.picColor:        Color
508
509 ! The toolbar workspace label.
510 toolbar.label:  Texture or \fIParentRelative\fR
511 toolbar.label.color:    Color
512 toolbar.label.colorTo:  Color
513 toolbar.label.textColor:        Color
514
515 ! The toolbar window label.
516 toolbar.windowLabel:    Texture or \fIParentRelative\fR
517 toolbar.windowLabel.color:      Color
518 toolbar.windowLabel.colorTo:    Color
519 toolbar.windowLabel.textColor:  Color
520
521 ! The toolbar clock.
522 toolbar.clock:  Texture or \fIParentRelative\fR
523 toolbar.clock.color:    Color
524 toolbar.clock.colorTo:  Color
525 toolbar.clock.textColor:        Color
526
527 ! How the toolbar's text should be justified.
528 toolbar.justify:        \fIcenter\fR, \fIleft\fR, or \fIright\fR
529
530 .ta \w'toolbar.font:\ 'u 
531 ! Font to be used for all toolbar components.
532 toolbar.font:   Font \fI(e.g. -*-helvetica-medium-r-normal-*-*-100-*)\fR
533
534 .ta \w'window.button.unfocus.picColor: \ 'u 
535 ! The menu titlebar.
536 menu.title:     Texture
537 menu.title.color:       Color
538 menu.title.colorTo:     Color
539 menu.title.textColor:   Color
540 menu.title.font:        Font
541 menu.title.justify:     \fIcenter\fR, \fIleft\fR, or \fIright\fR
542
543 ! The menu frame.
544 menu.frame:     Texture
545 menu.frame.color:       Color
546 menu.frame.colorTo:     Color
547 menu.frame.textColor:   Color
548 menu.frame.disableColor:        Color
549 menu.frame.font:        Font
550 menu.frame.justify:     \fIcenter\fR, \fIleft\fR, or \fIright\fR
551
552 ! Bullets for submenu items.
553 menu.bullet:    \fIempty\fR, \fItriangle\fR, \fIsquare\fR, or \fIdiamond\fR
554 menu.bullet.position:   \fIright\fR or \fIleft\fR
555
556 ! The highlighted menu item.
557 menu.hilite:    Texture (e.g. \fIRaised\fR)
558 menu.hilite.color:      Color
559 menu.hilite.colorTo:    Color
560 menu.hilite.textColor:  Color
561
562 ! A focused window.
563 window.title.focus:     Texture
564 window.title.focus.color:       Color
565 window.title.focus.colorTo:     Color
566
567 ! An unfocused window.
568 window.title.unfocus:   Texture
569 window.title.unfocus.color:     Color
570 window.title.unfocus.colorTo:   Color
571
572 ! Window label.
573 window.label.focus:     Texture or \fIParentRelative\fR
574 window.label.focus.color:       Color
575 window.label.focus.colorTo:     Color
576 window.label.focus.textColor:   Color
577
578 window.label.unfocus:   Texture or \fIParentRelative\fR
579 window.label.unfocus.color:     Color
580 window.label.unfocus.colorTo:   Color
581 window.label.unfocus.textColor: Color
582
583 ! Handlebar.
584 window.handle.focus:    Texture
585 window.handle.focus.color:      Color
586 window.handle.focus.colorTo:    Color
587
588 window.handle.unfocus:  Texture
589 window.handle.unfocus.color:    Color
590 window.handle.unfocus.colorTo:  Color
591
592 ! Resize grips.
593 window.grip.focus:      Texture
594 window.grip.focus.color:        Color
595 window.grip.focus.colorTo:      Color
596
597 window.grip.unfocus:    Texture
598 window.grip.unfocus.color:      Color
599 window.grip.unfocus.colorTo:    Color
600
601 ! Window buttons.
602 window.button.focus:    Texture or \fIParentRelative\fR
603 window.button.focus.color:      Color
604 window.button.focus.colorTo:    Color
605 window.button.focus.picColor:   Color
606
607 window.button.unfocus:  Texture or \fIParentRelative\fR
608 window.button.unfocus.color:    Color
609 window.button.unfocus.colorTo:  Color
610 window.button.unfocus.picColor: Color
611
612 window.button.pressed:  Texture (e.g. \fISunken\fR)
613 window.button.pressed.color:    Color
614 window.button.pressed.colorTo:  Color
615
616 .ta \w'window.button.pressed.unfocus.colorTo:\ 'u 
617 ! If either the focused, or unfocused pressed button isn't
618 ! defined, it will use the normal pressed: resource
619 window.button.pressed.focus:    Texture (eg. \fISunken\fR)
620 window.button.pressed.focus.color:      Color
621 window.button.pressed.focus.colorTo:    Color
622 window.button.pressed.unfocus:  Texture (eg. \fISunken\fR)
623 window.button.pressed.unfocus.color:    Color
624 window.button.pressed.unfocus.colorTo:  Color
625
626 .ta \w'window.button.unfocus.picColor:\ 'u 
627 ! Frame around window.
628 window.frame.focusColor:        Color
629 window.frame.unfocusColor:      Color
630
631 ! Font and justification for window labels.
632 window.font:    Font
633 window.justify: \fIcenter\fR, \fIleft\fR, or \fIright\fR
634
635 ! Miscellaneous resources.
636
637 ! A border can be drawn around all components.
638 borderWidth:    a number of pixels, e.g. \fI1\fR
639 borderColor:    Color
640
641 bevelWidth:     a number of pixels > 0
642 handleWidth:    a number of pixels > 0
643
644 ! Width of the window frame (from version 0.61 on).
645 ! When not specified, frameWidth defaults to the value of bevelWidth.
646 frameWidth:     a number of pixels >= 0
647
648 ! This command is executed whenever this style is selected.
649 ! Typically it sets the root window to a nice picture.
650 rootCommand: Shell command, e.g. \fIbsetroot -mod 4 4 -fg rgb:  5/6/6 -bg grey20\fR
651
652 ! Some of the bbtools read these old 0.51 resources.
653 menuFont:       Font
654 titleFont:      Font
655 .fi
656 .PP
657 Now, this seems a long list, but, remember, when you create your own style, you
658 can easily set lots of keys with a single command, e.g.
659 .EX
660 .ta \w'*unfocus.textColor:\ 'u
661 *color: slategrey
662 *colorTo:       darkslategrey
663 *unfocus.color: darkslategrey
664 *unfocus.colorTo:       black
665 *textColor:     white
666 *unfocus.textColor:     lightgrey
667 *font:  lucidasans-10
668 .EE
669 This sets already nice defaults for many components.
670 .PP
671 Openbox also lets you pick what the small graphics in the buttons and in the manu look like. It uses the X Bitmap file format (.xbm extension). The style resources are as follows:
672 .EX
673 ! Close, maximize, sticky and iconify
674 ! buttons on a window.
675 window.button.close.mask:       xbm file
676 window.button.max.mask:         xbm file
677 window.button.stick.mask:       xbm file
678 window.button.icon.mask:        xbm file
679
680 ! The icon for submenus in a menu.
681 menu.arrow.mask:                xbm file
682
683 ! The icon for a selected option or workspace
684 ! in the menus.
685 menu.selected.mask:             xbm file
686
687 ! The left and right buttons in the toolbar
688 toolbar.button.left.mask:       xbm file
689 toolbar.button.right.mask:      xbm file
690 .EE
691 If the xbm file value is the path to a .xbm image. If the value is absolute, it uses that file. If the file is just a file name, e.g. `close.xbm', it uses ~/.openbox/buttons/close.xbm.
692 .SH THE SLIT
693 The slit is a special Openbox window frame that can contain dockable
694 applications, e.g. the `bbtools' or WindowMaker's dockapps.
695 When applications are run in the slit, they have no window borders of their own;
696 instead, they are framed in the slit, and they are always visible in the current
697 workspace.
698 You can click button 3 on the edge of the slit window to get a menu to
699 determine its position, whether its contained applications should be grouped
700 horizontally or vertically and whether it should hide itself when the
701 mouse moves away.
702 .PP
703 Most dockable applications use the
704 .B -w
705 option to run in the slit.
706 For example, you could put in your
707 .IR ~/.xinitrc :
708 .EX
709 bbmail -w &
710 bbpager -w &
711 exec openbox
712 .EE
713 Of course, to use the slit, you must have slit support compiled in (this is
714 the default).
715 .SH RESOURCE FILE
716 Usually the
717 .I ~/.openbox/rc
718 resource file is created and maintained by Openbox itself.
719 All options from the
720 .B [config]
721 menu (from 0.60.x on), the last selected style file, your workspace names and
722 so on are saved automatically in this file.
723 .PP
724 For a complete description of all of the resource file's options, see the
725 documentation at
726 .IT http://icculus.org/openbox/rc.php
727 .SH ENVIRONMENT
728 .TP
729 .B HOME
730 Openbox uses
731 .RB $ HOME
732 to find its
733 .I .openbox/rc
734 and
735 .I .openbox/menu
736 files, and to resolve style file and directory names.
737 .TP
738 .B DISPLAY
739 When no other display was given on the command line, Openbox will start on the
740 display specified by this variable.
741 .SH AUTHOR and CREDITS
742 All of the code was initially written and maintained as Blackbox by Brad Hughes
743 .nh \" hyphenation off
744 (blackbox@alug.org)
745 .hy \" on again
746 and then Jeff Raven
747 .nh
748 (jraven@psu.edu),
749 .hy
750 and then Sean 'Shaleh' Perry
751 .nh
752 (shaleh@debian.org)
753 .hy
754 .hy
755 and is now maintained as Openbox by Ben Jansens
756 .nh
757 (ben@orodu.net)
758 .hy
759 with contributions and patches merged from
760 many individuals around the world.
761 .PP
762 The official Openbox website:
763 .nh
764 .B http://icculus.org/openbox
765 .hy
766 .br
767 Many themes and other contributions:
768 .nh
769 .B http://themes.freshmeat.net/
770 .hy
771 .PP
772 This manpage was put together by Wilbert Berendsen
773 .nh
774 (wbsoft@xs4all.nl).
775 .hy
776 Numerous other languages will be available.
777 .SH SEE ALSO
778 .IR epist (1), \ bsetbg(1), \ bsetroot (1), \ xftlsfonts (1), \ bbkeys (1)