21年越しの要望がマージ、KDEが画面ごと仮想デスクトップ実装
2005年6月、KDE 3.3.2の時代に「画面ごとに仮想デスクトップを切り替えたい」と1人のユーザーが書き込んだ。その要望が、21年の沈黙の末にようやくコードに反映された。待っていた人は、もう待ち疲れていたかもしれない。
2005年6月、KDE 3.3.2の時代に「画面ごとに仮想デスクトップを切り替えたい」と1人のユーザーが書き込んだ。その要望が、21年の沈黙の末にようやくコードに反映された。待っていた人は、もう待ち疲れていたかもしれない。
21年前のデュアル1280×1024から始まった話
話の出発点は笑えるほど牧歌的だ。2005年、X11 Xineramaでデュアルディスプレイを組んでいたユーザーが、仮想デスクトップを切り替えると両方の画面が同時に切り替わってしまうことを不便に感じ、バグトラッカー「Bug 107302」として要望を提出した。
当時の構成はデュアル1280×1024。今なら1枚の4Kモニタにも届かない解像度だ。21年前の環境から生まれた要望が、Wayland時代の2026年になってようやく手当てされる。技術の歴史というのは、こういう妙なタイムラグを抱えて進む。
要望そのものは単純で、誰もが一度は欲しがるものだった。左のモニタではコードを書きながら、右のモニタだけ仮想デスクトップを切り替えてドキュメントを読みたい。Windows作業者なら思い当たる場面だろう。ところが、これを実現するにはKWinの根幹に手を入れる必要があった。
VirtualDesktopManagerは、現在の仮想デスクトップを出力ごとに個別に追跡するようになった。既定では全出力の仮想デスクトップが一括で切り替わるが、出力ごとに個別切り替えを有効化するオプションが新たに用意された。
マージされたのは、4か月前に提出されたマージリクエスト「!8602」だ。コミット本文は淡々としているが、その背後には長い議論と実装上の妥協がある。
なぜ21年もかかったのか
技術的に難しかったわけではない。コミットの差分を見れば、52ファイル・追加963行・削除315行で済んでいる。規模としては中程度の改修だ。ではなぜ、これほど時間がかかったのか。
理由の1つは、この機能が「KWinの仮想デスクトップという概念そのもの」を拡張する必要があったことにある。これまでKWinは仮想デスクトップを「ワークスペース全体の状態」として扱ってきた。デスクトップ1を選べば、全モニタがデスクトップ1になる。これを「出力ごとの状態」に分解するには、VirtualDesktopManagerのインターフェースにLogicalOutput引数を増やし、Activitiesクラスが記録する「最後に使った仮想デスクトップ」を出力単位で保持する構造へ書き換える必要がある。
コミット差分で目立つのは、setCurrent(desktop)がsetCurrent(desktop, output)へ変わっている箇所の多さだ。APIの署名が変わると、呼び出し側すべてを追随させる必要がある。activation.cpp、effecthandler.cpp、focuschain.cpp……影響範囲は広い。
一般ユーザーから見れば「オプションを増やしただけ」に見える機能が、実装側では「前提の1つをひっくり返す作業」になることはよくある。
もう1つの理由は、代替策があったことだ。Plasma 6.6で「プライマリディスプレイのみ仮想デスクトップを切り替える」スクリプトアドオンが先にマージされていた。ただしこれは軽量な回避策で、3画面以上を独立して扱いたい層の要望には届かなかった。スクリプトではKWinの根幹までは動かせないという開発者側の判断が、長い停滞の背景にあった。
Waylandのみ、X11は置いていかれる
今回の実装には明確な制約がある。この機能はWayland環境でのみ動作する。X11やXWaylandでは有効にならない。21年前の要望を生んだX11環境では、結局この恩恵を受けられないまま終わることになる。
これは皮肉ではあるが、KDEプロジェクト全体の方向性と一致している。KDEは数年前からWayland優先を掲げ、新機能はWayland側でのみ実装するケースが増えている。X11は静かに役目を終えつつある。2005年に要望を書いたユーザーが今もKDEを使っているなら、Waylandへの移行が実利のある選択になる。
搭載予定はKDE Plasma 6.7。2026年6月16日の正式リリースを目標にしており、第1ベータは5月14日に公開される計画だ。既定では従来どおり全画面一括切り替えのままなので、機能を使いたければ明示的に有効化する必要がある。既存ユーザーの環境を壊さない配慮だ。
画面ごとの仮想デスクトップは、すべての人が必要とする機能ではない。しかし必要な人にとっては、作業効率を根本から変える類の機能だ。3画面以上で作業するエンジニア、トレーダー、映像編集者といった層が主な受益者になるだろう。
21年という単位で考えること
技術ニュースとして見れば、この件は「KDEの地味な改善」の1つに過ぎない。しかし21年という時間軸で眺めると、別の読み方が立ち上がってくる。
1つのバグ報告が21年生き延びた。その間にKDE 3はKDE 4になり、KDE 4はKDE Plasma 5になり、そしてPlasma 6の時代に入った。X11はWaylandに席を譲り始め、ディスプレイは1280×1024から4Kへ、さらに8Kへと進化した。それでも、このバグトラッカーのエントリは閉じられずに残り続けた。
オープンソースプロジェクトの強みは、こういう「誰かがいつか着手するまで要望が消えない」点にある。商業製品なら、優先度の低い要望は10年もすれば静かに消される。KDEのバグトラッカーには、2005年の書き込みがそのまま残っていた。
そして、誰かがそれを拾い上げ、4か月かけて実装し、マージリクエストを通した。21年という時間の長さは、この機能がいかに「優先度が高くなかったか」を示すと同時に、それでも捨てられなかったことを示している。
末尾に一言添えるなら、21年前にBug 107302を書いた匿名のユーザーは、今この瞬間のコミットログを見ているだろうか。見ていたら、きっと少し笑っているはずだ。
参照元
他参照
関連記事
- GNOME 50がGoogle Driveを切り捨てた理由
- Ubuntu MATE創設者が12年の歴史に区切り──後継者不在のまま幕引きへ
- NVIDIA環境でもKDE PlasmaがGNOMEを超える
- ElectronがWaylandネイティブに到達するまでの5年間
- 宇宙向けFS「FTRFS」10年越しにLinuxへ提案
- Linux 7.0リリース——Rust正式採用、AIが新常態へ
- CMake 4.3がC/C++依存管理に共通言語——CPS正式化の意味
- Linux 7.0、Zen 3の誤検知エラーを土壇場で抑制
- Linuxカーネル、AI生成コードを条件付きで容認へ
- Linuxに「ドリキャスのメモカ」用ファイルシステムが提案