#
3d149248 |
|
03-Apr-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Fix support of East Asian Full Width characters * Re-enable full-width characters detection and display; * Fix cursor drawing on full-width characters; * Fix debug dump for multi-byte characters; * Fix file permissions for debug capture log. Fixes #6717. Also may improve behaviour related to #6227.
|
#
34a1a44d |
|
05-Apr-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Fix CID609944: Uninitialized scalar field Default constructor for UTF8Char has not initialize it's data.
|
#
daebca78 |
|
21-Mar-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
More standard handling G0,G1,G2,G3 graph.char sets Handling of graphic character sets G0-G3 is fixed and implemented in more consistent, extensible way.
|
#
c7047b8f |
|
17-Mar-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Improve handling of mbyte chars in UTF8Char::IsSpace * Switch UTF8Char's IsSpace, IsAlNum, ToLower functions to use system-wide BUnicodeChar service routines; * Switch TermView::CharClassifier to use UTF8Char instead of raw char* string ponter. That reduces count of conversions and simplify code; Fixes #7423.
|
#
82224430 |
|
31-Mar-2009 |
Stephan Aßmus <superstippi@gmx.de> |
For some reason I do not grasp right now, "c" needs to have uchar type or the method is broken. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29821 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4c9d4b02 |
|
14-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Change the line history to a more compact format. We reserve lines * (width + 8) bytes which is only a little more than a sixth of what it was before. The effect on performance is relatively small. In my tests I measured about 2% slowdown. * Fixed artifacts after soft-wrapped lines. * Re-enabled cursor blinking. I changed it so that the cursor is 1s shown and 0.5s hidden (instead of 1s each). Tell me what you think. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25957 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bdc33077 |
|
09-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
GCC 4 fixes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25885 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
52b1d543 |
|
09-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Terminal changes. This is still work in progress, some features are disabled, lots of commented debug code is still in there, and quite a bit of cleanup is needed, but basically things work at least as well as before with several improvements: * Changed TerminalBuffer from an interface to a complete implementation. Removed all related code from TermView. Removed the now obsolete TermBuffer. TermParse uses TerminalBuffer instead of TermView, and TerminalBuffer asynchronously notifies TermView. This avoids potential deadlocks, fixing #1918. It also speeds up tty-output-bound programs. E.g. a "seq 10000" is about twice at fast with the default terminal size in my setup, now. It's still horribly slow compared to e.g. Konsole, though. * Replaced CurPos by a more compact and fully inline class TermPos. * Removed the offset feature (that insets the used text area) from TermView, thus simplifying the code. Instead put the view into a new parent view which provides the insets. This also fixes artifacts that could sometimes be observed in the insets area. * Scrolling related changes: - When scrolling fully down, the (80x25 or whatever) terminal screen is seen. It is not possible to scroll below the screen as in Be's Terminal. Scrolling in Haiku's Terminal was weirdly broken in this respect. As a side effect this fixes #2070. - When not scrolled fully down, further output won't cause any scrolling. It is thus possible to read earlier output while something is still going on. Fixes #1772. - Particularly to avoid unnecessary scrolling in the not scrolled fully down case, TermView no longer actually scrolls. It only sets an internal offset and manually uses CopyBits() as needed. Introduced a (hacky) BScrollView subclass using a BScrollBar subclass to make that possible. * Selection related changes: - Double/triple click plus dragging allows for selecting multiple words/lines. - Word selection no longer selects ranges of non-space characters. Instead it knows that words are made of alpha numerical chars and a certain set of other chars, and selects a range of commonly classified characters (word chars, non-word non-whitespace chars, whitespace chars). The non-alpha-num word characters should be made user-settable. Due to missing multi-byte character classification multi-byte whitespace is not recognized. - Beyond the end of the line there no longer are invisible spaces. Trying to select the region selects the end of the line (i.e. line break). This is similar to how Konsole and xterm work. - Added auto-scrolling when selecting with the mouse. Formerly the Terminal scrolled only while moving the mouse. The scroll speed might need some fine-tuning. - Don't know what change exactly did that (likely the switch to non-end-inclusive text ranges used internally), but the occasional selection artifacts are gone. * Resizing the terminal window re-wraps soft-wrapped lines. * The find functionality seemed to be completely broken. At least it never found anything for me. Should work now, though multi-byte characters are not matched correctly in case-insensitive mode. Regressions: * Printing is disabled. * Cursor blinking is disabled. Do we want it anyway? * In several cases full-width characters are not handled correctly (in more cases than before). * Shrinking the terminal width doesn't work very well with "less" (and probably other full-screen terminal apps), due to line re-wrapping. "less" expects them to be truncated only. When supporting an alternate screen buffer re-wrapping should be disabled for it, which should solve the problem. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25881 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3d1492487d880a3518397a6326bc7fe26228ccf6 |
|
03-Apr-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Fix support of East Asian Full Width characters * Re-enable full-width characters detection and display; * Fix cursor drawing on full-width characters; * Fix debug dump for multi-byte characters; * Fix file permissions for debug capture log. Fixes #6717. Also may improve behaviour related to #6227.
|
#
34a1a44dadfa0b1d16f6cef92b21434ac4792fcf |
|
05-Apr-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Fix CID609944: Uninitialized scalar field Default constructor for UTF8Char has not initialize it's data.
|
#
daebca78f8edce18e967705c7e7c00e0b4c43e23 |
|
21-Mar-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
More standard handling G0,G1,G2,G3 graph.char sets Handling of graphic character sets G0-G3 is fixed and implemented in more consistent, extensible way.
|
#
c7047b8fd2b48529091fccb925469a2432e65054 |
|
17-Mar-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Improve handling of mbyte chars in UTF8Char::IsSpace * Switch UTF8Char's IsSpace, IsAlNum, ToLower functions to use system-wide BUnicodeChar service routines; * Switch TermView::CharClassifier to use UTF8Char instead of raw char* string ponter. That reduces count of conversions and simplify code; Fixes #7423.
|
#
82224430842cb897f8845466ccd1cd5fc2ed8d2f |
|
31-Mar-2009 |
Stephan Aßmus <superstippi@gmx.de> |
For some reason I do not grasp right now, "c" needs to have uchar type or the method is broken. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29821 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4c9d4b02efb56c9444a83fb99e362681aa14c7c1 |
|
14-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Change the line history to a more compact format. We reserve lines * (width + 8) bytes which is only a little more than a sixth of what it was before. The effect on performance is relatively small. In my tests I measured about 2% slowdown. * Fixed artifacts after soft-wrapped lines. * Re-enabled cursor blinking. I changed it so that the cursor is 1s shown and 0.5s hidden (instead of 1s each). Tell me what you think. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25957 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bdc33077f978c4fe10f2d2a4feb27d6709609faa |
|
09-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
GCC 4 fixes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25885 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
52b1d543e80f5d48e6ef841fff4780c7c87bae11 |
|
09-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Terminal changes. This is still work in progress, some features are disabled, lots of commented debug code is still in there, and quite a bit of cleanup is needed, but basically things work at least as well as before with several improvements: * Changed TerminalBuffer from an interface to a complete implementation. Removed all related code from TermView. Removed the now obsolete TermBuffer. TermParse uses TerminalBuffer instead of TermView, and TerminalBuffer asynchronously notifies TermView. This avoids potential deadlocks, fixing #1918. It also speeds up tty-output-bound programs. E.g. a "seq 10000" is about twice at fast with the default terminal size in my setup, now. It's still horribly slow compared to e.g. Konsole, though. * Replaced CurPos by a more compact and fully inline class TermPos. * Removed the offset feature (that insets the used text area) from TermView, thus simplifying the code. Instead put the view into a new parent view which provides the insets. This also fixes artifacts that could sometimes be observed in the insets area. * Scrolling related changes: - When scrolling fully down, the (80x25 or whatever) terminal screen is seen. It is not possible to scroll below the screen as in Be's Terminal. Scrolling in Haiku's Terminal was weirdly broken in this respect. As a side effect this fixes #2070. - When not scrolled fully down, further output won't cause any scrolling. It is thus possible to read earlier output while something is still going on. Fixes #1772. - Particularly to avoid unnecessary scrolling in the not scrolled fully down case, TermView no longer actually scrolls. It only sets an internal offset and manually uses CopyBits() as needed. Introduced a (hacky) BScrollView subclass using a BScrollBar subclass to make that possible. * Selection related changes: - Double/triple click plus dragging allows for selecting multiple words/lines. - Word selection no longer selects ranges of non-space characters. Instead it knows that words are made of alpha numerical chars and a certain set of other chars, and selects a range of commonly classified characters (word chars, non-word non-whitespace chars, whitespace chars). The non-alpha-num word characters should be made user-settable. Due to missing multi-byte character classification multi-byte whitespace is not recognized. - Beyond the end of the line there no longer are invisible spaces. Trying to select the region selects the end of the line (i.e. line break). This is similar to how Konsole and xterm work. - Added auto-scrolling when selecting with the mouse. Formerly the Terminal scrolled only while moving the mouse. The scroll speed might need some fine-tuning. - Don't know what change exactly did that (likely the switch to non-end-inclusive text ranges used internally), but the occasional selection artifacts are gone. * Resizing the terminal window re-wraps soft-wrapped lines. * The find functionality seemed to be completely broken. At least it never found anything for me. Should work now, though multi-byte characters are not matched correctly in case-insensitive mode. Regressions: * Printing is disabled. * Cursor blinking is disabled. Do we want it anyway? * In several cases full-width characters are not handled correctly (in more cases than before). * Shrinking the terminal width doesn't work very well with "less" (and probably other full-screen terminal apps), due to line re-wrapping. "less" expects them to be truncated only. When supporting an alternate screen buffer re-wrapping should be disabled for it, which should solve the problem. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25881 a95241bf-73f2-0310-859d-f6bbb57e9c96
|