~ubuntu-branches/ubuntu/trusty/fluxbox/trusty-proposed

« back to all changes in this revision

Viewing changes to doc/asciidoc/fluxbox-menu.txt

  • Committer: Package Import Robot
  • Author(s): Paul Tagliamonte
  • Date: 2010-08-12 21:16:02 UTC
  • mfrom: (0.1.1) (1.1.10)
  • Revision ID: package-import@ubuntu.com-20100812211602-3tsmzl9in5nmwz7z
Tags: 1.1.1+git20100807.0cc08f9-1
* debian/ dir has been cleaned out, complete repackage
  of most files.
* pulled new archive from git.fluxbox.org HEAD, saved as
  tar.gz.
* Added in fluxbox.* files from the old dfsg tree.
* Added in system.fluxbox-menu file from the old dfsg tree
* Added the source/format file to bump package source
  version from 1.0 to 3.0 (quilt). 
* Changed rules file to match the old dfsg setup so that
  fluxbox behaves nicely.
* Removed entries from copyright that no longer apply.
* Added theme based on Denis Brand ( naran )'s old theme.
* Added a background I whipped up.
* Changed compile flags to point to debian theme by default
* Adding a patch to have fluxbox use x-terminal-emulator
  over xterm. Closes: #591694 (LP: #580485)
* Adding a patch to allow titlebar-window dragging.
* Changed the flags in rules to pull from a script. This script
  lets us un-hardcode what theme is default. Be sure there
  is a theme pack!
* Added comments to my patches.
* Removing debian/docs, empty file.
* Fixing fluxbox.desktop to remove all the warnings from
  desktop-file-validate
* Fixing libtool issue by running an update before
  configure in the rules script.
* Added a compile flag script to auto-detect what platform
  we are running on, and apply the correct theme. This
  should solve Ubuntnu issues later on.
* adding in a get-orig-source rule
* fixing the upstream version number to pinpoint
  the commit ( thanks, lfaraone ).
* adding a rule for get-orig-source. ( thanks again,
  lfaraone ).
* Updated rules to actually allow us to do a build from it
* Removed Denis from the uploaders ( as per an email
  conversation )
* Removing madduck from the uploaders ( thanks for asking,
  lfaraone. ). Thanks for your hard work, madduck.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
fluxbox-menu(5)
 
2
===============
 
3
Jim Ramsay <i.am@jimramsay.com>
 
4
v1.1.2, 18 February 2009
 
5
:man source:   fluxbox-menu.txt
 
6
:man version:  {revision}
 
7
:man manual:   Fluxbox Manual
 
8
 
 
9
NAME
 
10
----
 
11
fluxbox-menu - fluxbox(1) menu syntax
 
12
 
 
13
SYNOPSIS
 
14
--------
 
15
@pkgdatadir@/menu
 
16
 
 
17
~/.fluxbox/menu
 
18
 
 
19
~/.fluxbox/windowmenu
 
20
 
 
21
SYNTAX
 
22
------
 
23
Variable parameters are shown in emphasis: 'argument'
 
24
 
 
25
All other characters shown are required verbatim. Whitespce is only required to
 
26
delimit words, but it is fine to add more whitespace.
 
27
 
 
28
DESCRIPTION
 
29
-----------
 
30
There are two types of menus in fluxbox which can be configured.
 
31
 
 
32
The first is the root menu, which normally appears when you right-click on the
 
33
desktop.
 
34
 
 
35
The first is the *ROOT MENU* (Or right-click menu), is usually bound to a
 
36
right-click on the desktop, though this binding can be changed in the `keys'
 
37
file (*fluxbox-keys(5)*). This same syntax is used for the *CustomMenu* command,
 
38
also mentioned in *fluxbox-keys(5)*.
 
39
 
 
40
Fluxbox installs a default root menu file in *@pkgdatadir@/menu*. You can also
 
41
use fluxbox -i to confirm this location. Of course this system-wide menu can be
 
42
customized for all users at once, but it is also possible to create an
 
43
individual menu file for each user. By convention, users create a menu file in
 
44
*~/.fluxbox/menu*. Once you've created your own menu file, you'll want to make
 
45
sure that you properly declare this location in your `init' file so that fluxbox
 
46
knows where to look. See *RESOURCES*, below for details.
 
47
 
 
48
The second type is the *WINDOW MENU*, which defines the contents of the menu
 
49
which appears when you right-click on a window's titlebar or iconbar. This opens
 
50
a menu file as defined by *~/.fluxbox/windowmenu*. If this file does not exist,
 
51
fluxbox will copy in the default from *@pkgdatadir@/windowmenu*.
 
52
 
 
53
You do not need to ``reload'' fluxbox after editing the apps file, the changes
 
