Make Octave set a figure 被激活window(来了"front of the screen")

Make Octave set a figure to be the active window (come to the "front of the screen")

当 Octave 绘制绘图时,我希望它自动将其设置为活动 window,以便它变得可见并且我不必在 [=20= 之间来回单击] 查看代码和情节是否完成。这可能吗?因为它需要到达 Octave 之外并控制 OS,我不确定;这取决于该功能是否是 Octave 的一部分,但我还没有找到它的参考资料。

我总是可以告诉 Octave 在代码中打开一个新图之前关闭图,但这可能会阻止我在同一轴上绘制多个图,并且需要我每次都编写该命令。如果有一种直接的方法可以使情节可见并控制其他情节,那就太好了 windows.

编辑:不知何故,虽然我注意到 Octave 需要控制 OS 才能实现这一点,但我 完全 忘记提及那是什么......我是 运行 Windows 10,默认 window 经理;我相信那将是桌面 Window 管理器。

当您在图形上绘制某些东西时(无论您是在绘图命令中明确指定要绘制的图形还是简单地让它隐式绘制到当前活动的图形中),这不会自动提升图形 window到最前线。

为此,使用 figure 函数再次调用 figure 以及您要举起的 handle。

或者,如果你确定你要养的是当前活跃的那个,你可以简单地使用shg命令(这实际上等同于figure(gcf)

例如

Fig1 = figure; % (or figure(1) if you want to be explicit)
Fig2 = figure; % (or figure(2) if you want to be explicit)

figure(Fig1); plot(1:10); % raise Fig1 to the forefront, and plot.

PS:请注意,直到最近才有一个影响此行为的错误(巧合的是,您确实提交了 :p 请参阅 https://savannah.gnu.org/bugs/?45943)。这在最新版本的 Octave 中已修复(即 5.1.0)