0
  • Xmonad (XMonad.Config.Xfce パッケージを使用) を使用して、Linux で Matlab 2013a を実行しています。
  • この問題は、コマンド ウィンドウがドッキングされているかどうかに関係なく発生します。
  • ポインターがコマンド ウィンドウ上にない限り、コマンド ウィンドウ プロンプトはキーボード フォーカスを取得しません。

ターミナルのような他の通常のウィンドウと同じように、Matlab コマンド ウィンドウにフォーカス動作を持たせる方法はありますか?

最も重要なこと: キーボード フォーカスをウィンドウ フォーカスに追従させ、ポインターの特別な配置を必要としないようにしたいので、ウィンドウの周りに " Alt- Tab" を配置して、コマンド ウィンドウにキーボード フォーカスを取得させることができます。これまでに見つけたすべてのリソースは、プログラムによるフォーカスの制御に関連しています。インタラクティブ セッションでのユーザー エクスペリエンスを向上させようとしています。

4

2 に答える 2

1

コマンド ウィンドウでキーボード フォーカスを取得するには、xmonad.hs

import XMonad.Hooks.SetWMName
import XMonad.Hooks.ManageHelpers

ManageHook次のように設定します

myManageHook = composeAll . concat $
    [ [appName =? a --> doCenterFloat | a <- myFloatAS ]
    , (your other hooks)
    ] where
        myFloatAS = ["MATLAB"]

最後に、に含めsetWMName "LG3D"ますstartupHook。これを使用する完全な構成については、こちらを参照してくださいxmonad.hs(これが解決策を見つけた場所です)。本来フォーカスされていない他の Java アプリがある場合は、それらをmyFloatASリストに追加できます。

于 2013-06-07T13:21:37.370 に答える
1

組み込みのJavaの問題です。

私が実行した場合:

export MATLAB_JAVA=/usr/lib/jvm/java-7-openjdk/jre
matlab -desktop

Matlab は期待どおりに動作します。

MATLAB2014a を実行して、この問題に遭遇しました。setWMName "LG3D" をセットアップしましたが、それでも自分のウィンドウにフォーカスできませんでした。フォーカスされたウィンドウをクリックしてカーソルを取得する必要がありましたが、状況がさらに悪化し、カーソルが戻るまでランダムな場所をクリックする必要がありました。これは MATLAB2010 では発生しません。私にとってうまくいったのは、上記のようにJavaのネイティブバージョンを使用することでした。

最後に、次の bash スクリプトを使用して matlab8 を起動しました。

#!/bin/bash
export MATLAB_JAVA=/usr/lib/jvm/java-7-openjdk-amd64/jre/
/usr/local/bin/matlab8 -desktop -nosplash
于 2015-07-27T16:18:24.957 に答える