Skip to content

Ctrl+L to Repaint ScreenΒ #2703

@GfEW

Description

@GfEW

The Problem

A TUI can get messed up for various reasons, and gitui is no exception.
A simple trigger that's reproducible with gitui is running it in the internal shell in Midnight Commander - a setup that would be very convenient, if it weren't so badly impeded by gitui (as of v0.27.0) losing its shape as soon as mc's panels are toggled (Ctrl+O).

Suggested Solution

Like most other TUI tools, gitui should offer a dedicated command, readily bound to a keyboard shortcut (preferably Ctrl+L), that repaints the entire screen content that's meant to be displayed.

Additional Context

  • Screenshot:Image
  • Proper display can be restored to some extend by cycling through tabs - the more content, the better, because gitui redraws the changed areas of the terminal. E. g. the Log tab with many verbose messages often suffices to restore the left 60% or so. However, this workaround is both cumbersome and incomplete, disturbing fragments remain. At the end, exiting and restarting gitui is the only real remedy I know.
  • Examples of TUI applications without this bug include mc's own TUI (with panels on), as well as less, mutt, vim, htop, aptitude - you name it. When run in mc's internal terminal and panels are toggled, they either don't get deranged, in the first place, or a quick Ctrl+L will completely resolve the mess.
  • The same holds if you test gitui vs. other TUI applications outside mc, e. g. by forcing garbage onto them, as in echo "garbage" > /dev/pts/8. All of the above examples (and many more) are instantaneously set back in order by a simple Ctrl+L.
  • Possibly related (even if remotely): Enable shell job control / don't catch Ctrl + ZΒ #1077

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions