1. 25 Feb, 2025 8 commits
  2. 24 Feb, 2025 3 commits
  3. 22 Feb, 2025 2 commits
  4. 21 Feb, 2025 3 commits
  5. 20 Feb, 2025 9 commits
  6. 19 Feb, 2025 5 commits
  7. 18 Feb, 2025 9 commits
  8. 17 Feb, 2025 1 commit
    • Jeremy Schlatter's avatar
      cmd: fix cursor flickering in progress bar · 5930aaeb
      Jeremy Schlatter authored
      The previous commit fixed flickering in the progress bar itself. Cursor
      flickering is harder to address.
      
      Cursor flickering could be fixed by hiding the cursor altogether while
      the progress bar is displayed. The downside of this is that if the
      program is killed in such a way that it can't clean up its state, it
      would leave the cursor invisible.
      
      Instead, this commit introduces an output buffer. All of the escape
      codes and content for a single progress update are written to a buffer,
      which is then flushed to the terminal all at once. This significantly
      decreases the time during which the terminal has seen the cursor-hiding
      code but has not yet seen the cursor-showing code, thus minimizing (but
      not 100% eliminating) cursor flickering.
      
      For more context, see:
      https://gitlab.gnome.org/GNOME/vte/-/issues/2837#note_2269501
      5930aaeb