about summary refs log tree commit diff stats
path: root/termbox/termbox.c
Commit message (Collapse)AuthorAgeFilesLines
* 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-291-0/+9
| | | | | | | | | | | | | | | | | | | | 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-091-0/+2
| | | | | | | 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.
* 1731 - ah, now fully responsiveKartik K. Agaram2015-07-081-0/+5
| | | | The trick is to check for more events and not bother rendering if so.
* 1573Kartik K. Agaram2015-06-161-0/+8
|
* 1531 - enable termbox's mouse supportKartik K. Agaram2015-06-051-0/+1
|
* 1530 - switch to termbox's 256-color modeKartik K. Agaram2015-06-051-34/+10
|
* 1486 - repl: hitting enter now workingKartik K. Agaram2015-05-271-0/+5
|
* 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.
* 1323 - keyboard supports backspace and newlineKartik K. Agaram2015-05-101-4/+1
| | | | | | 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
* 1276 - make C++ version the defaultKartik K. Agaram2015-05-051-0/+562
I've tried to update the Readme, but there are at least a couple of issues.
9 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615