The first is the \fBROOT MENU\fR (Or right\-click menu), is usually bound to a right\-click on the desktop, though this binding can be changed in the \(oqkeys\(cq file (\fBfluxbox\-keys(5)\fR)\&. This same syntax is used for the \fBCustomMenu\fR command, also mentioned in \fBfluxbox\-keys(5)\fR\&.
Fluxbox installs a default root menu file in \fB@pkgdatadir@/menu\fR\&. You can also use fluxbox \-i to confirm this location\&. Of course this system\-wide menu can be customized for all users at once, but it is also possible to create an individual menu file for each user\&. By convention, users create a menu file in \fB~/\&.fluxbox/menu\fR\&. Once you\(cqve created your own menu file, you\(cqll want to make sure that you properly declare this location in your \(oqinit\(cq file so that fluxbox knows where to look\&. See \fBRESOURCES\fR, below for details\&.
The second type is the \fBWINDOW MENU\fR, which defines the contents of the menu which appears when you right\-click on a window\(cqs titlebar or iconbar\&. This opens a menu file as defined by \fB~/\&.fluxbox/windowmenu\fR\&. If this file does not exist, fluxbox will copy in the default from \fB@pkgdatadir@/windowmenu\fR\&.
The <\*(Aqicon\*(Aq> field is always optional when shown below\&. If specified, the \fIicon\fR will be scaled down and displayed in the menu alongside the text label of the item\&. It must be in \&.xpm or \&.png format\&.
Any line that starts with a \fI#\fR or \fI!\fR is considered a comment and ignored by fluxbox\&. Also, in the label/command/filename fields you can escape any character\&. Using \fI\e\e\fR inserts a literal back\-slash into the label/command/filename field\&.
.sp
You may enter labels, commands, and icons using characters from any \fBiconv(1)\fR language/locale by specifying the encoding used via the \fB[encoding]\fR tag, detailed below\&.
.SS"Structural Tags"
.PP
\fB[begin]\fR (\fItitle\fR)
.RS4
This tells fluxbox to start parsing the menu file\&. This tag is required for fluxbox to read your menu file\&. If it cannot find it, the system default menu is used in its place\&. The
This tells fluxbox to create and parse a new menu, which is inserted as a submenu into the parent menu\&. These menus are parsed recursively, so there is no limit to the number of levels or nested submenus you can have\&. The
\fIlabel\fR
is the text that will appear in the parent menu, and the
\fItitle\fR
is shown at the top of the submenu\&. If omitted, the
\fItitle\fR
will be the same as the
\fIlabel\fR\&. An
\fB[end]\fR
tag is required to end the submenu\&.
.RE
.PP
\fB[end]\fR
.RS4
This tells fluxbox that it is at the end of a menu\&. This can either be a
\fB[submenu]\fR
or the
\fB[begin]\fR
tag of the main root menu\&. There must be at least one of these tags in your menu to correspond to the required
\fB[begin]\fR
tag, and one for each
\fB[submenu]\fR\&.
.RE
.PP
\fB[encoding]\fR {\fIencoding\fR}
.RS4
This begins an
\fB[encoding]\fR
section and specifies the string encoding of all strings until the matching
\fB[endencoding]\fR
tag\&. For a list of available encodings on your system, run
\fBiconv \-l\fR\&.
.RE
.PP
\fB[endencoding]\fR
.RS4
This ends an
\fB[encoding]\fR
section\&.
.RE
.PP
\fB[include]\fR (\fIpath\fR)
.RS4
Parses the file specified by filename inline with the current menu\&. The
\fIpath\fR
can be the full path to a file or it can begin with
\fB~/\fR, which will be expanded into your home directory\&. If
\fIpath\fR
is a directory, then all files in that directory are included\&.
.RE
.PP
\fB[separator]\fR
.RS4
This will create a nice separation line\&. Useful for splitting up sections in a \(lqpretty\(rq way\&. The optional
\fIcomment\fR
is not displayed, but can be useful for internal documentation or script parsing of menu files\&.
(or /bin/sh if $SHELL is not set)\&. You can use this to launch applications, run shell scripts, etc\&. Since all arguments are passed verbatim to the shell, you can use environment variables, pipes, or anything else the shell can do\&. Note that processes only see environment variables that were set before fluxbox started (such as in ~/\&.fluxbox/startup)\&.
When selected this item re\-reads the current style and menu files and applies any changes\&. This is useful for creating a new style or theme, as you don\(cqt have to constantly restart fluxbox every time you save your style\&. However, fluxbox automatically rereads the menu whenever it changes\&.
This tells fluxbox to insert an item that, when selected, reads style file named filename and apply the new textures, colors and fonts to the current running session\&.
Reads all filenames from the specified directory, assuming that they are all valid style files, and creates inline menu items in the current menu for every filename, that, when selected by the user will apply the selected style file to the current session\&. The labels that are created in the menu are the filenames of the style files\&.
The syntax for the Window Menu is mostly identical to that for the \fBROOT MENU\fR; it must start with \fB[begin]\fR and end with \fB[end]\fR, and may have any of the above tags\&. However, it may also contain any of the following window\-specific \fB[\fR\fItag\fR*]*s, which each must be on a line by itself with no labels, commands, or icons\&.
Provides a menu item to shade or unshade (or, roll\-up) the window\&. This is equivalent to the shade titlebar button\&.
.RE
.PP
\fB[stick]\fR
.RS4
Provides a menu item to stick or unstick the window\&. Stuck windows are displayed on all workspaces\&. This is equivalent to the stick titlebar button\&.
.RE
.PP
\fB[maximize]\fR
.RS4
Provides a menu item to maximize or unmaximize the window, equivalent to the maximize titlebar button\&. The button with which you click alters the behaviour of this item as follows:
.sp
.RS4
.ien\{\
\h'-04'\(bu\h'+03'\c
.\}
.el\{\
.sp-1
.IP\(bu2.3
.\}
Button 1 (Un)Maximize as normal\&.
.RE
.sp
.RS4
.ien\{\
\h'-04'\(bu\h'+03'\c
.\}
.el\{\
.sp-1
.IP\(bu2.3
.\}
Button 2 (Un)Maximize window vertically\&.
.RE
.sp
.RS4
.ien\{\
\h'-04'\(bu\h'+03'\c
.\}
.el\{\
.sp-1
.IP\(bu2.3
.\}
Button 3 (Un)Maximize window horizontally\&.
.RE
.RE
.PP
\fB[iconify]\fR
.RS4
Provides a menu item to iconify (or, minimize) the window, equivalent to the iconify titlebar button\&.
.RE
.PP
\fB[close]\fR
.RS4
Closes the window gracefully, equivalent to the titlebar button\&.
Opens a dialog which can be used to set the window\(cqs title\&. Some applications may re\-set their own title from time\-to\-time, wiping out your setting\&.
Sends the window to a different workspace\&. When you select the workspace with a middle\-click, fluxbox will also change to the new workspace\&. A regular click only sends the window\&.
.RE
.PP
\fB[layer]\fR
.RS4
Adds a \(lqLayer\&...\(rq submenu which lets you change the layer of this window\&.
.RE
.PP
\fB[alpha]\fR
.RS4
Adds a \(lqTransparency\&...\(rq submenu which lets you change the focused and unfocused transparency of this window\&.