ワークスペースで開いているすべてのアプリケーションを閉じるためのgnome3拡張機能またはFedora25ショートカットはありますか? (たとえば、Xを押してワークスペース自体を閉じます)。
私はずっと前にその機能を見てきましたが、どこを忘れていましたが、デフォルトではFedoraでは利用できません。
以下の答えはGnome3/Ubuntuで書かれてテストされました。 Fedora/Gnomeで実行しているときに問題が発生した場合は、その旨をお知らせください。
以下のスクリプトは、2つのオプションを使用して、特定のワークスペース上のすべてのウィンドウを閉じます。
without引数を実行すると、currentワークスペース上のすべてのウィンドウが閉じます。例:
python3 /path/to/script.py
特定のワークスペースを引数として実行すると、そのワークスペース上のすべてのウィンドウが閉じます。例:
python3 /path/to/script.py 0
ワークスペース1のすべてのアプリケーションを閉じます。最初のワークスペースのインデックスは0であることに注意してください
#!/usr/bin/env python3
import subprocess
import sys
arg = sys.argv[1:]
def check_close(w_id):
w_data = get(["xprop", "-id", w_id])
if "_NET_WM_WINDOW_TYPE_NORMAL" in w_data:
subprocess.call(["wmctrl", "-ic", w])
def get(cmd):
return subprocess.check_output(cmd).decode("utf-8")
wlist = [l.split() for l in get(["wmctrl", "-lG"]).splitlines()]
arg = arg[0] if arg else [
l.split()[0] for l in get(["wmctrl", "-d"]).splitlines() if '*' in l
][0]
for w in [w[0] for w in wlist if w[1] == arg]:
check_close(w)
close_wins.py
として保存します次に、ターゲットのワークスペースを引数として、ターミナルウィンドウからスクリプトをテスト実行します。例:
python3 /path/to/close_wins.py 2
すべてのウィンドウを正常に閉じるワークスペース3上(0 = worspace 1)
現在のワークスペースのすべてのウィンドウを閉じるには、引数なしで実行します。
python3 /path/to/close_wins.py
すべて正常に機能する場合は、ショートカットキーに追加します。[システム設定]> [キーボード]> [ショートカット]> [カスタムショートカット]を選択します。 「+」をクリックして、コマンドを追加します。
python3 /path/to/close_wins.py
...または他の方法で実行します。
コマンドwmctrl -lG
は、現在開いているウィンドウに関する情報を提供します。出力は次のようになります。
0x018000f9 0 135 206 650 500 jacob-System-Product-Name pscript_6.py (1,6 GB Volume /media/jacob/6C08-F637) - gedit
0x01600a09 1 283 275 724 443 jacob-System-Product-Name jacob@jacob-System-Product-Name: ~
0x018018be 1 152 407 650 500 jacob-System-Product-Name Untitled Document 1 - gedit
0x0140008c 2 0 101 1280 960 jacob-System-Product-Name gnome - Can I have a countdown window show the time until next suspend? - Ask Ubuntu - Mozilla Firefox
0x01600a49 2 47 146 724 443 jacob-System-Product-Name jacob@jacob-System-Product-Name: ~
2番目の列から、ウィンドウの場所を取得できます。
0x0140008c 2 0 101 1280 960 jacob-System-Product-Name gnome - Can I have a countdown window show the time until next suspend? - Ask Ubuntu - Mozilla Firefox
2
は最初のワークスペースを参照するため、0
はウィンドウがワークスペース3にあることを意味します。
スクリプトがワークスペースを引数として実行されている場合、スクリプトは対応するウィンドウIDを解析し、その後、次のコマンドで適切に閉じます。コマンド(例):
wmctrl -ic 0x0140008c
引数としてワークスペースなしでスクリプトを実行する場合、スクリプトはコマンドから現在のワークスペースを取得します。
wmctrl -d
その後、現在のワークスペースを内部的に引数として使用します。