54
should be taken into account the next time you open the menu.
 
55
 
 
56
ROOT MENU
 
57
---------
 
58
The root menu must begin with a *[begin]* tag and end with an *[end]* tag, and
 
59
every tag must be on its own line.
 
60
 
 
61
There are up to four fields in a menu line. They are of the form:::
 
62
    ['tag'] ('label') {'command'} <'icon'>
 
63
 
 
64
The <'icon'> field is always optional when show below. If specified, the 'icon'
 
65
will be scaled down and displayed in the menu alongside the text label of the
 
66
item. It must be in .xpm or .png format.
 
67
 
 
68
Any line that starts with a '#' or '!' is considered a comment and ignored by
 
69
fluxbox. Also, in the label/command/filename fields you can escape any
 
70
character. Using '\\' inserts a literal back-slash into the
 
71
label/command/filename field.
 
72
 
 
73
You may enter labels, commands, and icons using characters from any *iconv(1)*
 
74
language/locale by specifying the encoding used via the *[encoding]* tag,
 
75
detailed below.
 
76
 
 
77
Structural Tags
 
78
~~~~~~~~~~~~~~~
 
79
*[begin]* ('title');;
 
80
        This tells fluxbox to start parsing the menu file. This tag is required for
 
81
        fluxbox to read your menu file. If it cannot find it, the system default menu
 
82
        is used in its place. The 'title' appears at the top of the menu. And *[end]*
 
83
        tag is required to end the menu.
 
84
 
 
85
*[submenu]* ('label') {'title'} <'icon'>;;
 
86
        This tells fluxbox to create and parse a new menu, which is inserted as a
 
87
        submenu into the parent menu. These menus are parsed recursively, so there is
 
88
        no limit to the number of levels or nested submenus you can have. The 'label'
 
89
        is the text that will appear in the parent menu, and the 'title' is shown at
 
90
        the top of the submenu.  If omitted, the 'title' will be the same as the
 
91
        'label'.  An *[end]* tag is required to end the submenu.
 
92
 
 
93
*[end]*;;
 
94
        This tells fluxbox that it is at the end of a menu. This can either be a
 
95
        *[submenu]* or the *[begin]* tag of the main root menu. There must be at
 
96
        least one of these tags in your menu to correspond to the required *[begin]*
 
97
        tag, and one for each *[submenu]*.
 
98
 
 
99
*[encoding]* {'encoding'};;
 
100
        This begins an *[encoding]* section and specifies the string encoding of
 
101
        all strings until the matching *[endencoding]* tag. For a list of available
 
102
        encodings on your system, run *iconv -l*.
 
103
 
 
104
*[endencoding]*;;
 
105
        This ends an *[encoding]* section.
 
106
 
 
107
*[include]* ('path');;
 
108
        Parses the file specified by filename inline with the current menu. The
 
