Commit Graph

98 Commits

Author SHA1 Message Date
Boris Faure 50f4f6308d termptyops: skip variation selectors
We should take into account VS1, 15 and 16…
2019-06-23 22:02:50 +02:00
Boris Faure 891168a9a7 termio/termptyops: remove termio_content_change()
It shall no longer be needed.
2019-02-06 23:19:29 +01:00
Boris Faure 505772602e termptyops: do not wrap to left margin when already past right margin
Fix ech.sh test that detected the issue
2019-01-12 16:14:14 +01:00
Boris Faure 822f959163 termpty: handle IL with left/right margins + tests 2019-01-05 19:25:37 +01:00
Boris Faure a5d364bcbf termptyops: ensure clearing cells do not increase link count 2019-01-03 22:46:07 +01:00
Boris Faure 12cc6aaf42 termptyesc: support DECIC/DECDC + tests 2018-12-30 18:36:27 +01:00
Boris Faure 68787ad524 tests/termptyesc: handle DECSACE
Also regenerate tests since checksums changed due to new attribute
2018-12-29 17:21:07 +01:00
Boris Faure a940556cff termpty: correctly handle wrap (DECAWM) 2018-12-28 17:41:33 +01:00
Boris Faure dc5c291bb9 highlight links on mouseover
+ related fixes
2018-10-13 19:21:19 +02:00
Boris Faure cc83e6b6f2 parse hyperlinks
Ref: T6329
2018-10-13 10:52:50 +02:00
Boris Faure 43ad696570 Merge branch 'terminology-1.2' 2018-10-12 20:19:06 +02:00
Boris Faure aa0f968860 termpty: soft reset should only reset attributes 2018-10-12 20:17:50 +02:00
Boris Faure 0991479fcb try to optimize cell copy
On my stupid benchmark: having tyfuzz parse a 628MB text file (few times
war and peace concatenated) over 10 sessions, it went from 15.2MB/s to
16.8MB/s \o/ That's a 10.5% improvement!
2018-04-24 23:41:18 +02:00
Boris Faure 740e96da66 handle DECSCUSR (changing cursor shape). Closes T6338 2018-03-15 19:20:09 +01:00
Boris Faure 9e0243d9f1 support encircled escape code. Closes T6769 2018-03-13 09:15:32 +01:00
Boris Faure 6100f8f4e3 harden the code around manipulation of cursor_state 2017-09-08 23:06:19 +02:00
Boris Faure acbf3387fa fix selections in the backlog. Closes T5743
In the backlog, every cell but the last one has the autowrapped flag set.
_termpty_cellrow_from_beacon_get() now returns a length in the
"screen space".
2017-08-26 18:51:22 +02:00
Boris Faure 0478a36799 termptyops.c: fix scrolling wrt bottom margin
Thanks to @ncim for the report
2017-08-22 22:08:11 +02:00
Boris Faure 6315ed2949 termpty: remove termstate.had_cr since it's unused 2017-08-21 23:46:28 +02:00
Boris Faure 2343efd6a1 termptyesc: clearing the screen (from ED2) should not reset bottom margin
Thanks to @ncim for the report.
2017-08-21 23:19:41 +02:00
Boris Faure 6f1a2dd452 constify 2017-07-06 21:37:56 +02:00
Boris Faure 3cafc4272d feature: click-alt tries to handle wrapped CLI. Closes T5537 2017-07-06 20:17:47 +02:00
Boris Faure de3890dad3 feature: move cursor to position on click+alt. Closes T5537 2017-06-29 23:45:05 +02:00
Boris Faure e314dd2f29 termptyops: fix clearing cells on scroll
cells has already the offset taken into account
2017-06-06 23:49:24 +02:00
Boris Faure 64d7150252 fix stupid segfault 2017-06-06 00:19:48 +02:00
Boris Faure 9f72ea3a9d termptyesc: handle DECFRA 2017-06-05 20:47:41 +02:00
Boris Faure 7ea4b65c8d termptyops: handle right/left margins. Ref T5533 2017-06-05 17:43:23 +02:00
Boris Faure 7ab925dc76 termpty: very early support of Right/Left margins 2017-06-03 23:17:33 +02:00
Boris Faure 6c750c660c termpty: on reset, no longer restrict cursor 2017-06-01 21:34:01 +02:00
Boris Faure 6ce96da8c4 s/scroll_y1/top_margin/, s/scroll_y2/bottom_margin/ 2017-05-29 23:26:32 +02:00
Boris Faure 99f55b7bbc termptyesc: support DECSED3 to erase the backlog. Closes T3713 2016-12-20 22:43:37 +01:00
Boris Faure 240a4a02d3 termpty: fix potential NULL dereference. CID1367485 2016-12-19 23:38:32 +01:00
Boris Faure f3dd6f62fb termpty: Tab markers are the same for each line. Ref 4992 2016-12-18 18:48:03 +01:00
Boris Faure 6cc0abd787 termpty: skip combining chars unless it can be used as strikethrough 2016-11-26 18:42:26 +01:00
Boris Faure 566c6d3680 termpty: correctly handle saving cursor + switching to/from altbuf
Closes T4718
2016-10-18 00:15:06 +02:00
Boris Faure 7d09373c56 skip 0-width spaces. Closes T3734 2016-05-31 22:03:58 +02:00
Boris Faure 28965e6601 fix typo/bug spotted by afl-fuzz 2015-11-08 13:06:09 +01:00
Boris Faure 9c4167f74f always support double-width 2015-09-19 16:23:41 +02:00
Boris Faure 2b3eda694f always support italic 2015-09-19 16:18:17 +02:00
Boris Faure 8fbffdd869 renames to make the code more consistant 2015-08-03 20:44:55 +02:00
Boris Faure 35c8fd79c0 speed up browsing backlog
have a "beacon": single point where the link between an offset in the
backlog and one in screen coordinates
2015-08-03 20:44:55 +02:00
Boris Faure 34592ab5b3 new resize/backlog implementation. Closes T2461
idea: store full lines in the backlog. No need to change them on resize
2015-08-03 20:43:17 +02:00
Boris Faure 681bb029c2 ensure cursor coordinates are always valid, 2nd version 2015-06-03 23:02:31 +02:00
Carsten Haitzler 074eece5f7 Revert "ensure cursor coordinates are always valid"
This reverts commit 1f3f779258.

this breaks terminal scrolling entirely! can't scroll anymore at all
in standard shell. just try a simple: find / -print
2015-06-03 15:00:13 +09:00
Boris Faure 1f3f779258 ensure cursor coordinates are always valid 2015-06-02 22:48:50 +02:00
Boris Faure c86b35309c rename a bunch of _termpty_*() to termpty_*() 2015-06-02 21:47:06 +02:00
Boris Faure be62d87f89 separate "termstate" from cursor state and screens. Closes T725 2015-04-23 20:02:53 +02:00
Boris Faure eb80949921 reset also removes the scrollback. Closes T1891 2014-12-08 20:32:27 +01:00
Boris Faure 6d4219137f try to handle OOM on "termpty_save" 2014-09-14 14:11:14 +02:00
Carsten Haitzler 15b55d5eb7 Revert "do not crash when the scrollback mempool is OOM"
This reverts commit 815a357ad9.

this patch breaks paging and backscroll completely. just try less or
more - eg

man ls

then resize the window. :)
2014-09-10 16:57:32 +09:00