Criando menus personalizados na guia do menu Aplicativos no CentOS7 GNOME

Criando menus personalizados na guia do menu Aplicativos no CentOS7 GNOME

Eu criei um arquivo .menu em /etc/xdg/menus/applications-merged/, criei um arquivo .directory /usr/share/desktop-directories/e os vários arquivos .desktop que desejo colocar em meu menu personalizado /usr/share/applicationscom uma extensão de categorias personalizada, Categories=X-nameofcategorymas ainda nenhum menu aparecendo no menu de meus aplicativos.

Gostaria de saber se há alguma etapa que estou faltando, não estou usando o alacarte porque existem vários aplicativos que preciso criar e o alacarte é muito manual, tendo que adicionar caminhos de diretório para cada ícone, executável e não há arrastar/soltar método também. Eu presumi que havia uma maneira padrão de fazer isso e segui as etapas descritas pelo freedesktop, mas ainda estou perdido. Qualquer ajuda ou visão seria apreciada!

Responder1

Ninguém parece saber ou não conseguiu responder, então vou apresentar a solução que encontrei!

Existem 3 locais com os quais você deve se preocupar:

  • /usr/share/desktop-directories
  • /etc/xdg/menus/applications-merged
  • /usr/share/applications

Tenha em mente que o último local é específico de todo o sistema, se você quiser apenas para o seu usuário, use:~/.local/share/applications

Em primeiro lugar nós:

  1. Crie um arquivo chamado APPNAME.menu(substitua APPNAMEo nome que você deseja chamá-lo) no local da pasta/etc/xdg/menus/applications-merged
  2. Insira estes conteúdos:
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
        "http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
<Name>Applications</Name> <!-- This is necessary for your directory to appear in the applications drop down -->
<Menu> <!--app -->
<Name>app</Name>
<Directory>APPNAME.directory</Directory>
<Include>
<Category>APPNAME</Category>
</Include>
</Menu> <!-- End app -->
</Menu> <!-- End Applications -->
  1. Salve o arquivo e crie outro arquivo chamado APPNAME.directoryno local da pasta (deve ter o mesmo nome especificado no .menuarquivo) /usr/share/desktop-directoriescom este conteúdo:
[Desktop Entry]
Type=Directory
Name=AppName
Icon=/path/to/icon`

Observaçãoo .directorynome do arquivo deve ser exatamente igual ao .directorynome que você digitou no .menuarquivo acima.

  1. .desktopCrie um arquivo padrão com ~/.local/share/applicationsou /usr/share/applicationscom estes conteúdos (substituindo pelo seu próprio programa, é claro, e pela Categories=linhaDEVEMOS SERigual ao nome que você deu ao .directoryarquivo anteriormente)
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/path/to/executable.sh
Name=ApplicationToRun
Icon=/path/to/icon
Categories=APPNAME
Comment=Comment for users

informação relacionada