ここで説明されているように(askubuntu.com/questions/234206/shortcut-to-switch-to-app/328842)wmctrl
を使用すると、ウィンドウにアクセスできます。そのため、キーボードで切り替えることができます。しかし、まだ開いている場合は、1つのショートカットを開いてフォーカスするのが好きです。
そのためのツールはありますか?
さらに別のソリューション。
Wmctrlがインストールされていることを確認してください:Sudo apt install wmctrl
次のコマンドでショートカットを作成します:bash -c "wmctrl -a chrome ; [ "$?" == "1" ] && google-chrome"
説明:最初にchrome(wmctrl -vxa chrome
)に焦点を合わせ、次に「$?」が成功したかどうかを確認します==「0」または「$?」ではない== "1"。そうでない場合は、Google chrome([ "$?" == "1" ] && google-chrome"
)を起動します。
ショートカットbash -c "wmctrl -a chrome || google-chrome
を作成することもできます
||
は、最初のコマンドが失敗した場合に2番目のコマンドを実行することを意味します。
次の手順を試してください(テスト済み):
xprop | grep WM_CLASS
bash -c "wmctrl -xa <WM_CLASS> || <WM_CLASS>"
bash -c "wmctrl -xa google-chrome || google-chrome
キーボードショートカットとして直接次のものがあります。
# Focus Chrome if it's running, start it otherwise.
sh -c "if test $(wmctrl -vxa chrome 2>&1 | wc -l) -eq 1; then google-chrome; fi"
OlivierBlanvillainのアプローチを使用しましたが、特定の結果に合わせて修正しました。
私は欲しかった F12 フォーカスした内容に応じて、Chromeまたは私のターミナルを切り替えます。 wmctrlに加えて xdotool を使用しています。
if [[ $(xdotool getwindowfocus getwindowname) == *Google\ Chrome ]]; then wmctrl -a terminal; else wmctrl -a chrome; fi
ほとんど手に入れました。
次の行で/usr/local/bin/go
(Sudo vim /usr/local/bin/go
)を作成しました:
#!/bin/bash
if wmctrl -l | grep -i --quiet "${1}"; then
wmctrl -a ${1}
else
${1}
fi
実行可能にしました:Sudo chmod ugo+x /usr/local/bin/go
そして、システムにいくつかのショートカットを追加しました:
名前:Firefox
コマンド:go firefox
Super + F経由
しかし、firefoxは表示されません。コンソールを介して、本来の動作をします。