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