Olá mundo GNU!
Como prometido, neste tutorial apresento uma maneira de adicionar um menu para o levíssimo painel Tint2.
O Tint2 é um painel bem leve e totalmente customizável. Mas um de seus maiores problemas, é a falta de um menu compatível. Simplesmente ainda não foi implementado um menu próprio para ele. Assim, perde-se boa parte de sua utilidade, uma vez que um menu no painel é algo essencial para muitos usuários, acostumados com outros DEs com painéis, como o LXDE, GNOME, KDE, etc.
Neste tutorial, iremos adicionar o menu do Openbox (aquele acessível ao clicar com o botão direito do mouse no desktop), no Tint2, tornando-o um legítimo menu de painel:
Obs.: lembrando que esta é apenas uma solução alternativa (leia-se “gambiarra”).
Primeiro, instale o pacote xdotool na sua distribuição. Para quem usa o Debian (e distribuições derivadas), basta executar:
$ sudo apt-get install xdotool
Já para quem usa o Slackware, instale através do SlackBuilds: http://slackbuilds.org/repository/14.0/accessibility/xdotool/
Com este utilitário, podemos disparar ações do mouse/teclado, através de comandos via terminal.
Um exemplo:
Para ativar o clique com o botão direito do mouse (botão número 3), via comando, digite:
$ xdotool click 3
O ponto principal da dica é: usar o xdotool para “chamar” o menu do Openbox. Normalmente, a combinação de teclas para exibir o menu do Openbox é Alt + Space, mas você pode checar/modificar isso no arquivo ~/.config/openbox/rc.xml.
Para descobrir qual é a combinação atual, digite:
$ grep "root-menu" -B 2 ~/.config/openbox/rc.xml
Deve aparecer:
<keybind key="A-space"> <action name="ShowMenu"> <menu>root-menu</menu> -- <mousebind action="Press" button="Right"> <action name="ShowMenu"> <menu>root-menu</menu>
Logo, concluímos que, no meu caso, o menu aparece com a combinação Alt + space ou quando clicamos com o botão direito do mouse na área de trabalho (linha <mousebind action=”Press” button=”Right”>).
Obs.: se aparecer somente a ação do botão do mouse, você pode acrescentar o atalho manualmente. Basta acrescentar no arquivo ~/.config/openbox/rc.xml:
<keybind key="A-space"> <action name="ShowMenu"> <menu>root-menu</menu> </action> </keybind>
Na sessão de “keybinds” do arquivo de configuração. Você pode conferir um rc.xml completo aqui: http://dl.dropboxusercontent.com/u/67723624/Downloads/rc.xml
Realizada as mudanças, atualize o Openbox:
$ openbox --reconfigure
Para testar o xdotool com o menu, digite:
$ xdotool key alt+space
Obs.: altere de acordo com a combinação que você usa.
Criando um lançador.
Agora só nos resta criar um lançador e inserir no Tint2 (desde que este ofereça suporte à lançadores de aplicativos).
Crie um arquivo com um nome qualquer e com a extensão .desktop (aqui chamo de “openbox_menu.desktop”), com o seguinte conteúdo:
[Desktop Entry] Encoding=UTF-8 Name=Openbox Menu Comment=Openbox Menu X-GNOME-FullName=Openbox Menu Exec=xdotool key [comando para chamar o menu] Terminal=false X-MultipleArgs=false Type=Application Icon=[ícone de menu] Categories=Menu; MimeType= StartupNotify=true NoDisplay=true
Importante: configure a linha Exec com o comando que execute o menu do Openbox, e a linha Icon com um ícone de sua preferência.
No meu Slackware fiz o download de um ícone lá da página “Slackware Banners, Logos, Propaganda“, deixei as bordas transparentes com o GIMP e salvei em /usr/share/pixmaps com o nome de “start-here-slackware.png”. Já no Debian, fiz o download do logotipo na página oficial (formato GIMP), alterei o tamanho e salvei com o nome de “start-here-debian.png”.
Sendo assim, o meu arquivo .desktop ficou assim (no Slackware):
[Desktop Entry] Encoding=UTF-8 Name=Openbox Menu Comment=Openbox Menu X-GNOME-FullName=Openbox Menu Exec=xdotool key alt+space Terminal=false X-MultipleArgs=false Type=Application Icon=start-here-slackware Categories=Menu; MimeType= StartupNotify=false NoDisplay=true
Obs.: o ícone chama-se “start-here-slackware.png” pois, caso eu utilize um tema que possua um ícone próprio para esta distribuição (como o Faenza), ele será automaticamente modificado.
Dê permissão de execução ao arquivo:
$ chmod +x openbox_menu.desktop
E para testar basta dar dois cliques no arquivo criado. Se tudo der certo, aparecerá o menu do Openbox onde o seu mouse estiver.
Agora basta mover o arquivo para /usr/share/applications (opcional, apenas para fins de organização):
# mv openbox_menu.desktop /usr/share/applications
Tint2.
Esta parte não vou entrar em maiores detalhes, uma vez que há uma dica a respeito no VOL (escrita pelo próprio edps): http://www.vivaolinux.com.br/dica/Painel-Tint2-com-lancadores-de-aplicativos
Mas, aqui vai uma dica:
Slackware – o pacote tint2-r652 já possui o recursos de lançadores. Baixe-o daqui:
32 bits: tint2-r652-i486-1sl.txz
64 bits: tint2-r652-x86_64-1sl.txz
Debian – o pacote disponível no repositório main do Debian Wheezy (tint2_0.11+svn20121014-1) já possui o recurso de lançadores. Se você ainda usa o Squeeze (como eu), pode adquirir os pacotes Deb aqui:
32 bits: tint2_0.11+svn20121014-1_i386.deb
64 bits: tint2_0.11+svn20121014-1_amd64.deb
Para habilitar os lançadores, utilize esta configuração do Tint2 como base (salve-a em ~/.confi/tint2/tint2rc):
# Tint2 config file # Autor: Leandro Nkz <http://www.vivaolinux.com.br/~leandro> ##Layouts # ID 1 ##Painel principal rounded = 0 border_width = 1 background_color = #000000 70 border_color = #FFFFFF 20 # ID 2 ##Janela ativa rounded = 0 border_width = 2 background_color = #FFFFFF 20 border_color = #FFFFFF 48 # ID 3 ##Janela inativa rounded = 0 border_width = 0 background_color = #FFFFFF 10 border_color = #FFFFFF 68 # ID 4 ##Tray rounded = 0 border_width = 0 background_color = #FFFFFF 0 border_color = #FFFFFF 16 ##Panel #Itens: #L = Launcher - Lançadores #T = Task bar - Menu de janelas #S = System tray - Área de notificação #B = Battery - Bateria #C = Clock - Relógio panel_items = LTSBC panel_monitor = all panel_position = bottom center horizontal panel_size = 100% 30 panel_margin = 0 -1 panel_padding = 2 0 2 panel_dock = 0 wm_menu = 0 panel_layer = top panel_background_id = 1 ##Lançador de aplicativos #Configure de acordo com a sua preferência #Estou utilizando os ícones fs-icons-ubuntu-sky-mono-light-2 launcher_padding = 0 3 5 launcher_tooltip = 1 launcher_icon_theme = fs-icons-ubuntu-sky-mono-light-2 launcher_icon_size = 21 launcher_item_app = /usr/share/applications/openbox_menu.desktop launcher_item_app = /usr/share/applications/firefox.desktop launcher_item_app = /usr/share/applications/thunar.desktop launcher_item_app = /usr/share/applications/lxterminal.desktop launcher_item_app = /usr/share/applications/gvim.desktop ##Taskbar taskbar_mode = single_desktop taskbar_padding = 2 1 2 taskbar_background_id = 1 taskbar_active_background_id = 0 ##Tasks urgent_nb_of_blink = 8 task_icon = 1 task_text = 1 task_centered = 0 task_maximum_size = 150 35 task_padding = 6 2 task_background_id = 3 task_active_background_id = 2 task_urgent_background_id = 2 task_iconified_background_id = 3 task_tooltip = 0 ##Task Icons task_icon_asb = 70 0 0 task_active_icon_asb = 100 0 0 task_urgent_icon_asb = 100 0 0 task_iconified_icon_asb = 70 0 0 ##Task Fonts task_font = sans 7 task_font_color = #FFFFFF 68 task_active_font_color = #FFFFFF 90 task_urgent_font_color = #FFFFFF 83 task_iconified_font_color = #FFFFFF 68 font_shadow = 0 ##System Tray systray = 1 systray_padding = 4 4 4 systray_sort = ascending systray_background_id = 4 systray_icon_size = 21 systray_icon_asb = 100 0 0 ##Relógio ##Necessário ter o pacote "gsimplecal" instalado time1_format = %H:%M:%S time1_font = sans 8 time2_format = %a, %d %B %Y time2_font = sans 6 clock_font_color = #FFFFFF 74 clock_padding = 1 0 clock_background_id = 0 clock_rclick_command = gsimplecal clock_lclick_command = gsimplecal ##Tooltips tooltip_padding = 2 2 tooltip_show_timeout = 0.7 tooltip_hide_timeout = 0.3 tooltip_background_id = 1 tooltip_font = sans 10 tooltip_font_color = #FFFFFF 100 ##Ações do mouse na taskbar mouse_middle = close mouse_right = none mouse_scroll_up = toggle mouse_scroll_down = iconify ##Bateria battery = 1 battery_low_status = 40 battery_low_cmd = notify-send "battery low" battery_hide = never bat1_font = sans 8 bat2_font = sans 6 battery_font_color = #FFFFFF 74 battery_padding = 0 0 battery_background_id = 4
Por fim, inicie o seu painel Tint2 e voilá:
$ tint2 &
Incrementando o menu do Openbox.
Por padrão, o Openbox possui um menu um tanto quanto sem sal. Para incrementá-lo, vamos instalar o obmenu-generator:
https://edpsblog.wordpress.com/2013/05/21/obmenu-generator-openbox-menu-generator/
Mas como o obmenu-generator original apresenta a interface em inglês, e possui alguns programas padrão (editor Geany, terminal xterm e navegador Google Chrome), eu tomei a liberdade de traduzir o menu para o português a acrescentar uma forma mais simples de alterar estes programas padrões.
Instalação.
Instale as dependências do Perl: Data::Dump e Linux::Desktop::Files.
Você pode fazer isso através do utilitário cpan:
# perl -MCPAN -e shell install Data::Dump install Linux::DesktopFiles
Obs.: lembrando que, na dica original há uma outra forma de instalação destas dependências. Assim, se você não conseguir instalar com o cpan, você pode tentar a instalação através deste outro método.
Agora, baixe o obmenu-generator modificado de: http://dl.dropboxusercontent.com/u/67723624/Downloads/obmenu-generator
Agora abra-o com um editor de textos e altere o campo (a partir da linha 58):
##### Configurações personalizadas ##### #Obs.: é recomendável deixar, ao menos 2 temas de ícones ativos #Assim, se não houver um determinado ícone em uma categoria, ele usará do próximo tema my $ICONS = "$home_dir/.icons/fs-icons-ubuntu-sky"; my $ICONS2 = "$home_dir/.icons/Faenza"; my $ICONS3 = ""; #Título do menu (deixe vazio para desabilitar) my $TITLE = "Slackware 14.0"; my $FILEMANAGER = "thunar"; my $TERMINAL = "lxterminal --geometry=100x30"; my $EDITOR = "gvim"; my $NAVEGADOR = "firefox"; ##Adicione novas entradas no topo do menu: # USO: "{item => ['comando', 'Nome', 'ícone']},"; my $CUSTOM_ITEM = <<"CUSTOM_ITEM"; {item => ['thunar', 'Gerenciador de arquivos', 'file-manager']}, {item => ['lxterminal --geometry=100x30', 'Terminal', 'terminal']}, {item => ['gvim', 'Editor de textos', 'text-editor']}, {item => ['firefox', 'Navegador', 'web-browser']}, {item => ['gmail --gui', 'Gmail', 'gmail']}, CUSTOM_ITEM
Está bem comentado, de modo que pode ser facilmente compreendido. Nos campos $FILEMANAGER, $TERMINAL, $EDITOR e $NAVEGADOR você configura, respectivamente: o seu gerenciador de arquivos, emulador de terminal, editor de textos e navegador de internet. Já no campo $TITLE, você personaliza o “título” que aparecerá no menu.
Já no campo $CUSTOM_ITEM, você pode acrescentar novas entradas para atalhos rápidos de aplicativos. Neste caso, eu adicionei o Thunar, LXTerminal, Gvim, Firefox, e um script de checagem de e-mails: http://pastebin.com/GB5v3wnX.
Após isso, dê permissão de execução e mova o arquivo obmenu-generator para /usr/local/bin:
$ chmod +x obmenu-generator # mv obmenu-generator /usr/local/bin
Por fim, configure (se não houver, crie) o arquivo ~/.config/openbox/menu.xml, deixando-o assim:
<?xml version="1.0" encoding="UTF-8"?> <openbox_menu xmlns="http://openbox.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://openbox.org/ file:///usr/share/openbox/menu.xsd"> <menu id="root-menu" label="Openbox 3" execute="/usr/local/bin/obmenu-generator -i"> </menu> </openbox_menu>
E atualize o Openbox:
$ openbox --reconfigure
Adicionando novos menus/itens.
Você também pode adicionar novas entradas no menu. É só copiar o conteúdo do menu (no formato XML) e salvá-lo no diretório de configuração (localizado em ~/.config/obmenu-generator), com o nome de “menu1.xml” ou “menu2.xml”. Lembrando que, o “menu1.xml” ficará localizado após os atalhos, e o “menu2.xml”, após o campo “Configurações do Openbox” (imagens no slideshow ao final do post).
Exemplo:
Esta configuração adiciona um pipe menu com alguns atalhos do Audacious:
<menu id="1" label="Audacious" icon="/home/leandro/.icons/Faenza/apps/16/audacious.png"> <item label="Play/Pause"> <action name="Execute"> <execute>audacious -t</execute> </action> </item> <separator /> <item label="Stop"> <action name="Execute"> <execute>audacious -s</execute> </action> </item> <separator /> <item label="Previous"> <action name="Execute"> <execute>audacious -r</execute> </action> </item> <separator /> <item label="Next"> <action name="Execute"> <execute>audacious -f</execute> </action> </item> <separator /> <item label="GUI"> <action name="Execute"> <execute>audtool mainwin-show on</execute> </action> </item> </menu>
Dica: todo pipe menu começa com a tag “<menu id…” e fecha com “</menu>”.
Já esta configuração, cria dois itens (atalhos para dois scripts):
<item label="Script de backup" icon="/home/leandro/.icons/Faenza/mimetypes/16/shellscript.png"> <action name="Execute"> <execute>lxterminal -e /home/leandro2/.backup.sh</execute> </action> </item> <item label="Script de atualização" icon="/home/leandro/.icons/Faenza/mimetypes/16/shellscript.png"> <action name="Execute"> <execute>lxtermina -e /usr/local/bin/atualiza.sh</execute> </action> </item> <separator />
A primeira eu salvei em ~/.config/obmenu-generator/menu1.xml, já a segunda eu salvei em ~/.config/obmenu-generator/menu2.xml.
Vejam o resultado:
Screenshot no VOL:
http://www.vivaolinux.com.br/screenshot/Openbox-obmenu-generator-modificado/
Referências:
https://edpsblog.wordpress.com/2013/05/21/obmenu-generator-openbox-menu-generator/
http://crunchbang.org/forums/viewtopic.php?id=19277
http://www.vivaolinux.com.br/dica/Menu-do-Openbox-com-icones
http://www.vivaolinux.com.br/dica/Painel-Tint2-com-lancadores-de-aplicativos
Sem palavras!
CurtirCurtir
Ou melhor, agora ja dá para me livrar do LxPanel o qual só utilizo por causa do povo aqui de casa, muito bom mesmo!
Outro painel que oferece funcionalidade parecida com o Tint2 é o PyPanel.
CurtirCurtir
Awesome. Meus parabens
CurtirCurtir
Thanks!
Lembrando que este “recurso” pode ser aplicado em qualquer painel que ofereça suporte a lançadores de aplicativos.
Abraços.
CurtirCurtir
Lindo mesmo! Mas como eu posso fazer pra manter os Pipes Menu do #! ?
Não entendi direito onde e como devo proceder! xD
CurtirCurtir
Infelizmente não tem como manter as configurações antigas. Este menu sobrescreve todas as configurações anteriores no arquivo menu.xml.
Um meio de personalizá-lo é editando manualmente o script (assim como eu fiz), inserindo as entradas diretamente no código.
Embora eu não tenha quase nenhum conhecimento em Perl, assim que tiver um tempo maior para pesquisar (provavelmente nas minhas férias que começam semana que vem XD), vou dar um upgrade no script, inserindo mais opções de customização. Acho que dá para criar um campo (ou arquivo de configuração) para ler pipes menus customizados.
Abraço e obrigado.
CurtirCurtir
Realmente amigo! Muito Obrigado pelas dicas e pela futura ajuda! Realmente vai ser de grande ajuda pra mim!
CurtirCurtir
Obrigado Leandro Nkz e Edps pelas dicas! Agora meu CrunchBang está muito mais belo e funcional!
Mando aqui uma Screenshot do meu Sistema!
http://www.zimagez.com/zimage/capturadetela-05-06-2013-153140.php
CurtirCurtir
Ficou muito bom! Parabéns!
CurtirCurtir
Nada Ainda se comparado ao de vocês mas estou caminhando! Mais uma vez obrigado!
CurtirCurtir
Também gostei!
CurtirCurtir
Realmente fico feliz que tenham apreciado! 😀 Estou pensando em ir de vez pro Openbox em meus Hardwares! Quem sabe tirar o meu atual Desktop do meu Notebook (O Mate) e partir de cabeça!
CurtirCurtir
Script atualizado. Eu modifiquei algumas coisas nele:
– Alteração mais fácil dos atalhos que ficam no topo do menu – Agora pode-se até remover qualquer um, deixando apenas o menu.
– Pode-se adicionar um título para o menu.
– Possibilidade de inserir menus/itens extras.
Abraços.
CurtirCurtir
Valeu Leandro!
CurtirCurtir
Amigo, to meio perdido aqui nos posts: mas gostaria de saber como instalar xvidcap no slackware 14, não consegui instalar ainda. Se possível. Agradeço.
Marco
CurtirCurtir
Toma aí meu filho:
# wget -nv http://repository.slacky.eu/slackware-13.37/multimedia/xvidcap/1.1.7/xvidcap-1.1.7-i486-1sl.txz
# installpkg xvidcap-1.1.7-i486-1sl.txz
Se faltar alguma lib, recorra ao slackpkg:
# slackpkg file-search nome-da-lib
Ache o pacote que a contém e o instale.
Uma observação:
aqui não é um fórum, você fez uma pergunta num post que não tem nada a ver com sua necessidade, para isso existe o VOL, eu só respondi por estar com tempo disponível para tal.
Espero que resolva seu problema.
CurtirCurtir
Acabo de instalar o openbox e me deparo com tutorial desse, simplesmente incrível. Só que infelizmente o menu do openbox não carrega os ícones, nem com um simples xml desse: http://pastebin.com/2G4efnha o ícone é exibido. Tem que instalar algo a mais para o suporte aos ícones, ou alguma versão específica do openbox?
CurtirCurtir
Instale o openbox-menu de acordo com essa dica:
http://gnutwoall.wordpress.com/2013/04/27/openbox-menu-novo-metodo-de-instalacao/
E se quiser use este meu arquivo ~/.config/openbox/menu.xml:
* observe que o executável “openbox-menu” está definido para /usr/local/bin/openbox-menu, após substituir o arquivo ~/.config/openbox/menu.xml execute num terminal: openbox –reconfigure.
CurtirCurtir
Ainda persiste, segui esta primeira dica e utilizei este xml, também executei “/usr/local/bin/openbox-menu lxde-applications.menu” a aparentemente o caminho dos ícones está ok. Bem, utilizo o 3.5 e Slack 14.1.
CurtirCurtir
Você instalou os pacotes do LXDE?
Se não fez, dê uma olhada nesse artigo que fiz quando ainda usava Slackware:
http://gnutwoall.wordpress.com/2013/06/03/openbox-no-slackware-1a-parte/
As duas versões do openbox-menu funcionam aqui no velho Debian Wheezy.
Dê uma olhada nisso também:
https://wiki.archlinux.org/index.php/Openbox#Menus
CurtirCurtir
Sim, utilizei este artigo para o Openbox, só deixei de lado o lxterminal. Tentei algumas opções da wiki para ‘ativar’ os ícones mas também sem sucesso. Enfim, valeu a ajuda, mas vai ficar assim mesmo, estou desde ontem quebrando cabeça com isso.
CurtirCurtir
Segue uma nova dica:
http://gnutwoall.wordpress.com/2014/07/26/how-to-openbox-menu-0-5-1-no-debian-wheezy-e-no-arch-linux/
Lembrando que a dica que citei no outro comentário ainda é funcional, esta de hoje dá um pouco mais de trabalho.
CurtirCurtir