What's Changed
Requirements
- U++ 2025.1
- C++17
Highlights
PtyWaitEvent
class added for proper event waiting across the supported platforms.PtyProcess
class now check for the dll version of ConPty first, to take advantage of the newest features and improvements.- A subset of semantic information protocol (
OSC 133
) is implemented. - Option to treat ambiguous width characters as wide characters.
Changes and Fixes
TerminalCtrl: Semantic information protocol (OSC 133) (59c332c)
TerminalCtrl: Synchronized output feature detection. (7013fa8)
TerminalCtrl: VT mouse events are now ignored if the terminal is in read-only mode. (37bb880)
TerminalCtrl: Clipboard access protocol (write) is advertised in DA. (4f62f0f)
TerminalCtrl: XTVERSION sequence fix (thanks @j4james) (1f3ff94)
TerminalCtrl: Extendended Color format parsing refactored and optimized. (17c737c)
TerminalCtrl: DECRPM 2027 added (reports as permanently reset). (2b1a863)
TerminalCtrl: Parser optimization (d051a38)
TerminalCtrl: VTCell: IsSpecial() method added. VTPage: Minor optimizations. (5af5a33)
TerminalCtrl: Unused insert unicode menu item removed (should be implemented by client code) (6b5d9b1)
TerminalCtrl: Minor renderer optimizations. (bdbd35f)
TerminalCtrl: SetEmulationLevel & SetDeviceConformanceLevel methods are refactored. (511eb34)
TerminalCtrl: RefreshDisplay() method refactored and optimized. (a5b88ee)
TerminalCtrl: Background paint (inverse video) fix. (7b8deb8)
TerminalCtrl: Line length calculation is corrected. (c27c437)
TerminalCtrl: VTPage: Line offset calculation is corrected. (67fa91a)
TerminalCtrl: Option to treat ambiguous chars as wide (2 column) chars. (0f856ee)
TerminalCtrl: Width table updated (ambiguous width chars added). (abc7e6b)
TerminalCtrl: Width table updated (formatting chars table added). (4e6fb72)
TerminalCtrl: Device ID can be changed by the client. (09dff1d)
TerminalCtrl: Report extendend device attributes (term id). (185c9ac)
TerminalCtrl: Selector Mode now automatically initializes to text mode if the mode is unspecified (proper init). (6ecda9d)
TerminalCtrl: Examples are updated to reflect PtyWaitEvent integration & readme updated. (0a2ce7a)
PtyProcess: Windows ConPty now loads as dll. (1ccd90b)
PtyProcess: PtyWaitEvent class is added. Read method (win) refactored. (2fb3e25)