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 回答