脚本打开现有窗口而不是新窗口

脚本打开现有窗口而不是新窗口

我正在尝试编写一个脚本邓斯特spotify --uri=$(playerctl -p spotify metadata mpris:trackid/player 交互,以在关闭/单击时取消播放器控制元数据并通过 ) 打开 Spotify 曲目。

如何确保打开现有的 Spotify 窗口而不是全新的窗口?

如果答案需要非常特定于程序的 API 知识,那么请提供处理此问题的实用方法。我在使用时专门尝试解决这个问题i3wm

我也对此很好奇,以便增强应用程序启动器(例如罗菲处理应用程序切换,以干预是否应该打开新窗口或现有窗口(在rofi -modi window处理有意窗口切换的上下文之外)。

答案1

有人建议我过去常常dbus-send从 URI 打开 Spotify,但是我发现 Spotify API 特有的限制(打开 URI 会重新启动曲目,而不是仅有的拉出艺术家页面)。这实际上是一个Spotify 错误

总体而言,对于像 i3 这样的 WM,最合适的策略似乎是检查进程是否正在运行,然后有条件地聚焦窗口或根据需要启动应用程序。这就是我已经决定的。

在 i3 中,您可以使用 聚焦窗口i3-msg '[class="Spotify"] focus'。用于xprop识别元信息以定位窗口。

相关内容