21 gnome window-manager window window-control
我正在使用 GNOME 3.18 运行 Ubuntu GNOME 15.10,我想知道终端是否有办法关闭、最小化、取消最小化、最大化和取消最大化指定的窗口?
注意 - 我看过这个问答- 我问的是如何从终端做到这一点......不是如何添加按钮......按钮已经存在,我不需要添加它们。
Jac*_*ijm 28
有两个重要的工具可以用来操作窗口cli;xdotool和wmctrl。这两种工具在功能上相互重叠,但最重要的命令涉及您的问题:
在(无疑是不完整的)概述中,列出了我最常用的命令:
wmctl:
wmctrl -ic <window_id>
Run Code Online (Sandbox Code Playgroud)
xdotool:
xdotool windowminimize <window_id>
Run Code Online (Sandbox Code Playgroud)
wmctl:
有效地取消最小化是通过以下方式完成的:
wmctrl -ia <window_id>
Run Code Online (Sandbox Code Playgroud)
我有效地提到,因为命令移动到相应的桌面,取消最小化并提升窗口,但该命令也在未最小化的窗口上执行此操作。
xdotool:
xdotool windowsize <window_id> 100% 100%
Run Code Online (Sandbox Code Playgroud)
wmctl:
wmctrl -ir <window_id> -b add,maximized_vert,maximized_horz
Run Code Online (Sandbox Code Playgroud)
wmctrl -ir <window_id> -b remove,maximized_vert,maximized_horz
Run Code Online (Sandbox Code Playgroud)
双方xdotool并wmctrl没有在系统默认情况下:
sudo apt-get install xdotool wmctrl
Run Code Online (Sandbox Code Playgroud)要在当前活动的窗口上运行任何命令:
对于wmctrl命令,删除-i选项,替换<window_id>为:ACTIVE:
对于xdotool命令:替换<window_id>为$(xdotool getactivewindow)
在许多情况下,可以使用window id或window name来运行命令。中的-i选项wmctrl告诉wmctrl使用窗口 ID。我建议不要使用窗口的名称作为标识符,以防止名称冲突。它比您预期的更容易发生。
wmctrl最大化/取消最大化在Unity和上都可能有点问题Gnome,而根据xdotool我的经验,该选项更有效。在大多数脚本中,我最终混合使用wmctrl和xdotool.有关man wmctrl和man xdotool 的更多信息(主要是部分:WINDOW COMMANDS)。
小智 6
添加 Jacob Vlijm 的答案:
xdotool windowactivate $minwinid
xdotool windowraise $minwinid
xdotool windowfocus $minwinid
Run Code Online (Sandbox Code Playgroud)
也适用于取消最小化窗口。动画对我来说更快。