1
0
mirror of https://github.com/mum4k/termdash.git synced 2025-04-27 13:48:49 +08:00

29 Commits

Author SHA1 Message Date
Jakub Sobon
09d8a5b0d9
Add missing test coverage for negative MaxTextCells. 2021-04-03 17:12:35 -04:00
Jakub Sobon
4238ac6f76
Implements a buffer limit for the Text widget. (#301)
See issue #293 where memory and performance can degrade with a high number of lines written to the Text widget. 

This is a very simplistic implementation to limit the possible length the text buffer can grow to with the `maxContent` option. 

Default value of -1 means there's no limit and therefore behaviour should remain standard.

It has been working in our test app and allows the use of the Text widget to monitor logs (ie tail) and therefore doesn't bloat over time, but happy to adjust as required.
2021-04-03 17:04:53 -04:00
Jakub Sobon
dd6acb15e1
Give metadata about events to widgets. 2020-11-24 22:03:58 -05:00
Jakub Sobon
b2c182063b
Formatting files and adding test coverage. 2020-11-13 02:29:25 -05:00
Jakub Sobon
06eb7623bd
Modifying imports 'internal' -> 'private'. 2020-04-10 15:26:45 -04:00
Jakub Sobon
10d4a55348
Provide metadata to widgets when drawing. 2019-04-03 23:13:18 -04:00
Jakub Sobon
b020770733
Moving widgetapi out of internal.
This will allow external users to develop their own widgets.
2019-03-02 22:00:07 -05:00
Jakub Sobon
2742487fc0
The text widget now wraps at words. 2019-03-02 17:56:37 -05:00
Jakub Sobon
87cab66617
Simplifying the text widget.
This results in a better line wrapping abstraction which now works on
cells. Cells contain both the rune and the cell options which were
awkward to track separately.
2019-02-28 00:50:16 -05:00
Jakub Sobon
b25d20c8ae
Mouse and keyboard are also public. 2019-02-24 02:08:48 -05:00
Jakub Sobon
98394c921a
Moving draw back to internal.
Adding test for linestyle.
2019-02-24 01:54:37 -05:00
Jakub Sobon
b74f46509b
Moving runewidth, segdisp and testdraw to internal. 2019-02-24 01:27:17 -05:00
Jakub Sobon
bf61ca1479
Moving draw out of internal. 2019-02-24 01:20:03 -05:00
Jakub Sobon
97ec73069f
Moving align, cell and terminalapi back from internal. 2019-02-24 01:13:26 -05:00
Jakub Sobon
8df9e3307c
Moving faketerm to internal. 2019-02-24 01:09:23 -05:00
Jakub Sobon
bf38f10d25
Moving terminal back to public. 2019-02-24 01:04:57 -05:00
Jakub Sobon
5ac468c10a
Moving terminal, terminalapi and widgetapi to internal subdirectory.
And adding a README under internal.
2019-02-23 21:19:16 -05:00
Jakub Sobon
2ff1818c0e
Moving keyboard and mouse to internal. 2019-02-23 21:11:50 -05:00
Jakub Sobon
6c03991fb9
Moving draw and event to internal. 2019-02-23 21:10:51 -05:00
Jakub Sobon
7ee222ac58
Moving private libraries into internal subdirectory. 2019-02-23 21:09:38 -05:00
Jakub Sobon
0490734d1e
Running gofmt. 2019-02-23 00:42:47 -05:00
Jakub Sobon
22946f2f65
Allowing widgets to select the scope for mouse events too. 2019-02-23 00:41:58 -05:00
Jakub Sobon
0df7387862
Widgets can now register for global keyboard events. 2019-02-22 00:33:55 -05:00
Jakub Sobon
38a2a36234
Adding Text Write option that atomically replaces the text content. 2019-02-15 00:40:15 -05:00
Jakub Sobon
2784a1c7a0
Constructor of Text now returns an error. 2019-02-15 00:20:20 -05:00
Andrea Manzini
ceae209ba2 cleanup lint issues 2019-01-19 16:16:19 +01:00
Jakub Sobon
929bf2b8fc
The text widget now supports full-width runes.
Refactoring the draw() implementation to make it more readable:
- taking out the line trimming logic.
- taking out the drawing of the scroll up/down markers.
2018-05-20 22:51:38 +01:00
Jakub Sobon
ecb27cd1c5
Adding licence. 2018-05-14 22:45:40 +01:00
Jakub Sobon
d6c153fbaf
Implementing the text widget.
And adding a demo.
2018-05-14 22:16:14 +01:00