X11
如何將全域熱鍵轉發到僅在視窗處於焦點時才偵聽的程序?
假設有一個程序(如 OBS、Chrome 或 Discord)接受熱鍵(打開、保存、列印等)如何將全域熱鍵(如 i3 中配置的熱鍵)轉發到僅本地接受事件的程序窗戶。
例如,假設我想針對 Chrome 的執行版本進行列印 (
Ctrl
+P
)。如何設置熱鍵,以便 Chrome在未聚焦時打開列印對話框 (CTRL
+ )?P
你可以這樣做,
- 找到兩者,
- 您目前的活動視窗。(
src
)- 目標視窗。(
dst
)。
腳本,
彈到
dst
送出密鑰
反彈回
src
要查找打開的視窗,您可以使用
xdotool
,src=$(xdotool getwindowfocus) dst=$(xdotool search --onlyvisible --class "Chromium")
然後向它發送您可以使用的正確密鑰,
export key="Ctrl+P" xdotool windowfocus --sync "$dst" key "$key" windowfocus --sync "$src"