Para que os atalhos dos aplicativos sejam encontrados, os arquivos .desktop
devem estar localizados em um dos diretórios padrão, como ~/.local/share/applications
para o usuário atual ou /usr/share/applications
para todos os usuários.
Se você não tem certeza do que deu errado no seu caso, veja o meu exemplo de trabalho testado no Xubuntu 14.04 (Xfce 4.10) como abaixo.
Exemplo de configuração
A configuração a seguir pressupõe que:
- os atalhos (
.desktop
files) foram criados e incluem pelo menos uma categoria, que pode estar presente (ou seja, "System") ou inexistente (por exemplo, "Custom", "Virtual"); - os atalhos foram movidos para o diretório compartilhado ou local, por exemplo,
~/.local/share/applications
; - o menu (
.menu
file) foi criado de modo que os atalhos da categoria específica definida sejam incluídos (por exemplo, "Virtual"); - o menu é colocado em algum lugar apropriado, por exemplo,
~/.config/menus
directory
O arquivo .menu
contém o seguinte.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE Menu
PUBLIC '-//freedesktop//DTD Menu 1.0//EN'
'http://standards.freedesktop.org/menu-spec/menu-1.0.dtd'>
<Menu>
<Name>Parent</Name>
<!--This defines where to find .desktop files-->
<DefaultAppDirs />
<!--This affects what entries will appear under "Parent"-->
<Include>
<Category>Virtual</Category>
<Category>X-Xfce-Toplevel</Category>
</Include>
<!--This includes what entries will appear under "Child" -->
<Menu>
<Name>Child</Name>
<Include>
<Filename>exo-terminal-emulator.desktop</Filename>
</Include>
</Menu>
<!--This affects how will the entries appear under "Parent"-->
<Layout>
<Menuname>Child</Menuname>
<Filename>xfce4-about.desktop</Filename>
<Filename>exo-file-manager.desktop</Filename>
<Filename>exo-terminal-emulator.desktop</Filename>
<Filename>vm-test.desktop</Filename>
</Layout>
</Menu>
Neste exemplo, criei apenas um atalho personalizado chamado vm-test.desktop
que aparecerá no menu "Pai". Os outros arquivos .desktop
já existem nos diretórios ~/.local/share/applications
e /usr/share/applications
. Eu os incluí de propósito, para mostrar que funciona nos dois sentidos.
Exemplo de capturas de tela
Adicione o applet "Application Menu" ao painel do Xfce, e selecione "Use custom menu file" e carregue o arquivo .menu
do diretório share ou local. Finalmente, clique no applet de menu para ver os atalhos.
Comodescobriratalhos
Osatalhosqueforamadicionadosaodiretório~/.local/share/applications
tambémserãoencontradosautomaticamentepelomenudoWhiskeroupeloappletdomenuAplicativos(usandooarquivo.menu
padrão).
Osarquivos.desktop
,queespecificamcategorianãoexistenteounãoespecificamnenhumacategoria,aparecerãonacategoria"Outros". Se tiver várias ou mais categorias, aparecerá na categoria existente, ou seja, "Sistema" e não aparecerá em "Outro".
Para entender isso, veja o conteúdo do arquivo .desktop
que usei no exemplo acima.
[Desktop Entry]
Version=1.0
Type=Application
Name=VirtualBox VM test
Comment=Run "test" VM in VirtualBox
Exec=virtualbox --startvm "test"
Icon=virtualbox
Terminal=false
StartupNotify=false
Categories=Custom;System;Virtual;
Name[en_US]=VirtualBox VM test
GenericName=VM test
Assim, o atalho personalizado será exibido na categoria "Sistema" no menu de aplicativos com base nas categorias especificadas. Além disso, como ele especificou a categoria "Virtual", o arquivo .menu
personalizado pode incluir facilmente qualquer arquivo .desktop
com categoria "Virtual".
Notas adicionais
No Debian, não havia arquivos .desktop
por padrão no diretório ~/.local/share/applications
e ~/.config/menus
não existe (precisa criar isso manualmente).
Testado trabalhando nos sistemas de 32 bits Xubuntu 14.04 (Xfce 4.10) e Debian 8.3 Xfce (Xfce 4.10).
Referências
- Especificações do Menu Desktop 1.0 em Freedesktop.org.
- howto: customize-menu no Xfce Wiki.