web-dev-qa-db-fra.com

Est-il possible de faire en sorte que indicator-appmenu ignore une application spécifique?

Le nouveau menu indicateur-application de Maverick rompt le menu LyX: le menu de l'application n'apparaît ni dans la fenêtre de l'application ni dans l'applet. (Voir Rapport de bug .)

Pour résoudre ce problème, existe-t-il un moyen de faire une exception pour l'applet, afin que LyX soit ignoré et que l'applet puisse toujours être utilisé pour tout le reste? Quelque chose s'apparente aux exceptions Maximus.

40
topyli

Lancer une application

  • Pour démarrer une application (par exemple, gcalctoolname__) à l'aide du menu situé dans l'application plutôt que dans le panneau, exécutez la procédure suivante dans un terminal:

    UBUNTU_MENUPROXY= gcalctool
    

    Pour démarrer l'application avec le menu activé dans l'application et du panneau, exécutez:

    APPMENU_DISPLAY_BOTH=1 gcalctool
    
  • Au lieu d’utiliser le terminal, vous pouvez utiliser le Alt + F2 raccourci pour démarrer une boîte de dialogue d'exécution dans laquelle vous devez entrer:

    env UBUNTU_MENUPROXY= gcalctool
    

    ou

    env UBUNTU_DISPLAY_BOTH=1 gcalctool
    

Modifier les lanceurs d'application dans Ubuntu 10.10

Pour qu'il soit toujours plus facile de lancer votre application avec les mêmes paramètres de menu, vous pouvez modifier les lanceurs d'application dans le menu, le panneau de gnome et sur le bureau:

  • Panneau Gnome et bureau: cliquez avec le bouton droit de la souris sur le lanceur, sélectionnez "Propriétés" et ajoutez le code env UBUNTU_MENUPROXY= ou env UBUNTU_DISPLAY_BOTH=1 à la valeur du champ "Commande":


    (source: xrmb2.net )

  • Menu: faites un clic droit sur le menu et sélectionnez "Éditer les menus". Dans la nouvelle fenêtre, recherchez le programme de lancement que vous souhaitez modifier, puis cliquez sur le bouton "Propriétés" sur la droite. Encore une fois, préférez simplement les variables comme ci-dessus (n'oubliez pas le mot "env"), cliquez deux fois sur "Fermer" et vous devriez avoir terminé.

Modifier les lanceurs dans Unity basé sur Compiz dans Ubuntu 11.04

  • Méthode incorrecte: modifiez le fichier .desktop du programme de lancement dans le répertoire /usr/share/applications:

    • Par exemple, exécutez

      gksudo gedit /usr/share/applications/gcalctool.desktop
      
    • Maintenant, éditez la ligne Exec=- pour qu'elle contient l'une ou l'autre des deux variables ci-dessus, par exemple:

      Exec=env UBUNTU_MENUPROXY= gcalctool
      
    • Enregistrez le fichier et lancez gcalctool à partir de la barre de lancement de Unity, puis exécutez-le avec le menu de l'application.

    Inconvénients de cette méthode: cela modifiera le programme de lancement pour tous les utilisateurs et sera probablement annulé par les mises à jour du système.

  • Meilleure méthode:

    • Si déjà ajouté, désépinglez le lanceur de la barre de lanceur.
    • Copiez le fichier .desktop associé dans votre répertoire personnel:

      cp /usr/share/applications/gcalctool.desktop ~/.local/share/applications
      
    • Comme dans la méthode ci-dessus, éditez la ligne Exec=- pour contenir l'une des deux variables:

      Exec=env UBUNTU_MENUPROXY= gcalctool
      
    • Rendre le fichier exécutable:

      chmod +x ~/.local/share/applications/gcalctools.desktop
      
    • Lancez Nautilus dans ce dossier et double-cliquez sur le fichier .desktop (qui devrait simplement contenir "Calculatrice" dans l'exemple):

      nautilus ~/.local/share/applications
      
    • Vous devriez maintenant voir l’icône du lanceur dans la barre de lancement - affichez-la dans la liste rapide et vous avez terminé.


Remarque: Pour que ci-dessus fonctionne avec les applications KDE, remplacez UBUNTU_MENUPROXY= par QT_X11_NO_NATIVE_MENUBAR=1.

40
htorque

Un autre moyen de contourner le problème, qui ne vous donnerait pas les doubles menus, serait de démarrer LyX avec:

UBUNTU_MENUPROXY= lyx

Désactiver la variable d'environnement UBUNTU_MENUPROXY ignorera complètement le menu app.

4
Ken VanDine

Ça devrait être:

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

Se débarrasser du processus Shell en cours.

4
Matthias Andree

@waluylo, mon emballage (et probablement celui de Robert aussi) de lyx ressemble simplement à ceci

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

J'ai créé un script Shell, nommé "lyx_unity", qui exécute APPMENU_DISPLAY_BOTH = 1 avant lyx, et modifié l'entrée de menu afin qu'il exécute "lyx_unity" au lieu de "lyx".

1
Robert