アプリケーションで定義されたキーボードショートカットを、同じキーバインドのシステム全体のショートカットよりも優先させる方法はありますか?
望ましい動作:いくつかのキーが押された場合、フォーカスされたアプリケーションが何かをしたいかどうかを確認します(そうであれば、それを行います) )。そうでない場合は、一部のキーのシステムショートカットがあるかどうかを確認してから実行します。
現在何が起こっているか:私が持っている F11 キーボードショートカットの設定メニューで「フルスクリーンの切り替え」として設定します。 Chrome F11 Chrome自体のフルスクリーンモードを有効にする必要がありますが、代わりにシステム全体のショートカットによってオーバーライドされます。つまり、Chromeはフルスクリーンになり(GNOMEパネルとタイトルバーは消えます)、Chromeのフルスクリーンモード(タブ、アドレスバーブックマークバーも消えます)。
(補足:Firefoxには同じ問題はありませんが、FFフルスクリーンはウィンドウマネージャーのフルスクリーンと同じである/トリガーされるためです)
免責事項:これはあなたが望むものではありませんが、投稿しないようにこれに多くの時間を費やしており、他の誰かがそれを使用できる可能性があります。
Ctrl + F11はどこでもフルスクリーンですが、ChromiumはChromiumのフルスクリーンです!
xdotool
を使用し、コマンドをchromeウィンドウに直接送信すると、ウィンドウマネージャーをだませる可能性があると思いました。
それから私はグーグルクロームのキーボードショートカットを変更できるかもしれないと思ったが、それはハードコードされているようだ-もう一つの行き止まり。
xdotool
をインストールして、キーボードの押下をシミュレートします
Sudo apt-get install xdotool
ubuntuキーボードショートカットを任意の何かに再構成します。これは入力することはありませんが、スクリプトでは使用できます。
設定->デバイス->キーボード
下にスクロールして編集フルスクリーンモードをCtrl + Alt + 1
に切り替えてから+
を押し、カスタムキーボードショートカットを追加します
+
を押して、カスタムキーボードショートカットを追加します
スクリプトを編集する
nano /home/user/fullscreen.sh
#!/bin/bash
export DISPLAY=:0
windowname=$(xdotool getactivewindow getwindowname | cut -d "-" -f 2)
if [[ $windowname != *"Chromium"* ]]
then
xdotool keydown Ctrl keydown Alt key 1 keyup Alt keyup Ctrl
else
xdotool search --onlyvisible --class "Chromium" windowfocus
sleep 0.2
xdotool key F11
fi
実行可能にする
chmod +x /home/user/fullscreen.sh
ウィンドウマネージャーをだましてキーストロークを密輸することは不可能に思えますが、回避策は確かにあります。この場合、Googleはフルスクリーンキーボードショートカットを構成できないようにしているため、マークに達しません。
これで、Ctrl + F11を使用して、ウィンドウマネージャーがクロムを除くフルスクリーン動作を制御します。