我正在运行带有 GNOME 3.18 的 Ubuntu GNOME 15.10,我想知道是否有办法从终端关闭、最小化、取消最小化、最大化和取消最大化指定的窗口?
注意-我看过此问答- 我问的是如何从终端执行此操作...而不是如何添加按钮...按钮已经存在,我不需要添加它们。
答案1
有两个重要的工具可用于操作窗口cli
;xdotool
和wmctrl
。这两个工具在功能上相互重叠,但与您的问题相关的最重要的命令是:
在(毫无疑问不完整的)概述中,列出我最常用的命令:
关闭窗口
控制:
wmctrl -ic <window_id>
最小化窗口
xdotool:
xdotool windowminimize <window_id>
取消最小化窗口
控制:
有效地取消最小化是通过以下方式完成的:
wmctrl -ia <window_id>
我提到有效地,因为该命令会移动到相应的桌面,取消最小化并提升窗口,但命令还在未最小化的窗口上执行此操作。
最大化窗口
xdotool:
xdotool windowsize <window_id> 100% 100%
控制:
wmctrl -ir <window_id> -b add,maximized_vert,maximized_horz
取消最大化窗口:
wmctrl -ir <window_id> -b remove,maximized_vert,maximized_horz
笔记
xdotool
默认情况下,和wmctrl
都不在您的系统上:sudo apt-get install xdotool wmctrl
要运行当前积极的窗户:
对于
wmctrl
命令,删除-i
选项,替换<window_id>
为:ACTIVE:
对于
xdotool
命令:替换<window_id>
为$(xdotool getactivewindow)
在许多情况下,可以使用窗口 ID或者窗口名称。
-i
选项wmctrl
告诉wmctrl
使用窗口 ID。我建议不是使用窗口名称作为标识符,以防止名称冲突。这种情况比您想象的更容易发生。- 根据我自己的经验,在脚本中使用最大化;使用最大化/取消最大化在和
wmctrl
上都可能有点问题,而根据我的经验,该选项工作得更可靠。在大多数脚本中,我最终会混合使用和。Unity
Gnome
xdotool
wmctrl
xdotool
答案2
添加 Jacob Vlijm 的回答:
xdotool windowactivate $minwinid
xdotool windowraise $minwinid
xdotool windowfocus $minwinid
也可用于取消最小化窗口。对我来说动画速度更快。
答案3
添加 Jacob Vlijm 的回答:
使用 xdotool 根据窗口名称最小化窗口:
xdotool search -name '<window_name>' windowminimize
要获取窗口名称列表,请使用:
wmctrl -l
答案4
隐藏当前窗口:
wmctrl -r :ACTIVE: -b toggle,hidden