Arch-Linux

從命令行最大化視窗(Keepassx2)

  • October 10, 2017

我在i3wmArch-Linux 安裝上使用和 Keepassx2。我配置i3為自動將帶有視窗類的視窗移動"Keepassx2"到某個工作區$WSKP。我還配置$mod+P為執行Keepassx2. 現在我想編寫一個由它執行的自定義腳本$mod+P。該腳本應:

  • Keepassx2在目前沒有其他實例執行時啟動
  • 當已經有一個正在執行的實例時,最大化Keepassx2並將焦點移動到特定的工作區$WSKP

我想要這個,因為我不需要 Keepass-Workspace 一直打開,並且在工作區切換時需要另一個不必要的按鍵。

檢查是否已經有一個正在執行的實例很容易:

if [ $(pidof keepassx2) ]; then 
   # maximize the running instance and move focus with i3-msg
fi;

但是如何實現最大化執行實例呢?

i3 沒有“最大化”功能,你想聚焦你的視窗,你可能想讓視窗全屏。

你可以使用這個剪斷:

winid="$(printf "%u\n" $windowid 2>/dev/null)
i3-msg "[id=\"$winid\"] "focus; fullscreen"

這個問題描述瞭如何windowid從 pid 中獲取。

引用自:https://unix.stackexchange.com/questions/390690