スクリプトは新しいウィンドウの代わりに既存のウィンドウを開きます。

スクリプトは新しいウィンドウの代わりに既存のウィンドウを開きます。

スクリプトを作成しようとしています。ダンストspotify --uri=$(playerctl -p spotify metadata mpris:trackid閉じる/クリックすると、プレーヤーコントロールメタデータをキャンセルし、を通じて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ウィンドウを見つけるためにメタ情報を識別するために使用されます。

おすすめ記事