obmenu-generator (schema.pl)

Esquema para gerar menu no Openbox

Categoria: Miscelânea

Software: obmenu-generator

[ Hits: 6.303 ]

Por: Perfil removido


Para quem deseja criar um menu com ícones no Openbox e optou por instalar o obmenu-generator, aqui tem um esquema personalizado que eu uso no meu CrunchBang.


#!/usr/bin/perl

# obmenu-generator - schema file

=for comment

    item:      add an item inside the menu               {item => ["command", "label", "icon"]},
    cat:       add a category inside the menu             {cat => ["name", "label", "icon"]},
    sep:       horizontal line separator                  {sep => undef}, {sep => "label"},
    pipe:      a pipe menu entry                         {pipe => ["command", "label", "icon"]},
    raw:       any valid Openbox XML string               {raw => q(xml string)},
    begin_cat: begin of a category                  {begin_cat => ["name", "icon"]},
    end_cat:   end of a category                      {end_cat => undef},
    obgenmenu: generic menu settings                {obgenmenu => ["label", "icon"]},
    exit:      default "Exit" action                     {exit => ["label", "icon"]},

=cut

# NOTE:
#    * Keys and values are case sensitive. Keep all keys lowercase.
#    * ICON can be a either a direct path to an icon or a valid icon name
#    * Category names are case insensitive. (X-XFCE and x_xfce are equivalent)

require "$ENV{HOME}/.config/obmenu-generator/config.pl";

## Text editor
my $editor = $CONFIG->{editor};

our $SCHEMA = [
    {sep => 'Menu Openbox'},
    {item => ['gmrun',  'Executar Comando',  'system-run']},
    {sep => undef},
    #          COMMAND                 LABEL                ICON
    {item => ['geany',             'Editor de Texto',          'accessories-text-editor']},
    {item => ['thunar',        'Gerenciador de Arquivos',      'file-manager']},
    {item => ['x-www-browser',    'Navegador Web',       'web-browser']},
    {item => ['x-terminal-emulator',             'Terminal',          'terminal']},

    {sep => 'Aplicativos'},
    #          NAME            LABEL                ICON
    {cat => ['utility',     'Acessórios', 'applications-utilities']},
    #{cat => ['development', 'Desenvolvimento', 'applications-development']},
    {cat => ['education',   'Educativos',   'applications-science']},
    {cat => ['office',      'Escritório',      'applications-office']},
    {cat => ['graphics',    'Gráficos',    'applications-graphics']},
    {cat => ['network',     'Internet',     'applications-internet']},
    {cat => ['game',        'Jogos',       'applications-games']},
    {cat => ['audiovideo',  'Multimídia',  'applications-multimedia']},
    #{cat => ['other',       'Outros',       'applications-other']},

    {sep => 'Arquivos'},
    #            COMMAND     LABEL        ICON
    {pipe => ['cb-recent-files-pipemenu', 'Arquivos Recentes', 'document-open-recent']},
    {pipe => ['cb-places-pipemenu', 'Pasta Pessoal', 'folder-home']},
    {pipe => ['obdevicemenu', 'Dispositivos', 'harddrive']},

    ## Custom advanced settings.
    {sep => 'Sistema'},
    {begin_cat => ['Configurações', 'gnome-settings']},

        # obmenu-generator category.
        {begin_cat => ['Obmenu-Generator', 'menu-editor']},
            {item  => ["$editor ~/.config/obmenu-generator/schema.pl", 'Menu Schema', $editor]},
            {item  => ["$editor ~/.config/obmenu-generator/config.pl", 'Menu Config', $editor]},

            {sep   => undef},
            {item  => ['obmenu-generator -p',    'Generate a pipe menu',              'menu-editor']},
            {item  => ['obmenu-generator -s',    'Generate a static menu',            'menu-editor']},
            {item  => ['obmenu-generator -p -i', 'Generate a pipe menu with icons',   'menu-editor']},
            {item  => ['obmenu-generator -s -i', 'Generate a static menu with icons', 'menu-editor']},
            {sep   => undef},

            {item  => ['obmenu-generator -d', 'Refresh Icon Set', 'gtk-refresh']},
        {end_cat => undef},

        # Openbox category.
        {begin_cat => ['Openbox', 'openbox']},
            {item  => ["$editor ~/.config/openbox/autostart", 'Editar autostart', $editor]},
            {item  => ["$editor ~/.config/openbox/menu.xml",  'Editar menu.xml', $editor]},
            {item  => ["$editor ~/.config/openbox/rc.xml",    'Editar rc.xml',  $editor]},
            {item  => ['obconf',  'OpenBox Configuration Manager', 'obconf']},
            {item  => ['openbox --reconfigure',  'Reconfigurar Openbox', 'openbox']},
        {end_cat => undef},

        # Settings tools
        {cat => ['settings',    'Sistema',    'applications-system']},

        # Configuration files.
        {item => ["lxappearance",     'Personalizar Visual',    'preferences-desktop-theme']},
        {item => ["$editor ~/.conkyrc",     'Editar conkyrc',    $editor]},
        {item => ["$editor ~/.config/tint2/tint2rc", 'Editar tint2rc',   $editor]},
        {item => ['nitrogen ~/Imagens/wallpapers',   'Trocar Wallpaper',   'nitrogen']},
        {item => ['gksudo slimconf',   'Slimconf (Tela de Logon)',   'system-users']},

    {end_cat => undef},

    {cat => ['system',      'Ferramentas de Sistema',      'applications-system']},

    # VirtualBox menu
    {pipe => ['cb-virtual-machines-pipemenu', 'Máquinas Virtuais', 'virtualbox']},

    {sep => undef},

    ## The xscreensaver lock command.
    {item => ['cb-lock', 'Bloquear Tela', 'lock']},

    # Replace the standard Openbox's action "Exit" with "obsession" script.
    #{exit => ['Exit', 'exit']},
    {item => ['cb-exit', 'Sair', 'system-log-out']},
]
  


