是否有用于最小化除活动窗口之外的所有窗口的键盘快捷键?

Cha*_*had 22 shortcut-keys

当打开像 GIMP 这样的程序时,我发现打开后台窗口会让人分心,因为 GIMP 有三个与之关联的独立窗口。

必须手动转到每个其他非 Gimp 窗口以将其最小化,这是一种负担。我需要的是 Ubuntu 中与 Windows 的Super+Home快捷键匹配的键盘快捷键。一种最小化除活动窗口之外的所有窗口。

是否有可能在 Ubuntu 中实现这种行为?

dv3*_*0ea 21

可以使用 python 脚本来实现这一点。该脚本需要python-wnckpython-gtk安装才能工作,尽管我认为这些都是默认安装的。

将其复制并粘贴到文本编辑器中,然后保存在合适的位置(例如,作为主文件夹中的minimise.py):

#!/usr/bin/env python
import wnck
import gtk

screen = wnck.screen_get_default()

while gtk.events_pending():
    gtk.main_iteration()

windows = screen.get_windows()
active = screen.get_active_window()

for w in windows:
    if not w == active:
        w.minimize()
Run Code Online (Sandbox Code Playgroud)

然后,您可以通过打开键盘快捷键来设置键盘快捷键。

Dash 中的键盘快捷键

单击添加以创建新的快捷方式。

键盘快捷键窗口

使用该命令bash -c 'python ~/minimise.py'(假设您将其保存为minimise.py在您的主文件夹中)。

创建快捷方式

然后,您可以将首选键盘组合分配给此操作。

该脚本将最小化所有非活动窗口。我不认为这对您的用例非常有用,因为您希望打开所有 Gimp 窗口。您可以使用稍微不同的脚本来最小化所有不是来自当前应用程序的窗口:

#!/usr/bin/env python
import wnck
import gtk

screen = wnck.screen_get_default()

while gtk.events_pending():
    gtk.main_iteration()

windows = screen.get_windows()
active_app = screen.get_active_window().get_application()

for w in windows:
    if not w.get_application() == active_app:
        w.minimize()
Run Code Online (Sandbox Code Playgroud)

  • +1!这就是我喜欢Linux的原因!优秀。@chad:如果 gimp 的多个窗口有问题,似乎有办法让 gimp 充当 1 个窗口。糟糕:它似乎是 2.6 的默认值(请看图;我很久没有使用 gimp 了)。 (4认同)

bro*_*mes 5

这是使用wmctrl 的非常简单的方法

wmctrl -k on; wmctrl -R :ACTIVE:

第一个命令显示桌面(即最小化所有窗口),第二个命令引发“活动”窗口,该窗口是最小化之前处于活动状态的窗口。我将其放入单行 bash 脚本中,然后为该脚本设置键盘快捷键。

编辑:使用以下命令恢复所有窗口:

wmctrl -l | cut -d' ' -f 1 | xargs -n1 wmctrl -i -a