我正在努力设置一个 igel 设备,该设备在启动时自动启动程序。那部分工作正常。但当它出现时,它并不总是出现最大化/全屏。
起初我尝试了 wmctrl 脚本,但它不适用于它试图打开的 Citrix 页面。
所以我切换到xdotool windowmove和xdotool windowssize。问题是它想要使用 windowsID 号码,但该号码在我们每日计划的重新启动后发生变化。
我认为有一种方法可以做类似的事情:
xdotool 窗口移动 $(xdotool getactivewindow) 0, 0 xdotool 窗口大小 $(xdotool getactivewindow) 100%, 100%
但我无法让脚本延迟足够的时间以便在运行之前打开窗口
当然,我对脚本编写经验不是很丰富,所以我希望它是很容易获得的东西?
答案1
我会让xdotool
搜索窗口而不是尝试用数字编码。一旦找到它,它就会将该 ID 放入内部堆栈中。 %@ 获取此堆栈中的最后一个值。
xdotool search --name PROGNAME windowsize %@ 100% 100%
例如。
通常我会使用 theclass
而不是名称,并且我会使用xprop
来查找要使用的名称。
然而,您可能会从错误的角度来处理这个问题。几乎所有 X 程序都接受-geometry
命令行标志来指定它们应出现在屏幕上的位置及其大小 - 尽管窗口管理器(如果有)可以立即移动它。如果您可以更改启动脚本,您可能可以设置请求的大小和位置。