É possível fazer o indicador-appmenu ignorar uma aplicação específica?

39

O novo indicador do app-app no ​​Maverick quebra o menu LyX: o menu do aplicativo não é mostrado nem na janela do aplicativo nem no applet. (Veja Relatório de erros .)

Como uma solução enquanto o bug é corrigido, existe uma maneira de fazer uma exceção para o applet, para que o LyX seja ignorado e o applet ainda possa ser usado para todo o resto? Algo parecido com as exceções Maximus.

    
por topyli 13.10.2010 / 14:35

5 respostas

39

Executar um aplicativo

  • Para iniciar um aplicativo (por exemplo, gcalctool ) com o menu dentro do aplicativo e não no painel, execute o seguinte em um terminal:

    UBUNTU_MENUPROXY= gcalctool
    

    Para iniciar o aplicativo com o menu ativado no aplicativo e no painel, execute:

    APPMENU_DISPLAY_BOTH=1 gcalctool
    
  • Em vez de usar o terminal, você pode usar o atalho Alt + F2 para iniciar um diálogo de execução, no qual você entraria:

    env UBUNTU_MENUPROXY= gcalctool
    

    ou

    env UBUNTU_DISPLAY_BOTH=1 gcalctool
    

Editar lançadores de aplicativos no Ubuntu 10.10

Para facilitar o lançamento de seu aplicativo sempre com as mesmas configurações de appmenu, você pode editar os lançadores de aplicativos no menu, no painel do gnome e na área de trabalho:

  • Gnome-panel e desktop: basta clicar com o botão direito do mouse no inicializador, selecionar "Propriedades" e preceder env UBUNTU_MENUPROXY= ou env UBUNTU_DISPLAY_BOTH=1 ao valor no campo "Comando":

  • Menu: clique com o botão direito do mouse no menu e selecione "Editar menus". Na nova janela, encontre o lançador que você deseja editar e clique no botão "Propriedades" à direita. Novamente, simplesmente preencha as variáveis ​​como acima (não esqueça do 'env'), clique em 'Close' duas vezes e você deve estar pronto.

Editar lançadores no Unity baseado em Compiz no Ubuntu 11.04

  • Método sujo: Altere o arquivo .desktop do inicializador no diretório /usr/share/applications :

    • Por exemplo, execute

      gksudo gedit /usr/share/applications/gcalctool.desktop
      
    • Agora edite a Exec= -line para conter uma das duas variáveis ​​acima, por exemplo:

      Exec=env UBUNTU_MENUPROXY= gcalctool
      
    • Salve o arquivo, e o lançamento do gcalctool na barra de inicialização do Unity deve executá-lo com o menu dentro do aplicativo.

    Desvantagens deste método: ele alterará o iniciador para todos os usuários e provavelmente será revertido pelas atualizações do sistema.

  • Melhor método:

    • Se já tiver adicionado, solte o iniciador da barra de inicialização.
    • Copie o arquivo .desktop relacionado para seu diretório pessoal:

      cp /usr/share/applications/gcalctool.desktop ~/.local/share/applications
      
    • Como no método acima, edite a Exec= -line para conter uma das duas variáveis:

      Exec=env UBUNTU_MENUPROXY= gcalctool
      
    • Torne o arquivo executável:

      chmod +x ~/.local/share/applications/gcalctools.desktop
      
    • Inicie o Nautilus nessa pasta e clique duas vezes no arquivo .desktop (que deve ser "Calculadora" no exemplo):

      nautilus ~/.local/share/applications
      
    • Agora você deve ver o ícone do inicializador na barra inicializadora - fixe-o na lista rápida e pronto.

Observação: Para fazer o trabalho acima com os aplicativos do KDE, substitua UBUNTU_MENUPROXY= por QT_X11_NO_NATIVE_MENUBAR=1 .

    
por htorque 13.10.2010 / 15:42
4

Outro trabalho em torno do qual você não daria os menus duplos seria iniciar o LyX com:

UBUNTU_MENUPROXY= lyx

Desativar a variável de ambiente UBUNTU_MENUPROXY apenas ignorará completamente o appmenu.

    
por Ken VanDine 13.10.2010 / 15:49
4

Isso deve ser:

#!/bin/sh
export APPMENU_DISPLAY_BOTH=1
exec lyx

Para se livrar do processo de shell remanescente.

    
por Matthias Andree 03.05.2011 / 13:26
1

Eu criei um script de shell, chamado "lyx_unity", que executa APPMENU_DISPLAY_BOTH = 1 antes do lyx, e editei a entrada do menu para que ele execute "lyx_unity" em vez de "lyx".

    
por Robert 19.10.2010 / 14:15
1

@waluylo, meu (e provavelmente Robert também) wrapper lyx parece simplesmente assim

#!/bin/sh
export APPMENU_DISPLAY_BOTH=1
lyx
    
por topyli 20.11.2010 / 11:09