Ncurses 6.6 公開、Windows Terminal対応が大幅強化

Wait 5 sec.

Ncursesの最新バージョン6.6が2025 年末にリリースされました。Ncursesは長年UNIX/LinuxのテキストUI(TUI)を支えライブラリで、今回も堅実な改善を積み重ねが行われています。v6.6ではまず、Windows Terminal/MinGWドライバの強化が行われています。近年継続的に開発が進められていたWindows Terminal向けドライバが大幅に改善されました。MinGW32用のターミナルドライバは2009年に導入されました。一方Windows Terminalをサポートする新しいターミナルドライバの開発は2020年に開始され、両者にはいくつかの違いがあります。どちらのドライバもConsole APIを使用しているが、後者のWindowsドライバは文字のエスケープシーケンスも利用でききる。MinGW32ドライバは、既存のソースコードとの統合を簡素化するために、POSIXの端末I/Oデータ型を模倣するよう設計されていた。一方、新しいWindowsドライバは同じ方法で統合されておらず、特にresetユーティリティが不完全だった。Windows TerminalのConsole APIサポートは不完全で、マウスサポートが欠けている。さらに、キャリッジリターンとラインフィードの変換に関する問題を解決するのに開発者が数年を要した。こうした問題を踏まえ、現行リリースでもMinGWとWindowsの両ドライバが提供されている。2つのドライバは似ているものの、Windowsドライバの開発過程で名称変更やリファクタリングが行われ、その結果ソースファイルの重複が発生していた。今回のリリースでは、この重複が解消されている。また、マウスドライバの改善も行われ、ターミナル上でのマウスの操作性が向上しています。さらに、エラー処理の改善や null ポインタチェックの追加によるエラーハンドリングの強化、最新の端末環境に対応するためのターミナル情報のアップデートも行われています。Ncurses6.6は6.5以前とソース互換性を維持しており、既存プロジェクトも安心してアップデートできます。詳細やダウンロードリンクは公式メーリングリストのアナウンスから確認できます。