about summary refs log tree commit diff stats
path: root/termbox
Commit message (Collapse)AuthorAgeFilesLines
* 3488 -Kartik K. Agaram2016-10-081-1/+1
| | | | | | I'd messed up termbox in commit 3443; it was weird how it failed though. The terminal got really sluggish to switch between windows when the edit/ app was running. And it stopped clearing the screen properly.
* 3450Kartik K. Agaram2016-10-061-9/+0
| | | | Purge remaining `makefile`s, without breaking CI.
* 3444Kartik K. Agaram2016-10-061-3/+13
| | | | Fix CI. Turns out strlcpy and strlcat are not implemented on Linux.
* 3443Kartik K. Agaram2016-10-051-5/+5
| | | | Fix some OpenBSD warnings.
* 3222Kartik K. Agaram2016-08-181-0/+4
| | | | | | | | | | | | | Commit 3191 stopped defining _XOPEN_SOURCE when building termbox/ to get Mu to build on OpenBSD. However, that had the side effect of not declaring the prototype for wcwidth() on some versions of Linux. Ugh. Just hack around this morass. In general the direction we want to go in Mu is fewer feature #defines. At least explicit ones. Should be an internal detail of the underlying platform our code shouldn't have to worry about. If headers don't cooperate, just start explicitly declaring prototypes and damn the consequences.
* 3191 - now builds on OpenBSDKartik K. Agaram2016-08-161-1/+1
| | | | | | Looks like the _XOPEN_SOURCE #define isn't needed in termbox anymore, at least after I removed some features from it that I don't need. All it was doing is hiding SIGWINCH and likely other names as well.
* 2572Kartik K. Agaram2016-01-191-1/+1
|
* 2181 - detect shift-tabKartik K. Agaram2015-09-112-5/+10
| | | | Does nothing useful yet, though.
* 2142Kartik K. Agaram2015-09-041-4/+0
|
* 2141 - attempt to deal with slow networksKartik K. Agaram2015-09-041-16/+27
| | | | | | | | | | | | | On slow networks sometimes escape sequences were being partially consumed, causing junk to be added to the editor when you pressed arrow keys and so on. Now we have a way to wait. Empirically seems to work if I page-up and then scroll back up using up-arrow. Before I'd consistently get junk even on my local machine. Now I no longer do. If we still see problems I'll increase the wait time and see if the increase helps. Then we'll know more about this approach.
* 2132 - support for ctrl + arrow keysKartik K. Agaram2015-09-022-4/+27
|
* 2131 - better tb_sync()Kartik K. Agaram2015-09-021-6/+10
| | | | | | | | | For some reason porting the termbox-go implementation was still leaving some gunk from git on screen when I ran my usual test: $ mkdir lesson; cd lesson; git init; mu edit.mu Then hit F4, generating messages from git on the initial commit. Then hit ctrl-l to clear all git gunk.
* 2113 - stop updating entire screen on tb_present()Kartik K. Agaram2015-08-292-0/+12
| | | | | | | | | | | | | | | | | | | | Mu still isn't so optimized that I can be profligate with spare cycles. Instead we'll follow termbox-go's example and create a new API routine called tb_sync() (after discussion with termbox's author). Now we only need use tb_sync() on ctrl-l. For everything else use the optimized render. Now I think I've eradicated all signs of "cursor thrashing" during refresh, in spite of how slow mu is as an interpreted language. We only render the whole screen in some situations, and only if there's no more input, and even then we only refresh the parts of the screen that changed. Thanks Jack and Caleb Couch for providing the impetus behind commits 2109-2113. I've been lazy about writing tests for all this, but it's still good to know I could, if I wanted to.
* 2078 - update entire screen on tb_present()Kartik K. Agaram2015-08-261-4/+0
| | | | | | | | | | | | | | | | | | | Termbox had been taking shortcuts when it thinks the screen hasn't changed, which doesn't work if some other process messes up the screen. The Go version has a Sync method in addition to Flush/tb_present for precisely this eventuality. But it feels like an unnecessary optimization given C's general speed. Just drop it altogether. --- This took me a long time to track down, and interestingly I found myself writing a new tracing primitive before I remembered how to selectively trace just certain layers during manual tests. I'm scared of generating traces not because of performance but because of the visual noise. Be aware of this. I'm going to clean up $log now. Maybe I should also stop using $print..
* 1964 - don't mess up pasteKartik K. Agaram2015-08-094-12/+55
| | | | | | | It took me a long time to fix termbox because the escape codes it was seeing seemed all wrong. Had to stop calling tb_shutdown/printf and put in the extra 3 lines to log to a file. Then everything cleared up. Weird.
* 1859Kartik K. Agaram2015-07-271-1/+1
|
* 1731 - ah, now fully responsiveKartik K. Agaram2015-07-082-0/+7
| | | | The trick is to check for more events and not bother rendering if so.
* 1573Kartik K. Agaram2015-06-162-0/+9
|
* 1531 - enable termbox's mouse supportKartik K. Agaram2015-06-052-0/+12
|
* 1530 - switch to termbox's 256-color modeKartik K. Agaram2015-06-053-48/+17
|
* 1486 - repl: hitting enter now workingKartik K. Agaram2015-05-272-0/+7
|
* 1368 - alias carriage-return and newlineKartik K. Agaram2015-05-141-0/+3
| | | | | | | CRLF still shows as two newlines, though. Cross that bridge when we get to it. The new chessboard test is still hanging, though.
* 1327 - better error handling in chessboardKartik K. Agaram2015-05-101-2/+10
| | | | | Also a bugfix in break to label, because I noticed the screen wasn't being cleaned up on quit.
* 1325Kartik K. Agaram2015-05-103-0/+0
|
* 1323 - keyboard supports backspace and newlineKartik K. Agaram2015-05-105-4/+174
| | | | | | Lots mixed into this commit: some off-by-one errors in display.cc a new transform to translate jump labels that I'd somehow never gotten around to supporting
* 1319Kartik K. Agaram2015-05-101-6/+6
| | | | Allow termbox array sizes to be easily counted with 'wc'.
* 1314Kartik K. Agaram2015-05-091-1/+2
|
* 1313 - merge termboxKartik K. Agaram2015-05-092-4/+4
|
* 1276 - make C++ version the defaultKartik K. Agaram2015-05-059-0/+1384
I've tried to update the Readme, but there are at least a couple of issues.