Ctrl-Alt-Tショートカットをxfceのように動作させる方法があるかどうか知りたいのですが。つまり、開いているターミナルがない場合は開いてください。そうでない場合は、新しいターミナルを開くのではなく、既存のターミナルに注目してください。理想的には、xdotoolのようなものをインストールする必要はありません。
Cinnamon(3.0.7)とgnome-terminal(3.20.2)でmanjarolinuxを使用しています。
https://stackoverflow.com/questions/1380784/how-to-get-list-opened-windows-in-pygtk-or-gtk-in-ubunt のコードは、ターミナルが開いている場合は、ターミナルに焦点を合わせる必要があります。 (もちろん、ターミナルがない場合は、新しいターミナルを開きます。)さらに、すべてを制御する作成したミニプログラムにCtrl-Alt-Tショートカットを接続する必要があります。
作業コードで編集:
#!/usr/bin/python
import gi
gi.require_version('Wnck', '3.0')
from gi.repository import GdkX11, Gdk, Wnck
import subprocess
screen = Wnck.Screen.get_default()
screen.force_update() # recommended per Wnck documentation
# loop all windows
for window in screen.get_windows():
window_name = window.get_name()
print window_name
if window_name == "your_terminal_name_here":
now = GdkX11.x11_get_server_time(Gdk.get_default_root_window())
window.activate(now)
break
continue
else:
subprocess.call("gnome-terminal")
# clean up Wnck (saves resources, check documentation)
window = None
screen = None
Wnck.shutdown()
このコードをcheck_window.pyというファイルに入れ、[設定]> [キーボード]> [ショートカット]でショートカットをリンクします。ファイルをchmod +x check_window.py
で実行可能にします。if window_name == "your_terminal_name_here":
を端末の名前に置き換えます。ターミナルウィンドウを開いた状態でこの「アプリ」を1回実行すると、ウィンドウの名前が表示されます。