我在 Arch-Linux 安装上使用i3wm
Keepassx2。我配置i3
为自动将具有窗口类的窗口移动"Keepassx2"
到某个工作区$WSKP
。我还配置了$mod+P
执行Keepassx2
.现在我想编写一个由其执行的自定义脚本$mod+P
。该脚本应该:
Keepassx2
当当前没有其他实例运行时启动- 当已有正在运行的实例时,最大化
Keepassx2
并将焦点移至特定工作区$WSKP
我想要这个是因为我不需要 Keeppass-Workspace 一直打开,并且在工作区中切换时需要再次不必要的按键。
检查是否已经存在正在运行的实例很简单:
if [ $(pidof keepassx2) ]; then
# maximize the running instance and move focus with i3-msg
fi;
但是如何实现最大化运行实例呢?
答案1
i3 没有“最大化”功能,您想要聚焦窗口并且可能想让窗口全屏显示。
您可以使用这个截图:
winid="$(printf "%u\n" $windowid 2>/dev/null)
i3-msg "[id=\"$winid\"] "focus; fullscreen"
windowid
描述了如何从 pid获取在这个问题中。