正如标题所示。当我这样做时
xdotool getactivewindow windowmove 0 0 windowsize 1200 $height_first_monitor
xdotool
移动窗口。但当我这样做时
xdotool getactivewindow windowmove -40 0 windowsize 1200 $height_first_monitor
我得到一个windowmove: unrecognized option '-40'
在 Google 上搜索“xdotool move above 0 0”和“xdotool move negative”等类似内容没有得到任何有用的结果。
答案1
这似乎是一个错误,但从很久以前开始它可能现在被称为特征。要在某些地方使用负数,您需要添加参数结束标记 --
。例如,你可以这样做
xdotool getactivewindow windowmove 0 -10
但你需要做
xdotool getactivewindow windowmove -- -10 0
这是因为 windowmove 可以采用可选参数--sync
和--relative
,但也可以(可能是为了向后兼容)采用单个破折号:-sync
和-relative
。遗憾的是,-10
然后被误认为是这样的(意外的)参数。
看看来源对于 windowmove,你可以看到它使用了标准 C 库函数获取opt_long_only()。此函数查找以--
或开头的长参数-
。另一种方法getopt_long()
是只查找--
长参数。
我不确定上述链接是否是可靠的来源,但此功能似乎在 2010 年之前就存在了。