O FluxBox possui um menu personalizável de acesso à diversos aplicativos e configurações, acessível através do clique com o botão direito do mouse em um espaço “em branco” da área de trabalho:
Tudo o que há no menu do botão direito do Fluxbox está no arquivo ~/.fluxbox/menu
. Ele possui uma sintaxe simples, fácil de ser entendido. Mas se você instalou o Fluxbox a partir dos pacotes de sua distribuição, seus aplicativos já estarão embutidos no menu, e o tal arquivo terá essa cara:
[begin] (fluxbox) [include] (/etc/X11/fluxbox/fluxbox-menu) [end]
A primeira e última linha delimitam o arquivo do menu, seu início e fim, então tudo o que estiver entre eles será considerado. A linha central inclui tudo o que está em um outro arquivo, gerado pelo sistema (pelo pacote “menu
“), a saber o /etc/X11/fluxbox/fluxbox-menu
. Mas há casos que este menu não é criado corretamente, ou você pode estar a fim de personalizá-lo e deixá-lo a seu gosto.
A sintaxe padrão do arquivo de menus, para um executável, é a seguinte:
[exec] (Nome que deseja mostrar no menu) {comando} <caminho para o ícone>
A expressão “[exec]
” indica que a entrada é de um executável. O conteúdo ()
define o nome da entrada no menu, seguido do comando para rodá-lo, e o caminho para o arquivo de ícone a ser mostrado. Para saber qual o caminho completo do executável a ser incluído, como por exemplo o Pidgin, basta rodar no terminal:
# which pidgin /usr/bin/pidgin
Veja que na linha de resposta é mostrado o caminho completo para o executável, que deve ser inserido na entrada. Vale lembrar que a entrada do menu deve ter somente uma linha.
Os submenus também são bem interessantes, bem parecidos com as entradas de executáveis. A sintaxe é essa:
[submenu] (Nome do submenu) {}
Aqui dentro vai executáveis e outros submenus
[end]
A expressão “[submenu]
” indica que se trata de um submenu, e o nome vai entre os parênteses, em sua frente. Não coloque nada entre as chaves, os “{}
“, que é incluído por convenção e deve permanecer nulo. Você pode por o que desejar dentro do submenu, entre as expressões “[submenu]
” e seu “[end]
“.
Esse é o básico sobre o menu do Fluxbox. Vale lembrar que durante a instalação, o Fluxblox já gera as configurações de menu, então não é necessário se preocupar tanto com isso. Mas claro, podem haver itens duplicados.
Veja abaixo um exemplo de arquivo de menu:
[exec] (Gaim) {/usr/bin/gaim}
[exec] (Firefox) {/usr/bin/firefox}
[exec] (Irssi) { x-terminal-emulator -T “irssi-text” -e /usr/bin/irssi-text}
[exec] (Bash) { x-terminal-emulator -T “Bash” -e /bin/bash –login}
[exec] (BMP) {/usr/bin/beep-media-player}
[exec] (VLC) {/usr/bin/vlc}
[exec] (F-Spot) {/usr/bin/f-spot}
[exec] (Acrobat Reader) {/usr/bin/acroread}
[submenu] (Apps) {}
[submenu] (Editors) {}
[exec] (Emacs) {/usr/bin/emacs21}
[exec] (Nano) { x-terminal-emulator -T “Nano” -e /bin/nano}
[end]
[submenu] (Net) {}
[exec] (Telnet) { x-terminal-emulator -T “Telnet” -e /usr/bin/telnet}
[exec] (w3m) { x-terminal-emulator -T “w3m” -e /usr/bin/w3m /usr/share/doc/w3m/MANUAL.html}
[end]
[submenu] (Programming) {}
[exec] (Python) { x-terminal-emulator -T “Python (v2.4)” -e /usr/bin/python2.4}
[end]
[submenu] (Shells) {}
[exec] (Dash) { x-terminal-emulator -T “Dash” -e /bin/dash -i}
[exec] (Sh) { x-terminal-emulator -T “Sh” -e /bin/sh –login}
[end]
[submenu] (System) {}
[exec] (gkrellm) { /usr/bin/gkrellm }
[submenu] (Admin) {}
[exec] (alsaconf) { x-terminal-emulator -T “alsaconf” -e /usr/sbin/su-to-root -p root -c /usr/sbin/alsaconf}
[exec] (pppconfig) { x-terminal-emulator -T “pppconfig” -e /usr/sbin/su-to-root -p root -c /usr/sbin/pppconfig}
[end]
[exec] (aptitude) { x-terminal-emulator -T “aptitude” -e /usr/bin/aptitude}
[exec] (DSL/PPPoE configuration tool) { x-terminal-emulator -T “DSL/PPPoE configuration tool” -e /usr/sbin/pppoeconf}
[exec] (GDM flexiserver) {gdmflexiserver}
[exec] (GDM flexiserver in Xnest) {gdmflexiserver -n}
[exec] (GDM Photo Setup) {gdmphotosetup}
[exec] (GDM Setup) {gksu gdmsetup}
[exec] (pstree) { x-terminal-emulator -T “pstree” -e /usr/bin/pstree.x11}
[exec] (reportbug) { x-terminal-emulator -T “reportbug” -e /usr/bin/reportbug –exit-prompt}
[exec] (Run as different user) {/usr/bin/gksuexec}
[exec] (Top) { x-terminal-emulator -T “Top” -e /usr/bin/top}
[exec] (X-Terminal as root) {/usr/bin/gksu -u root /usr/bin/x-terminal-emulator}
[end]
[end]
[submenu] (Help) {}
[exec] (Info) { x-terminal-emulator -T “Info” -e info}
[end]
[submenu] (WindowManagers) {}
[restart] (FluxBox) {/usr/bin/fluxbox}
[end]
[config] (Configuration) {}
[submenu] (Styles) {}
[stylesdir] (/usr/share/fluxbox/styles) {}
[stylesdir] (~/.fluxbox/styles) {}
[end]
[workspaces] (Workspaces) {}
[reconfig] (Reconfigure) {}
[restart] (Restart) {}
[exit] (Exit) {}
[end]
Mais um exemplo:
[begin] (fluxbox) [exec] (Evolution) {/usr/bin/evolution} [exec] (GAIM) {/usr/bin/gaim} [exec] (Bash) { x-terminal-emulator -T "Bash" -e /bin/bash --login} [exec] (Epiphany) {/usr/bin/epiphany} [exec] (BMP) {/usr/bin/beep-media-player} [exec] (Xine) {/usr/bin/xine} [include] (/etc/X11/fluxbox/fluxbox-menu) [end]
Veja a diferença: o exemplo de baixo inclui as entradas do Debian, pois quando o Fluxbox foi instalado já havia o pacote “menu
” instalado.