web-dev-qa-db-fra.com

Le menu d'applications global prend-il en charge les applications Java?

Je suis un utilisateur intensif de Java applications telles que Matlab et Maple. Le menu global prendra-t-il en charge ces paquets très importants?

Si non, est-il prévu de le faire?

5
Ingo

Vous pouvez avoir une intégration de menu globale pour toute application basée sur Java qui implémente un JMenubar en installant Jayatana:

  • Copier ce script
  • Enregistrez-le dans votre répertoire Desktop ou Home.
  • Ouvrez un terminal, tapez cd ~/
  • Tapez à nouveau: bash path_to_the_newly_saved_script
  • Suivez les instructions (vous avez besoin d'une connexion Internet).

    #!/bin/bash

    # ----------------------------------------------
    # Author: [email protected]
    # Before executing this script make sure 
    # you're in your home directory `cd $HOME`
    #--------------------------------------------------
    
    # -------------------------------------NOTICE------------
    # APPLICABLE ONLY IN UBUNTU UNITY 
    # This script installs Jayatana for your JDKs 
    # It supposes you already have set your Java_HOME in ~/.bashrc
    # You will be prompted to choose which JDK to set as Default 
    # (choose the corresponding index).
    # In case you already installed jayatana and want to re-install, 
    # please uninstall then install again.
    # ------------------------------------------------------
    
    # -------------------------------------LICENSE--------------------
    #Licensed under the GNU LGPL, Version 3.0 (the "License");
    # you may not use this file except in compliance with the License
    # ----------------------------------------------------------------
    
    #JDKPATH=`echo $Java_HOME | sed -e 's/bash://g' | sed -e 's/Is a directory//g'`
    #JDKPATH=eval "echo $Java_HOME"
    JDKPATH=`echo $Java_HOME | grep [^*]`
    USERHOME=`echo $HOME`
    JAYATANADD="http://Java-swing-ayatana.googlecode.com/svn/tags/1.2.4/jayatana"
    
    # INSTALL 
    INSTALLCOM () {
    Sudo apt-get -y install openjdk-7-jdk libunity-dev libxt-dev gcc make ant Subversion 
    Sudo update-Java-alternatives -s Java-1.7.0-openjdk-AMD64 
    svn checkout $JAYATANADD 
    Sudo ant install -buildfile $USERHOME/jayatana/build.xml -v
    Sudo ant config -v 
    Sudo update-alternatives --config Java 
    Sudo update-alternatives --config javac
    Sudo ant install -Djava.home.7=/usr/lib/jvm/Java-7-openjdk-AMD64 -f $USERHOME/jayatana/build.xml -v -l $USERHOME/Desktop/jayatana-stall.log
    Sudo ant config -Djava.home.7=$JDKPATH -f ~/jayatana/build.xml -v -l $USERHOME/Desktop/jayatana-stall.log
    }
    
    # UNINSTALL
    UNINSTALLCOM (){
    Sudo ant deinstall -buildfile $USERHOME/jayatana/build.xml -v
    Sudo ant deconfig -buildfile $USERHOME/jayatana/build.xml -v
    Sudo ant deconfig -Djava.home.7=$JDKPATH -f $USERHOME/jayatana/build.xml -v -l $USERHOME/Desktop/jayatana-stall.log
    }
    
    # DELETE Jayatana Folder created by Subversion checkout
    UNDIR() {
    read -p "Delete Jayatana Folder too? Enter ( y ) to delete or ( n ) otherwise : " choice
    if [ "$choice" = "y" ]; then mv $HOME/jayatana $HOME/.local/share/Trash/files/
    Elif [ "$option" = "n" ]; then echo"Jayatana Folder is kept by $USER";
    echo "you can delete it later : ~/jayatana";
    else echo "Jayatana Folder is kept by $USER , you can delete it later : ~/jayatana";
    fi
    }
    
    # COMMON
    COMMON() {
    echo "$JDKPATH : is your default JDK. Version: " 
    echo `Java -version`
    }
    eval COMMON;
    read -p "Enter ( i ) to install or ( u ) to uninstall : " option
    if [ "$option" = "i" ]; then eval INSTALLCOM
    Elif [ "$option" = "u" ]; then eval UNINSTALLCOM;eval UNDIR;
    else echo "Aborted by $USER";
    fi
    exit 0;
    

Vous pouvez voir des informations détaillées dans cet article: Prise en charge du menu global Ubuntu pour Java Applications


Pour Eclipse , cela est différent. Le paquet Eclipse est sur liste noire dans la bibliothèque libappmenu.so car son intégration avec Global Menu est en quelque sorte rompue (les menus sont parfois dupliqués et désordonnés). Il en va de même pour EMACS23 (les menus dynamiques n'apparaissent pas lorsque vous utilisez le menu global). Ils sont donc sur la liste noire, jusqu'à ce que les développeurs fournissent une solution globale.

1
Hanynowsky

Ceci est actuellement un bogue ouvert .

Je recommande de vous y abonner pour suivre ses progrès. ( Comment s'abonner )

3
Jorge Castro

Il existe un programme appelé Java-swing-ayatana qui le supporte. Je ne suis pas sûr que cela fonctionne avec toutes les applications Java. Mais il a maintenant une installation PPA, donc c'est assez facile.

Sudo add-apt-repository ppa:danjaredg/jayatana
Sudo apt-get update
Sudo apt-get install jayatana

Vous devrez peut-être redémarrer votre session après cela.

1

Le bogue ouvert mentionné dans ce fil concerne Eclipse, qui n'utilise pas le toolkit GUI Java par défaut (Swing) utilisé par de nombreuses applications Java (Eclipse utilise SWT).

Donc, nous n'allons probablement pas intégrer Unity pour les applications Java même si elles résolvent ce bogue spécifique.

1
Gilberto Olimpio

Toute commande pouvant être exécutée à partir de la ligne de commande peut être ajoutée au menu.

Les éléments de menu globaux se trouvent dans/usr/share/menu. Vous devriez pouvoir ajouter de nouvelles entrées en modifiant une entrée existante.

Des entrées personnelles peuvent être ajoutées en cliquant avec le bouton droit de la souris sur l’élément Applications du panneau.

0
BillThor