109
        'path' can be the full path to a file or it can begin with *~/*, which will
 
110
        be expanded into your home directory. If 'path' is a directory, then all
 
111
        files in that directory are included.
 
112
 
 
113
*[separator]*;;
 
114
        This will create a nice separation line. Useful for splitting up sections in
 
115
        a ``pretty'' way. The optional 'comment' is not displayed, but can be useful
 
116
        for internal documentation or script parsing of menu files.
 
117
 
 
118
*[nop]* ('label') <'icon'>;;
 
119
        Insert a non-operational item into the current menu. This is much like
 
120
        *[separator]*, but instead of a line, it inserts a 'label'. This can be used
 
121
        to help format the menu into blocks or sections if so desired. The 'label' is
 
122
        optional, and if omitted a blank item will be inserted.
 
123
 
 
124
Applications
 
125
~~~~~~~~~~~~
 
126
*[exec]* ('label') {'command...'} <'icon'>;;
 
127
        Inserts a command item into the menu. When you select the menu item from the
 
128
        menu, fluxbox runs 'command...' in your *$SHELL* (or /bin/sh if $SHELL is not
 
129
        set). You can use this to launch applications, run shell scripts, etc. Since
 
130
        all arguments are passed verbatim to te shell, you can use environment
 
131
        variables, pipes, or anything else the shell can do. Note that processes only
 
132
        see environment variables that were set before fluxbox started (such as in
 
133
        ~/.fluxbox/startup).
 
134
 
 
135
Fluxbox Functions
 
136
~~~~~~~~~~~~~~~~~
 
137
*[config]* ('label') <'icon'>;;
 
138
        Inserts a fluxbox native submenu item, containing numerous configuration
 
139
        options concerning window placement, focus style, window moving style, etc.
 
140
        See *Configuration Menu* in *fluxbox(1)* for details.
 
141
 
 
142
*[reconfig]* ('label') <'icon'>;;
 
143
        When selected this item re-reads the current style and menu files and applies
 
144
        any changes. This is useful for creating a new style or theme, as you don't
 
145
        have to constantly restart fluxbox every time you save your style.  However,
 
146
        fluxbox automatically rereads the menu whenever it changes.
 
147
 
 
148
*[restart]* ('label') {'command'} <'icon'>;;
 
149
        This tells fluxbox to restart. If 'command' is supplied, it shuts down and
 
150
        runs the command (which is commonly the name of another window manager). If
 
151
        'command' is omitted, fluxbox restarts itself.
 
152
 
 
153
*[exit]* ('label') <'icon'>;;
 
154
        Inserts an item that shuts down and exits fluxbox. Any open windows are
 
155
        reparented to the root window before fluxbox exits.
 
156
 
 
157
*[style]* ('label') {'filename'} <'icon'>;;
 
158
        This tells fluxbox to insert an item that, when selected, reads style file
 
159
        named filename and apply the new textures, colors and fonts to the current
 
160
        running session.
 
161
 
 
162
*[stylesmenu]* ('directory') <'icon'>;;
 
163
        Reads all filenames from the specified directory, assuming that they are all
 
164
        valid style files, and creates inline menu items in the current menu for
 
165
        every filename, that, when selected by the user will apply the selected style
 
166
        file to the current session. The labels that are created in the menu are the
 
167
        filenames of the style files.
 
168
 
 
169
*[stylesdir]* ('label') {'directory'} <'icon'>;;
 
170
        Creates a submenu entry with 'label' (that is also the title of the new
 
171
        submenu), and inserts in that submenu all filenames in the specified
 
172
        'directory', assuming that they are all valid style files (directories are
 
173
        ignored) in the same way as the *[stylesdir]* command does. Both
 
174
        *[stylesdir]* and *[stylesmenu]* commands make it possible to install style
 
175
        files without editing your init file.
 
176
 
 
177
*[wallpapers]* ('directory') {'command'} <'icon'>;;
 
178
        This inserts a menu item to set the wallpaper for each file in the given
 
179
        directory. The 'command' is optional, and defaults to *fbsetbg*.
 
180
 
 
181
*[workspaces]* ('label') <'icon'>;;
 
182
        This tells fluxbox to insert a link to the workspaces menu directly into your
 
183
        menu. See *Workspace Menu* in *fluxbox(1)* for details.
 
184
 
 
185
*[*'command'*]* ('label') <'icon'>;;
 
186
        In addition to the commands above, any legal keys file 'command' may be used
 
187
        as a menu item. See *fluxbox-keys(5)* for more information.
 
188
 
 
189
WINDOW MENU
 
190
-----------
 
191
Like the *ROOT MENU*, this menu file must start with *[begin]* and end with
 
192
*[end]*. However, this file consists of only one *[*'tag'*]* per line with no
 
193
labels, commands, or icons.
 
194
 
 
195
The available tags in this menu are:
 
196
 
 
197
*[shade]*;;
 
198
        Provides a menu item to shade or unshade (or, roll-up) the window. This is
 
199
        equivalent to the shade titlebar button.
 
200
 
 
201
*[stick]*;;
 
202
        Provides a menu item to stick or unstick the window. Stuck windows are
 
203
        displayed on all workspaces. This is equivalent to the stick titlebar button.
 
204
 
 
205
*[maximize]*;;
 
206
        Provides a menu item to maximize or unmaximize the window, equivalent to the
 
207
        maximize titlebar button. The button with which you click alters the
 
208
        behaviour of this item as follows:
 
209
 
 
210
        * Button 1  (Un)Maximize as normal.
 
211
        * Button 2  (Un)Maximize window vertically.
 
212
        * Button 3  (Un)Maximize window horizontally.
 
213
 
 
214
*[iconify]*;;
 
215
        Provides a menu item to iconify (or, minimize) the window, equivalent to the 
 
216
        iconify titlebar button.
 
217
 
 
218
*[close]*;;
 
219
        Closes the window gracefully, equivalent to the titlebar button.
 
220
 
 
221
*[kill]*;;
 
222
        Kills the window's process, like *xkill(1)*.
 
223
 
 
224
*[raise]*;;
 
225
        Raise the window to the top of the stack within its layer.
 
226
 
 
227
*[lower]*;;
 
228
        Lower the window to the bottom of the stack within its layer.
 
229
 
 
230
*[settitledialog]*;;
 
231
        Opens a dialog which can be used to set the window's title. Some applications
 
232
        may re-set their own title from time-to-time, wiping out your setting.
 
233
 
 
234
*[sendto]*;;
 
235
        Sends the window to a different workspace. When you select the workspace with
 
236
        a middle-click, fluxbox will also change to the new workspace. A regular
 
237
        click only sends the window.
 
238
 
 
239
*[layer]*;;
 
240
        Adds a ``Layer...'' submenu which lets you change the layer of this window.
 
241
 
 
242
*[alpha]*;;
 
243
        Adds a ``Transparency...'' submenu which lets you change the focused and
 
244
        unfocused transparency of this window.
 
245
 
 
246
*[extramenus]*;;
 
247
        Adds the ``Remember...'' menu item, which allows you to specify which
 
248
        settings should be stored in the `apps' file (See *fluxbox-apps(5)* for more
 
249
        details).
 
250
 
 
251
*[separator]*;;
 
252
        Adds a horizontal line to the menu
 
253
 
 
254
FILES
 
255
-----
 
256
*~/.fluxbox/menu*::
 
257
        This is the default location for the user's root menu.
 
258
*@pkgdatadir@/menu*::
 
259
        This is the system-wide root menu file. It will be used if the user's root
 
260
        menu is missing or unparseable.
 
261
*~/.fluxbox/windowmenu*::
 
262
        This is the user's window menu definition file
 
263
*@pkgdatadir@/menu*::
 
264
        This is the default window menu. If the user does not have this file, it will
 
265
        be copied to *~/.fluxbox/windowmenu* on fluxbox startup.
 
266
 
 
267
RESOURCES
 
268
---------
 
269
*session.menuFile:* 'location'::
 
270
        This may be set to override the location of the user's root menu.
 
271
 
 
272
ENVIRONMENT
 
273
-----------
 
274
The 'comand...' field of the *[exec]* tag can take advantage of other
 
275
environment variables if they are set before fluxbox is started.
 
276
 
 
277
EXAMPLES
 
278
--------
 
279
.Root Menu
 
280
....
 
281
# fluxbox menu file
 
282
[begin] (fluxbox)
 
283
    [exec] (rxvt) {rxvt -ls} </usr/X11R6/share/icons/terminal.xpm>
 
284
    [exec] (netscape) {netscape -install}
 
285
    [exec] (The GIMP) {gimp}
 
286
    [exec] (XV) {xv}
 
287
    [exec] (Vim) {rxvt -geometry 132x60 -name VIM -e screen vim}
 
288
    [exec] (Mutt) {rxvt -name mutt -e mutt}
 
289
    [submenu] (mozilla)
 
290
        [exec] (browser) {mozilla -browser}
 
291
        [exec] (news) {mozilla -news}
 
292
        [exec] (mail) {mozilla -mail}
 
293
        [exec] (edit) {mozilla -edit}
 
294
        [exec] (compose) {mozilla -compose}
 
295
    [end]
 
296
    [submenu] (Window Manager)
 
297
        [exec] (Edit Menus) {nedit ~/.fluxbox/menu}
 
298
        [submenu] (Style) {Which Style?}
 
299
            [stylesdir] (~/.fluxbox/styles)
 
300
            [stylesmenu] (fluxbox Styles) {@pkgdatadir@/styles}
 
301
        [end]
 
302
        [config] (Config Options)
 
303
        [reconfig] (Reconfigure)
 
304
        [restart] (Restart)
 
305
    [end]
 
306
    [exit] (Log Out)
 
307
[end]
 
308
....
 
309
 
 
310
.Default Window Menu
 
311
....
 
312
[begin]
 
313
  [shade]
 
314
  [stick]
 
315
  [maximize]
 
316
  [iconify]
 
317
  [raise]
 
318
  [lower]
 
319
  [settitledialog]
 
320
  [sendto]
 
321
  [layer]
 
322
  [alpha]
 
323
  [extramenus]
 
324
  [separator]
 
325
  [close]
 
326
[end]
 
327
....
 
328
 
 
329
AUTHORS
 
330
-------
 
331
- Jim Ramsay <i.am at jimramsay com> (>fluxbox-1.0.0)
 
332
- Curt Micol <asenchi at asenchi com> (>fluxbox-0.9.11)
 
333
- Tobias Klausmann <klausman at users sourceforge net> (<=fluxbox-0.9.11)
 
334
- Grubert <grubert at users sourceforge net> (fluxbox)
 
335
- Matthew Hawkins <matt at mh dropbear id au> (blackbox)
 
336
- Wilbert Berendsen <wbsoft at xs4all nl> (blackbox)
 
337
 
 
338
SEE ALSO
 
339
--------
 
340
fluxbox(1) fluxbox-keys(5) fluxbox-apps(5) xkill(1) iconv(1)