kovidgoyal / kitty

Cross-platform, fast, feature-rich, GPU based terminal
https://sw.kovidgoyal.net/kitty/
GNU General Public License v3.0
22.14k stars 907 forks source link

Prompt not visible after resetting the terminal #7385

Closed screendriver closed 3 weeks ago

screendriver commented 3 weeks ago

Describe the bug

Initial state:

Screenshot 2024-04-24 at 09 53 16

Now when hitting cmd+k (clear up to cursor line) the prompt is still visible:

Screenshot 2024-04-24 at 09 53 24

But when hitting opt+cmd+r (reset the terminal) the prompt is not visible anymore:

Screenshot 2024-04-24 at 09 53 37

Shouldn't opt+cmd+r work like the clear command? Because when doing a clear the prompt is still visible.

To Reproduce Steps to reproduce the behavior:

  1. produce some output in the terminal
  2. hit opt+cmd+r

Screenshots Already done.

Environment details

kitty 0.34.1 (7f61f1f9f3) created by Kovid Goyal
Darwin MacBook-Pro 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:12:25 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_T6030 arm64
ProductName:            macOS ProductVersion:           14.4.1 BuildVersion:            23E224
Frozen: True
Paths:
  kitty: /Applications/kitty.app/Contents/MacOS/kitty
  base dir: /Applications/kitty.app/Contents/Resources/kitty
  extensions dir: /Applications/kitty.app/Contents/Resources/Python/lib/kitty-extensions
  system shell: /bin/zsh
Loaded config files:
  /Users/me/.config/kitty/kitty.conf

Config options different from defaults:
allow_remote_control          yes
bold_font                     JetBrainsMono Nerd Font Bold
bold_italic_font              JetBrainsMono Nerd Font Bold Italic
confirm_os_window_close       1
copy_on_select                clipboard
cursor_text_color             None
enable_audio_bell             False
font_family                   JetBrainsMono Nerd Font Regular
font_size                     13.0
italic_font                   JetBrainsMono Nerd Font Italic
listen_on                     unix:$TMPDIR/kitty
macos_show_window_title_in    window
macos_titlebar_color          1
modify_font:
    cell_height 120%
mouse_hide_wait               -1.0
scrollback_pager_history_size 10485760
shell_integration             frozenset({'no-cursor'})
tab_activity_symbol           *
tab_bar_style                 powerline
tab_powerline_style           round
Added shortcuts:
        cmd+left →  send_text all \x1bOH
        cmd+right →  send_text all \x1bOF
        ctrl+cmd+enter →  launch --cwd=current
        ctrl+cmd+m →  toggle_maximized
        ctrl+h →  kitten pass_keys.py neighboring_window left   ctrl+h
        ctrl+j →  kitten pass_keys.py neighboring_window bottom ctrl+j
        ctrl+k →  kitten pass_keys.py neighboring_window top    ctrl+k
        ctrl+l →  kitten pass_keys.py neighboring_window right  ctrl+l
        kitty_mod+m →  toggle_layout stack
        opt+left →  send_text all \x1B\x62
        opt+right →  send_text all \x1B\x66
        shift+down →  move_window down
        shift+left →  move_window left
        shift+right →  move_window right
        shift+up →  move_window up
Removed shortcuts:
        cmd+, →  edit_config_file
        cmd+enter →  new_window
        cmd+h →  hide_macos_app
        cmd+k →  clear_terminal to_cursor active
        cmd+m →  minimize_macos_window
        cmd+n →  new_os_window
        cmd+q →  quit
        cmd+t →  new_tab
        cmd+w →  close_tab
        ctrl+cmd+, →  load_config_file
        ctrl+cmd+f →  toggle_fullscreen
        opt+cmd+h →  hide_macos_other_apps
        opt+cmd+r →  clear_terminal reset active
        opt+cmd+s →  toggle_macos_secure_keyboard_entry
        shift+cmd+/ →  open_url https://sw.kovidgoyal.net/kitty/
        shift+cmd+[ →  previous_tab
        shift+cmd+] →  next_tab
        shift+cmd+d →  close_window
        shift+cmd+w →  close_os_window
Changed shortcuts:
        kitty_mod+` →  change_font_size all +2.0
        kitty_mod+c →  previous_window
        kitty_mod+p > f →  kitten hints --type linenum nvim +{line} {path}, kitten hints --type hash --program @, kitten hints --type hyperlink, kitten hints --type word --program -, kitten hints --type line --program -, kitten hints --typ>
Colors:
        active_tab_background         #f8f8f2   
        active_tab_foreground         #282a36   
        background                    #282a36   
        color0                        #21222c   
        color1                        #ff5555   
        color10                       #69ff94   
        color11                       #ffffa5   
        color12                       #d6acff   
        color13                       #ff92df   
        color14                       #a4ffff   
        color2                        #50fa7b   
        color3                        #f1fa8c   
        color4                        #bd93f9   
        color5                        #ff79c6   
        color6                        #8be9fd   
        color7                        #f8f8f2   
        color8                        #6272a4   
        color9                        #ff6e6e   
        cursor                        #f8f8f2   
        foreground                    #f8f8f2   
        inactive_tab_background       #6272a4   
        inactive_tab_foreground       #282a36   
        mark1_background              #ff5555   
        mark1_foreground              #282a36   
        selection_background          #44475a   
        selection_foreground          #ffffff   
        url_color                     #8be9fd   

Important environment variables seen by the kitty process:
        PATH                                /Applications/kitty.app/Contents/MacOS:/usr/bin:/bin:/usr/sbin:/sbin
        LANG                                en_US.UTF-8
        SHELL                               /bin/zsh
        USER                                me

Additional context

Try to reproduce the problem with kitty --config NONE: same issue.

kovidgoyal commented 3 weeks ago

Nope. The prompt is drawn by the shell. The shell cannot know the screen has been cleared so it doesnt redraw the prompt on reset. If you want it to do that you need to trigger the reset from shell not from kitty.