KMenuEdit, Alacarte, freedesktop.org - Como funcionam?

Na minha estréia aqui no VOL, venho escrever sobre como funciona e quais arquivos/diretórios fazem parte da configuração dos menus baseados no freedesktop.org.

[ Hits: 21.674 ]

Por: Guilherme Maluf em 07/03/2008


Como funciona?



A estrutura do menu é feita para permitir que qualquer programa, feito por mim ou por você, seja incluído no menu do sistema. Para isso a informação sobre cada item, seja ele um submenu ou uma aplicação, é armazenada em um arquivo *.directory e *.desktop, respectivamente. Então um outro arquivo XML(*.menu) define como os itens do menu serão organizados, layout, inclusão de itens, submenus e menus adicionais.

Diretórios:

/etc/xdg/menus/
Contém os arquivos XML necessários para a estruturação do menu.

/etc/xdg/menus/applications-merged/
Por convenção é o diretório para incrementar menus feitos por

/usr/share/applications/
Contém os arquivos *.desktop que armazenam as informações de cada aplicativo do menu.

/usr/share/desktop-directories/
Contém os arquivos *.directory que armazenam as informações dos menus e submenus

Arquivos:

Cada item do menu possui um arquivo para suas definições, esses arquivos são chamados de "desktop entry", ou entrada de desktop. Por exemplo, o submenu Internet no menu do KDE, é referenciado pelo arquivo /usr/share/desktop-directories/kde-internet.directory.

[Desktop Entry]
Encoding=UTF-8
Type=Directory
Name=Internet
Name[pt_BR]=Programas para Internet
Icon=package_network

Nesse arquivo existem os campos que definem as desktop entry, as chaves fazem referência a localidade, ou seja, nesse exemplo o nome do menu Internet será "Programas para Internet" no Brasil e Internet para as outras localidades.

Os campos Name e Type são essenciais para as entradas tanto de .directory e .desktop.

Type define se o arquivo será para uma Aplicação(Type=Application), submenu ou diretório(Type=Directory) ou link(Type=Link).

Outros campos:
  • Version= Versão
  • GenericName[LOCALIDADE]= Nome Genérico
  • Comment[LOCALIDADE]= Comentários
  • OnlyShowIn=KDE;XFCE;
  • NotShowIn=GNOME;

    Os campos OnlyShowIn e NotShowIn devem ser seguidos de lista dos ambientes separados por ponto-e-vírgula.

  • NoDisplay=true / false;
  • Icon=caminho_do_arquivo;
  • Hidden=true / false;
  • Exec= programa a ser executado, possível adicionar parâmetros;
  • Path= caminho do programa, só para Type=Application;
  • Category= classificação dos itens de menu;
  • MimeType= os tipos de arquivos suportados pela aplicação;
  • URL= URL para Type=Link.

O campo Category é uma lista de palavras separadas por ponto-e-vírgula que classifica cada item de menu. Por exemplo, uma entrada para um player de música baseado na biblioteca QT poderia ter o campo Category da seguinte forma:

[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Player XYZ
Icon=/usr/share/icons/playerxyz.png
NotShowIn=KDE;
Category=Qt;AudioVideo;Player

Provavelmente esse item será alocado no campo "Som & Video".

Lista das principais categorias:

AudioVideo
Audio
Video
Development
Education
Game
Graphics
Network
Office
Settings
System
Utility

Lista de chaves das entradas de desktop:
Lista de todas as categorias:
Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Como funciona?
   3. Formato dos arquivos XML(*.menu)
   4. Exemplos
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Instalação ou Recuperação do GRUB

Configuração de Serviços

Driver Nvidia atual + Ubuntu + Beryl

Servidor de Banco de Dados + Servidor Web PHP

LTSP no Debian 8

  
Comentários
[1] Comentário enviado por tenchi em 07/03/2008 - 13:27h

Cara, muito interessante e esclarecedor este artigo.
Eu já tinha uma vaga noção sobre esta padronização, mas nunca havia me interessando em pesquisar mais sobre.
Pros favoritos!

[2] Comentário enviado por InFog em 08/03/2008 - 00:33h

Muito bom, gostei bastante. É muito útil e facilita na hora de criar aplicações que ficarão disponíveis para todos os usuários =)

InFog

[3] Comentário enviado por juliaojunior em 08/03/2008 - 02:11h

muito bom!!! foi para os favoritos :)

[4] Comentário enviado por FelipeAbella em 11/03/2008 - 14:10h

Ótimo artigo! Estava procurando por isso.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts