mate-desktop / mate-terminal

The MATE Terminal Emulator
http://www.mate-desktop.org
GNU General Public License v3.0
133 stars 73 forks source link

Lagging after moving cursor #349

Open petabyt opened 4 years ago

petabyt commented 4 years ago

Expected behaviour

No lag

Actual behaviour

Lag :-)

Steps to reproduce the behaviour

Go into terminal. Paste something in. "https://github.com/mate-desktop/mate-terminal/issues/new" seems to work.

After pasting (Ctrl+Shift+V), move cursor to beginning of line (far left), and immediately move cursor right, and experience the lag.

MATE general version

1.20.4

Package version

Linux Distribution

Debian 10 + MATE, here: https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/debian-live-10.4.0-amd64-mate.iso

Link to downstream report of your Distribution

TheJonny commented 3 years ago

Are you sure it's the terminal, not the shell? Is it reproducible on the text tty, too?

Are you using a visible bell in your shell?

I can reproduce the this or similar behavior with set bell-style visible in my .inputrc. straceing bash reveals the reason:

when I move the cursor to the left by holding down the arrow key I make too many key presses. for each superfluous one, bash wants to beep / flash. flashing the screen uses a short sleep:

pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "\33", 1)                       = 1
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "[", 1)                         = 1
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "D", 1)                         = 1
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, 0x7ffcb2890280) = 0
write(2, "\33[?5h\33[?5l", 10)          = 10

and keeping the arrow key press while the sleep accummulates more beeps and so more sleep.

petabyt commented 3 years ago

Sorry, I completely forgot about this. Whatever it was, I can't reproduce the issue anymore.