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/applications
com uma extensão de categorias personalizada, Categories=X-nameofcategory
mas 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:
- Crie um arquivo chamado
APPNAME.menu
(substituaAPPNAME
o nome que você deseja chamá-lo) no local da pasta/etc/xdg/menus/applications-merged
- 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 -->
- Salve o arquivo e crie outro arquivo chamado
APPNAME.directory
no local da pasta (deve ter o mesmo nome especificado no.menu
arquivo)/usr/share/desktop-directories
com este conteúdo:
[Desktop Entry]
Type=Directory
Name=AppName
Icon=/path/to/icon`
Observaçãoo .directory
nome do arquivo deve ser exatamente igual ao .directory
nome que você digitou no .menu
arquivo acima.
.desktop
Crie um arquivo padrão com~/.local/share/applications
ou/usr/share/applications
com estes conteúdos (substituindo pelo seu próprio programa, é claro, e pelaCategories=
linhaDEVEMOS SERigual ao nome que você deu ao.directory
arquivo 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