如何从终端关闭,最小化和最大化指定窗口?


17

我正在用GNOME 3.18运行Ubuntu GNOME 15.10,我想知道是否有一种方法可以从终端关闭,最小化,取消最小化,最大化和取消最大化指定窗口?

注意-我已经看过这个问答了 -我在问终端机的操作方法...不是如何添加按钮...这些按钮已经存在,我不需要添加它们。



@Anastasia:这是重复的吗?那只要求最小化...我也要问所有其他问题,那里没有得到回答。

我认为这些动作是如此紧密相关,以至于回答一个动作应该导致所有其他动作,但是您是对的,这可能是广泛的。现在,我也想知道问题的子集是否可以视为重复项。
阿纳斯塔西娅

@Anastasia:好吧,因为其他问题的答案实际上并未提及如何实现这一目标,即使它们可以帮助我,也仍然不是该问题的重复。另外,即使另一个问题的答案回答了我的问题,我的问题仍然没有问到另一个问题。

嗨,帕拉,我希望这个问题仍然是“开放的”。概述...
Jacob Vlijm'Feb 29'16

Answers:


18

有两个重要的工具可以从中操作窗口cli; xdotoolwmctrl。两种工具在功能上相互重叠,但是最重要的命令引用您的问题:

在(无疑是不完整的)概述中,列出了我最常用的命令:

关闭窗户

wmctrl:

wmctrl -ic <window_id>

最小化窗口

xdotool:

xdotool windowminimize <window_id>

最小化窗口

wmctrl:

有效地最小化可以通过以下方法完成:

wmctrl -ia <window_id>

有效地提到了,因为该命令移至相应的桌面,会最小化和升高窗口,但是该命令也在未最小化的窗口上也是如此。

最大化窗口

xdotool:

xdotool windowsize <window_id> 100% 100%

wmctrl:

wmctrl -ir <window_id> -b add,maximized_vert,maximized_horz

取消最大化窗口:

wmctrl -ir <window_id> -b remove,maximized_vert,maximized_horz

笔记

  • 默认情况下,两者xdotoolwmctrl都不在您的系统上:

    sudo apt-get install xdotool wmctrl
    
  • 要在当前活动的窗口上运行任何命令:

    • 对于wmctrl命令,请删除该-i选项,然后替换<window_id>:ACTIVE:

    • 对于xdotool命令:替换<window_id>$(xdotool getactivewindow)

  • 在许多情况下,可以使用窗口ID窗口名称来运行命令。中的-i选项wmctrl告诉wmctrl您使用窗口ID。我建议不要使用窗口的名称作为标识符,以防止名称冲突。它比您期望的更容易发生。

  • 根据我的经验,在脚本中使用最大化;利用wmctrl最大化/取消最大化可以在两个有点马车UnityGnome,而xdotool选择工作在我的经验更稳健。大部分脚本,我在使用两者的混合结束了wmctrlxdotool

有关man wmctrlman xdotool的更多信息(主要部分:WINDOW COMMANDS)。


感谢您的好评!但是您如何也最小化窗口?

1
@ParanoidPanda看到我的最新答案:)
Jacob Vlijm '16

1
wmctrl -ir <window_id> -b remove,maximized_vert,maximized_horz在gnome 3.20上不起作用
user41209 '19

4

添加到雅各布·弗利姆的答案中:

xdotool windowactivate $minwinid
xdotool windowraise $minwinid
xdotool windowfocus $minwinid

也可用于最小化窗口。动画对我来说更快。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.