Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kitty diff kitten can sometimes exhibit repainting issues #4831

Closed
salmankhilji opened this issue Mar 14, 2022 · 1 comment
Closed

kitty diff kitten can sometimes exhibit repainting issues #4831

salmankhilji opened this issue Mar 14, 2022 · 1 comment
Labels

Comments

@salmankhilji
Copy link

Describe the bug
kitty diff kitten can sometimes show a white screen. This may be sensitive to the current scroll position and the length of the input, so I am providing a simple git repo for easy repro.

To Reproduce
Steps to reproduce the behavior:

  1. Download this toy git repo and extract to some temporary directory.

  2. Launch kitty without any config:

    kitty -c NONE
    
  3. cd into the git repo.

  4. Launch the kitty:

    git difftool --no-symlinks --dir-diff 9add876^!
    
  5. Press the following key combos: END (to scroll to end), then a (to show all context), and then finally END again.

Observed Behavior

A white screen. I can scroll up and down with the arrow keys and parts of the screen that scroll back into the screen are repainted correctly.

Screenshots
Here is a screencast of the issue. You can play it with the asciinema tool, like this:

asciinema play bug.cast

Environment details

kitty 0.24.4 created by Kovid Goyal
Linux byteevo-scm 5.13.0-35-generic #40~20.04.1-Ubuntu SMP Mon Mar 7 09:18:32 UTC 2022 x86_64
Ubuntu 20.04.4 LTS byteevo-scm /dev/tty

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.4 LTS"
Running under: X11
Frozen: True
Paths:
  kitty: /home/precor/.local/kitty.app/bin/kitty
  base dir: /home/precor/.local/kitty.app/lib/kitty
  extensions dir: /home/precor/.local/kitty.app/lib/kitty-extensions
  system shell: /bin/bash

Config options different from defaults:

Important environment variables seen by the kitty process:
	PATH                                /home/precor/.nvm/versions/node/v14.18.2/bin:/opt/qt/5.15.2/gcc_64/bin:/home/precor/Android/Sdk/build-tools/30.0.3:/home/precor/Android/Sdk/emulator:/home/precor/Android/Sdk/platform-tools:/home/precor/Android/Sdk/cmdline-tools/latest/bin:/home/precor/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/precor/.local/flutter/bin:/home/precor/.pub-cache/bin
	LANG                                en_US.UTF-8
	SHELL                               /bin/bash
	DISPLAY                             :0
	USER                                precor
	XDG_CONFIG_DIRS                     /etc/xdg/xdg-ubuntu:/etc/xdg
	XDG_MENU_PREFIX                     gnome-
	XDG_SESSION_DESKTOP                 ubuntu
	XDG_SESSION_TYPE                    x11
	XDG_CURRENT_DESKTOP                 ubuntu:GNOME
	XDG_SESSION_CLASS                   user
	XDG_RUNTIME_DIR                     /run/user/1000
	XDG_DATA_DIRS                       /usr/share/ubuntu:/usr/local/share/:/usr/share/

Additional context

$ cat ~/.gitconfig 
[user]
	name = Salman A. Khilji
	email = salman.khilji@byteevo.com
[fetch]
	prune = true
[log]
	decorate = no
[color]
	ui = auto
[color "status"]
	branch = green
[diff]
	tool = kitty
	guitool = kitty.gui
	trustExitCode = true
[difftool "kitty"]
	cmd = kitty +kitten diff $LOCAL $REMOTE
[difftool "kitty.gui"]
	cmd = kitty --start-as=fullscreen kitty +kitten diff $LOCAL $REMOTE
[credential]
	helper = /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
@salmankhilji
Copy link
Author

Oddly enough, the screencast I attached does not play within kitty itself for some reason.

I can play it just fine using GNOME Terminal.

For best results, the terminal size must be 128x32.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant