デスクトップにフォーカスがあるときに押された場合にのみサスペンド/シャットダウン/再起動メニューを表示し、それ以外の場合はアクティブなウィンドウを閉じるだけの条件付きキーボード ショートカット (Alt+F4) を設定したいと思います。
ありがとう
答え1
私は、caja をファイル マネージャーとして使用する Ubuntu MATE でこのスクリプトを使用します。
#!/bin/bash
activewindowname=$(xdotool getwindowfocus getwindowname)
if [ "$activewindowname" == "x-caja-desktop" ]; then
gnome-session-quit --power-off
else
xdotool windowclose `xdotool getactivewindow`
fi
このコードをコピーしてスクリプトとして保存し、Alt+F4のカスタムショートカットを作成します。
答え2
KDE 5 (Plasma) でこれを実行したい場合、上記のスクリプトを変更します。
#!/bin/bash
activewindowname=$(xdotool getwindowfocus getwindowname)
if [ "$activewindowname" == "Рабочий стол по умолчанию — Plasma" ]; then
qdbus org.kde.ksmserver /KSMServer logout 1 2 3
else
xdotool windowclose `xdotool getactivewindow`
fi
デスクトップは"$activewindowname"
ロケールに依存します。Konsole でこのコマンドを実行し、デスクトップをクリックすると、ロケールでの名前が表示されます。
sleep 2s && xdotool getwindowfocus getwindowname