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

Active tab focus lost if an inactive tab session ends #3398

daflip opened this issue Mar 16, 2021 · 0 comments

Active tab focus lost if an inactive tab session ends #3398

daflip opened this issue Mar 16, 2021 · 0 comments


Copy link

daflip commented Mar 16, 2021

For compliance purposes I have to have an idle timeout set in my shell. Because I've this setting enabled, my idle sessions exit after some time when I'm not using them and so I'm hitting this bug a lot. When an inactive tab exits the tab focus in Kitty is switched to another tab (not sure what the pattern is).

Describe the bug
Active tab focus lost if an inactive tab session ends

To Reproduce
Steps to reproduce the behavior:

  1. Open several tabs (at least 3), to differentiate the tabs open an editor or something in the first tab as this will be the 'active' tab for the test
  2. In the last tab, apply a 5 second idle timeout using: export TMOUT=5
  3. Switch back to the first tab and wait for the idle timer to kick in.. observe what happens to the current tab focus

Expected behavior
The active tab should remain in focus

Environment details
OS: debian buster / kernel 4.19

Output of kitty --debug-config

[075 12:02:15.321984] Shortcut: kitty_mod+equals has unknown key, ignoring
Running under: X11

Config options different from defaults:
active_border_color     Color(red=102, green=102, blue=102)
active_tab_background   Color(red=248, green=248, blue=242)
active_tab_font_style   (True, False)
active_tab_foreground   Color(red=40, green=42, blue=54)
adjust_line_height      3
background              Color(red=40, green=42, blue=54)
close_on_child_death    True
color0                  Color(red=33, green=34, blue=44)
color1                  Color(red=255, green=85, blue=85)
color10                 Color(red=105, green=255, blue=148)
color11                 Color(red=255, green=255, blue=165)
color12                 Color(red=214, green=172, blue=255)
color13                 Color(red=255, green=146, blue=223)
color14                 Color(red=164, green=255, blue=255)
color2                  Color(red=80, green=250, blue=123)
color3                  Color(red=255, green=133, blue=0)
color4                  Color(red=189, green=147, blue=249)
color5                  Color(red=255, green=121, blue=198)
color6                  Color(red=139, green=233, blue=253)
color7                  Color(red=248, green=248, blue=242)
color8                  Color(red=98, green=114, blue=164)
color9                  Color(red=255, green=255, blue=255)
cursor                  Color(red=248, green=248, blue=242)
cursor_blink_interval   0.0
cursor_text_color       None
dim_opacity             1.0
editor                  vim
enable_audio_bell       False
font_family             FantasqueSansMono
font_size               10.0
foreground              Color(red=248, green=248, blue=242)
inactive_border_color   Color(red=51, green=51, blue=51)
inactive_tab_background Color(red=98, green=114, blue=164)
inactive_tab_foreground Color(red=40, green=42, blue=54)
inactive_text_alpha     0.8
macos_titlebar_color    858993410
selection_background    Color(red=68, green=71, blue=90)
selection_foreground    Color(red=255, green=255, blue=255)
tab_bar_margin_width    4.0
tab_fade                (1.0, 1.0, 1.0)
term                    xterm
url_color               Color(red=139, green=233, blue=253)
window_border_width     (1.0, 'pt')
window_margin_width     FloatEdges(left=3.0, top=3.0, right=3.0, bottom=3.0)
window_padding_width    FloatEdges(left=5.0, top=5.0, right=5.0, bottom=5.0)
Added shortcuts:
	shift+control+p > shift+o KeyAction(func='kitten', args=['hints', '--type path'])
Removed shortcuts:
	shift+insert KeyAction(func='paste_from_selection', args=())
	shift+control+comma KeyAction(func='move_tab_backward', args=())
	shift+control+period KeyAction(func='move_tab_forward', args=())
	shift+control+1 KeyAction(func='first_window', args=())
	shift+control+2 KeyAction(func='second_window', args=())
	shift+control+3 KeyAction(func='third_window', args=())
	shift+control+4 KeyAction(func='fourth_window', args=())
	shift+control+5 KeyAction(func='fifth_window', args=())
	shift+control+6 KeyAction(func='sixth_window', args=())
	shift+control+7 KeyAction(func='seventh_window', args=())
	shift+control+a > 1 KeyAction(func='set_background_opacity', args=['1'])
	shift+control+a > d KeyAction(func='set_background_opacity', args=['default'])
	shift+control+a > l KeyAction(func='set_background_opacity', args=['-0.1'])
	shift+control+a > m KeyAction(func='set_background_opacity', args=['+0.1'])
	shift+control+b KeyAction(func='move_window_backward', args=())
	shift+control+e KeyAction(func='kitten', args=['hints'])
	shift+control+f KeyAction(func='move_window_forward', args=())
	shift+control+j KeyAction(func='scroll_line_down', args=())
	shift+control+k KeyAction(func='scroll_line_up', args=())
	shift+control+n KeyAction(func='new_os_window', args=())
	shift+control+o KeyAction(func='pass_selection_to_program', args=())
	shift+control+p > l KeyAction(func='kitten', args=['hints', '--type line --program -'])
	shift+control+p > n KeyAction(func='kitten', args=['hints', '--type linenum'])
	shift+control+p > w KeyAction(func='kitten', args=['hints', '--type word --program -'])
	shift+control+p > y KeyAction(func='kitten', args=['hints', '--type hyperlink'])
	shift+control+p > shift+f KeyAction(func='kitten', args=['hints', '--type path'])
	shift+control+q KeyAction(func='close_tab', args=())
	shift+control+r KeyAction(func='start_resizing_window', args=())
	shift+control+s KeyAction(func='paste_from_selection', args=())
	shift+control+u KeyAction(func='kitten', args=['unicode_input'])
	shift+control+w KeyAction(func='close_window', args=())
	shift+control+left_bracket KeyAction(func='previous_window', args=())
	shift+control+right_bracket KeyAction(func='next_window', args=())
	shift+control+grave_accent KeyAction(func='move_window_to_top', args=())
	shift+control+escape KeyAction(func='kitty_shell', args=['window'])
	shift+control+enter KeyAction(func='new_window', args=())
	shift+control+delete KeyAction(func='clear_terminal', args=['reset', True])
	shift+control+down KeyAction(func='scroll_line_down', args=())
	shift+control+up KeyAction(func='scroll_line_up', args=())
	shift+control+page_up KeyAction(func='scroll_page_up', args=())
	shift+control+page_down KeyAction(func='scroll_page_down', args=())
	shift+control+home KeyAction(func='scroll_home', args=())
	shift+control+end KeyAction(func='scroll_end', args=())
	shift+control+f2 KeyAction(func='edit_config_file', args=())
	shift+control+f10 KeyAction(func='toggle_maximized', args=())
	shift+control+f11 KeyAction(func='toggle_fullscreen', args=())
	shift+control+alt+t KeyAction(func='set_tab_title', args=())
Changed shortcuts:
	shift+control+minus KeyAction(func='change_font_size', args=(True, '-', 3.0))
	shift+control+0 KeyAction(func='change_font_size', args=(True, None, 0.0))
	shift+control+8 KeyAction(func='goto_layout', args=['fat:bias=65'])
	shift+control+9 KeyAction(func='goto_layout', args=['tall:bias=65'])
	shift+control+equal KeyAction(func='change_font_size', args=(True, '+', 1.0))
	shift+control+h KeyAction(func='previous_tab', args=())
	shift+control+l KeyAction(func='next_tab', args=())

Additional Context
This is reproducible using kitty --config NONE

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

No branches or pull requests

1 participant