Linuxでアクティブなウィンドウを除くすべてのウィンドウを最小化するショートカットは何ですか

Linuxでアクティブなウィンドウを除くすべてのウィンドウを最小化するショートカットは何ですか

Windows 用の「Aero Shake」があることは知っていますが、Debian 7 でも同様のものが欲しいです。

すでにすべてのキーボードショートカットを確認しましたが、関連するものは見つかりませんでした。

答え1

Ubuntu で動作するものは次のとおりです:

Ctrl + Super + 上: 最大化

Ctrl + Super + Down: 復元/最小化

Ctrl + Super + 左: ウィンドウを左にスナップ

Ctrl + Super + 右: ウィンドウを右にスナップ

Super キーを押し続けると、これらのキーボード ショートカットやその他のキーボード ショートカットのリストが表示されます。

PS. スーパーキー、別名Windowsキー 

答え2

これを行うための近道はありませんが、Devil's Pie を使用すれば可能だと思います。

基本的な例を記載した便利な記事がこちらにあります。 http://www.cs.bgu.ac.il/~gwiener/linux/minimizing-all-windows-in-gnome/

ここで「window_property」を参照してください: http://www.foosel.org/linux/devilspie#window_role

このページの「_NET_WM_STATE」を参照してください。具体的には「_NET_WM_STATE_FOCUSED」を探しています。 http://standards.freedesktop.org/wm-spec/wm-spec-latest.html#idm140200472615568

現時点ではテスト環境はありませんが、スクリプトは次のようになると思います。

(begin
  (if (not (is (window_property _NET_WM_STATE_FOCUSED))
    (minimize))
 (quit))

または (_NET_WM_STATE のセクションを参照してください...これらの使用方法はわかりません)

(begin
  (if (not (is (window_property _NET_WM_STATE, ATOM))
    (minimize))
 (quit))

答え3

これは、デフォルトで Wayland を実装する Ubuntu 21.10 で私が思いついたソリューションです。bash スクリプトをキーにバインドすれば準備完了です。

#!/bin/bash
gdbus call \
  --session \
  --dest org.gnome.Shell \
  --object-path /org/gnome/Shell \
  --method org.gnome.Shell.Eval \
  "global
      .get_window_actors()
      .filter(w=>w.meta_window.has_focus()===false)
      .forEach(w=>w.meta_window.minimize())"


関連情報