禁止Matlab自动获取焦点

drs*_*lks 8 matlab matlab-figure

我有以下问题:在我的matlab代码中我使用的语句如

figure(1)
Run Code Online (Sandbox Code Playgroud)

更改某些数据的目标数字.问题是,在这个matlab之后,系统将重点放在窗口上.

当我在后台运行一个大脚本并尝试在我的计算机上执行smt时--Matlab总是把注意力集中在自己身上而且我不能正常做smt.

是否有禁止Matlab执行此操作的扫管笏?我在Linux Ubuntu工作.

提前致谢.

jhi*_*hin 1

在R2018a中,引入了图窗属性“WindowState”,请参见https://blogs.mathworks.com/pick/2018/07/13/maximize-your-figures/

使用这个,你可以做

set(0, 'DefaultFigureWindowState', 'minimized');
Run Code Online (Sandbox Code Playgroud)

在运行实际脚本之前,这将导致所有“标准图”不会窃取焦点并以最小化状态打开。

有些功能仍然会抢走焦点。我没有详细调查,但我相信它主要是自动绘图函数,如 psd、hist 等,没有输出参数。如果你打电话plot给自己,应该没问题。