niri
私は普段Linuxではタイル型Waylandコンポジタであるniriを使用しています。
WaylandといえばX11に代わる新しいLinux向けディスプレイサーバーで、Linuxコミュニティ全体が段階的にX11を廃止してWaylandに向かう方向にあります。
しかし1つ問題があります。基本的にピクチャーインピクチャーが正常に動作しないのです。
原因は設計思想の違いらしく、ざっくり言うとX11と違ってWaylandではそれぞれのウインドウは自分以外のウインドウと関わりを持ちません。それ故にピクチャーインピクチャーをタイル型のウィンドウマネージャで使用するとこんな感じに残念な事に…

解決策
niriの初期のconfigで既にこんな感じの記述があると思います。
// Open the Firefox picture-in-picture player as floating by default.
window-rule {
// This app-id regular expression will work for both:
// - host Firefox (app-id is "firefox")
// - Flatpak Firefox (app-id is "org.mozilla.firefox")
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
open-floating true
}
つまり、このウインドウルールをそのまま自分の使っているブラウザ用に書き換えればいいわけです。
niriには情報を表示するためのniri msgコマンドがあります。これを使ってピクチャーインピクチャーを開いた状態でウインドウの情報を確認しましょう。
niri msg windows

こんな感じのログが出てきていると思います。ここに書いてあるTitle:とApp ID:をそのままウインドウルールの条件に使えば良いわけです。
window-rule {
match app-id="" title=r#"^ピクチャー イン ピクチャー$"#
open-floating true
}
これだけでとりあえず出てきた瞬間画面の半分を支配する事は無くなったはずです。便利にするためにここから更にもう少し設定を追加してみましょう。
window-rule {
match app-id="" title=r#"^ピクチャー イン ピクチャー$"#
open-floating true
// デフォルトの位置とサイズを指定
default-column-width { fixed 480; }
default-window-height { fixed 270; }
default-floating-position x=10 y=10 relative-to="bottom-right"
// 他のルールでfocus-ringやopacityを設定している場合は無効化しておく
open-focused false
focus-ring { off; }
opacity 1.0
}
こんな感じになりました。試しにこの状態でピクチャーインピクチャーを使ってみます。

正常に動作していますね。
niriではこんな感じで手軽にウインドウルールを追加して自分の思い通りの動作をさせることができます。今Waylandへの移行を検討している方はniriを使ってみてはいかがでしょうか?
それでは、良きWaylandライフを!