Jakub Sobon
10d4a55348
Provide metadata to widgets when drawing.
2019-04-03 23:13:18 -04:00
Jakub Sobon
ad0b42162f
Fixing termdash_test.
2019-03-30 01:46:55 -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
4465dced2d
Wait for subscribers to process events.
2019-03-02 18:24:10 -05:00
Jakub Sobon
50c00a2c8f
Moving fakewidget to the internal subdirectory.
2019-02-24 22:36:09 -05:00
Jakub Sobon
b25d20c8ae
Mouse and keyboard are also public.
2019-02-24 02:08:48 -05:00
Jakub Sobon
b74f46509b
Moving runewidth, segdisp and testdraw to internal.
2019-02-24 01:27:17 -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
2ff14a4477
EDS now has the ability to throttle repetitive events.
...
And fixing capture of loop variable in parallel tests.
2019-02-21 01:14:25 -05:00
Jakub Sobon
8e27431486
Parallelism for event_test too.
2019-02-21 00:32:57 -05:00
Jakub Sobon
94f3c69f7e
Running termdash_test in parallel.
2019-02-21 00:05:56 -05:00
Jakub Sobon
d100f6fc24
Switching termdash test to common spinlock utility.
...
And delaying redraws to allow fast widgets to process the input event.
2019-02-20 23:35:26 -05:00
Jakub Sobon
f09e1be361
Fixing data races in tests.
...
The EDS is concurrent by design.
2019-02-20 01:32:23 -05:00
Jakub Sobon
36bf99ebc7
Fixing invalid use of time.Timer.
...
Timer fires only once. Needs to be recreated.
2019-02-19 23:37:37 -05:00
Jakub Sobon
772fdae7cc
Moving eventqueue into new event directory.
2019-02-18 22:56:20 -05:00
Jakub Sobon
9fcc00f462
Increasing the time allowed for Run to finish its operation.
2019-01-26 22:53:03 -05:00
Jakub Sobon
9a7e7b5af8
Support variable size container splits.
2019-01-14 01:11:55 -05:00
Jakub Sobon
964d676e31
Allowing container.Option to report an error.
2019-01-14 00:08:20 -05:00
Jakub Sobon
31f3862524
Removing two races in termdash_test.
...
- run the after() func after the event queue is emptied.
- close termdash before comparing the content of the fake terminal,
the background redraw() function could still race with the faketerm.Diff
function which isn't thread safe.
2018-06-23 20:52:32 -04:00
Jakub Sobon
1f41c7afee
First empty the queue, then redraw.
2018-06-19 21:46:03 -04:00
Jakub Sobon
7ceec7a572
Support manually triggered redraw.
...
This can be a more viable option for some users as it is less resource
intensive. The user knows when the data in any of the widget changed and
thus can trigger a redraw. External events still redraw the terminal
immediately.
Done here:
- Added a controller for the manually triggered redraws.
- Added an example of using termdash with triggered redraw.
- Removing couple of races in the test by waiting for the event queue to
empty before comparing values and by moving the test of terminal resize
into the test that triggers redraws.
2018-06-18 20:13:20 +01:00
Jakub Sobon
039a028ff9
Fixing issues reported by go vet.
2018-05-08 01:20:48 +01:00
Jakub Sobon
09464a2db7
Improving error handling.
2018-05-07 21:30:38 +01:00
Jakub Sobon
b42236a117
Adding missing licences.
2018-04-23 14:26:26 +01:00
Jakub Sobon
6fe129c940
Implementing the infrastructure layer.
2018-04-23 01:05:54 +01:00