Comentários
[1] Comentário enviado por yurifc4 em 11/01/2015 - 00:07h

Muito bom costapha, é praticamente o schema que estou usando. Uma dúvida, sabe como adicionar um programa no {cat} "Desenvolvimento" por exemplo. Digamos que eu use um programa (Sublime Text) que roda direto de uma pasta... seráque é possível adicionar no menu. Não consegui entender de onde ele traz os programas "development".

[2] Comentário enviado por removido em 11/01/2015 - 17:13h


[1] Comentário enviado por yurifc4 em 11/01/2015 - 00:07h

Muito bom costapha, é praticamente o schema que estou usando. Uma dúvida, sabe como adicionar um programa no {cat} "Desenvolvimento" por exemplo. Digamos que eu use um programa (Sublime Text) que roda direto de uma pasta... seráque é possível adicionar no menu. Não consegui entender de onde ele traz os programas "development".


Olá yurifc4, os programas são distribuídos em categorias de acordo com as informações obtidas nos arquivos .desktop que se encontram no diretório "/usr/share/applications". Você pode criar ou editar arquivos .desktop personalizados e adicioná-los também a sua pasta home em /home/usuário/.local/share/applications ou editar manualmente o menu do Openbox para deixar do jeito que preferir.

Aqui tem um modelo genérico de arquivo.desktop

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Type=Application
Exec=Coloque o comando a ser executado aqui
Terminal=false
Icon=nome genérico do ícone ou caminho completo
Name=launcher (nome do aplicativo)
Name[pt_BR]=lançador
GenericName=Application's starter
GenericName[pt_BR]=Iniciador de Aplicativos
Comment=Execute commands and applications
Comment[pt_BR]=Executa comandos e aplicativos
Categories=AudioVideo;Development;Education;Game;Graphics;Network;Office;System;Settings;Utility;
StartupNotify=true

Espero ter ajudado. Valeu!

[3] Comentário enviado por yurifc4 em 13/01/2015 - 23:12h

Nossa, agora tudo faz sentido... isso aee costapha :D


Contribuir com comentário

  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts