web-dev-qa-db-ja.com

グローバルアプリケーションメニューはJavaアプリケーションをサポートしていますか?

私は、MatlabやMapleなどのJavaアプリケーションのヘビーユーザーです。グローバルメニューはこれらの非常に重要なパッケージをサポートしますか?

そうでない場合、これを行う計画はありますか?

5
Ingo

JayatanaをインストールすることによりJMenubarを実装するany Javaベースのアプリケーションのグローバルメニュー統合を使用できます。

  • このスクリプトをコピー
  • デスクトップまたはホームディレクトリに保存します。
  • ターミナルを開き、cd ~/と入力します
  • もう一度入力してください:bash path_to_the_newly_saved_script
  • 指示に従います(インターネット接続が必要です)。

    #!/ 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;
    

この投稿で詳細な情報を見ることができます: JavaアプリケーションのUbuntuグローバルメニューサポート


Eclipseの場合、これは異なります。 Eclipseは、グローバルメニューとの統合が何らかの理由で破損しているため、ライブラリlibappmenu.soでブラックリストに登録されています(メニューが重複している場合があります)。 EMACS23についても同様です(グローバルメニューを使用する場合、動的メニューは表示されません)。開発者がグローバルな修正を提供するまで、彼らはブラックリストに載っています。

1
Hanynowsky

現在、これは 未解決のバグ です。

進行状況を確認するには、購読することをお勧めします。 ( 購読方法

3
Jorge Castro

これをサポートする Java-swing-ayatana というプログラムがあります。すべてのJavaアプリケーションで動作するかどうかはわかりません。ただし、PPAがインストールされているため、非常に簡単です。

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

この後、セッションを再起動する必要がある場合があります。

このスレッドで言及されている未解決のバグは、多くのJavaアプリケーションで使用されるデフォルトのJava GUIツールキット(Swing)を使用しないEclipseに関するものです(EclipseはSWTを使用します)。

そのため、特定のバグを解決したとしても、JavaアプリケーションのUnity統合はおそらくないでしょう。

1

コマンドラインから実行できる任意のコマンドをメニューに追加できます。

グローバルメニュー項目は/ usr/share/menuにあります。既存のエントリを編集して、新しいエントリを追加できるはずです。

パネルの[アプリケーション]項目を右クリックして、個人エントリを追加できます。

0
BillThor