从命令行最大化窗口 (Keepassx2)

从命令行最大化窗口 (Keepassx2)

我在 Arch-Linux 安装上使用i3wmKeepassx2。我配置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获取在这个问题中

相关内容