Skip to content

Open Actions launch neovim twice #10066

Description

@jemabaris

Describe the bug
Today I discovered open-actions that can be defined via 'open-actions.conf' and after setting everything up as suggested (at least I think so) I discovered that when I want to launch neovim with 'fragment_matches' from a ripgrep result, it's actually being opened twice as overlay. Once correctly at the fragment line, and a second time not at the fragment, seemingly triggered by the broader 'mime text/*' action.
My understanding was that whatever action matches first is the one being used, but not all matching actions.

My open-actions.conf

# Open any file with a fragment in the editor, fragments are generated
# by the ripgrep 'hyperlink-format=kitty' flag.
protocol file
fragment_matches [0-9]+
action launch --type=overlay --cwd=current nvim +${FRAGMENT} -- ${FILE_PATH}

# Open text files without fragments in the editor
protocol file
mime text/*
action launch --type=overlay --cwd=current -- ${EDITOR} -- ${FILE_PATH}

# Open image files in an overlay window with icat
protocol file
mime image/*
action launch --type=overlay kitty +kitten icat --hold $FILE_PATH

My .zshrc config

# Alias grep to ripgrep (if available)
if command -v rg >/dev/null 2>&1; then
  alias grep='rg --color=always --smart-case --hidden --hyperlink-format=kitty'
  alias rg='rg --color=always --smart-case --hidden --hyperlink-format=kitty'
  alias rg='rg --color=always --smart-case --hidden --hyperlink-format=kitty'
  alias rgi='rg -i --color=always --hidden --hyperlink-format=kitty'
  alias rgf='rg --files --color=always --hidden --hyperlink-format=kitty'
else
  alias grep='grep --color=auto'
fi

Environment details

kitty 0.47.0 (2d9b104134) created by Kovid Goyal
Linux janis-arch 7.0.9-arch1-1 #1 SMP PREEMPT_DYNAMIC Sun, 17 May 2026 17:23:07 +0000 x86_64
EndeavourOS 7.0.9-arch1-1 (/dev/tty)
DISTRIB_ID="EndeavourOS"
DISTRIB_RELEASE="rolling"
DISTRIB_DESCRIPTION="EndeavourOS Linux"
DISTRIB_CODENAME="rolling"
Running under: Wayland (Hyprland v0.55.2,) missing: blur icon key-repeat top_level_drag
OpenGL: '3.1.0 NVIDIA 595.71.05' Detected version: 3.1
Frozen: False
Fonts:
  medium: MonoLisa: /usr/share/fonts/MonoLisa/MonoLisa-normal.ttf:0
          Features: ()
    bold: MonoLisaNormal-SemiBold: /usr/share/fonts/MonoLisa/MonoLisa-normal.ttf:393216
          Features: ()
  italic: MonoLisa: /usr/share/fonts/MonoLisa/MonoLisa-italic.ttf:262144
          Features: ()
      bi: MonoLisaItalic-SemiBold: /usr/share/fonts/MonoLisa/MonoLisa-italic.ttf:393216
          Features: ()
Paths:
  kitty: /home/janis/Repos/kitty/kitty/launcher/kitty
  base dir: /home/janis/Repos/kitty
  extensions dir: /home/janis/Repos/kitty/kitty
  system shell: /bin/zsh
System color scheme: dark. Applied color theme type: none
Loaded config files:
  /home/janis/.config/kitty/kitty.conf

Config options different from defaults:
allow_remote_control          yes
background_opacity            0.85
confirm_os_window_close       (0, False)
cursor_blink_interval         (0.0, kitty.options.utils.EasingFunction(), kitty.options.utils.EasingFunction())
cursor_trail                  10
cursor_trail_start_threshold  0
disable_ligatures             1
dynamic_background_opacity    True
enabled_layouts               ['tall', 'fat', 'grid', 'horizontal', 'splits', 'stack', 'vertical']
font_family                   family=MonoLisa
font_size                     12.0
listen_on                     unix:@mykitty
modify_font:
    cell_height 110%
remember_window_size          False
scrollback_lines              50000
scrollback_pager              ['nvim', '--cmd', 'set eventignore=FileType', '+nnoremap q ZQ', '+call nvim_open_term(0, {})', '+set nomodified nolist', '+$', '-']
scrollback_pager_history_size 67108864
scrollbar_track_hover_opacity 0.03
shell                         zsh
shell_integration             frozenset({'no-cursor'})
tab_bar_edge                  2
tab_bar_style                 powerline
tab_title_template            {index}{" "}{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{tab.last_focused_progress_percent}{title}
text_composition_strategy     1.0 15
window_padding_width          FloatEdges(left=12.0, top=12.0, right=12.0, bottom=12.0)
Changed mouse actions:
	ctrl+shift+right press ungrabbed →  combine : mouse_select_command_output : kitty_scrollback_nvim --config ksb_builtin_last_visited_cmd_output
Added shortcuts:
	alt+down →  [--when-focus-on=var:IS_NVIM]no-op, kitten relative_resize.py down  3
	alt+left →  kitten relative_resize.py left  3
	alt+right →  [--when-focus-on=var:IS_NVIM]no-op, kitten relative_resize.py right 3
	alt+u →  [--when-focus-on=var:IS_NVIM]no-op
	alt+up →  kitten relative_resize.py up    3
	ctrl+alt+1 →  goto_tab 1
	ctrl+alt+2 →  goto_tab 2
	ctrl+alt+3 →  goto_tab 3
	ctrl+alt+4 →  goto_tab 4
	ctrl+alt+5 →  goto_tab 5
	ctrl+alt+6 →  goto_tab 6
	ctrl+alt+7 →  goto_tab 7
	ctrl+alt+8 →  goto_tab 8
	ctrl+alt+9 →  goto_tab 9
	ctrl+alt+l →  next_layout
	ctrl+alt+left →  send_text all \x1b[1;7D
	ctrl+alt+right →  send_text all \x1b[1;7C
	ctrl+alt+t →  new_tab_with_cwd !neighbor
	ctrl+alt+tab →  select_tab
	ctrl+down →  neighboring_window down
	ctrl+h →  [--when-focus-on=title:tmux]no-op, [--when-focus-on=var:IS_NVIM]no-op, neighboring_window left
	ctrl+j →  [--when-focus-on=title:tmux]no-op, [--when-focus-on=var:IS_NVIM]no-op, neighboring_window down
	ctrl+k →  [--when-focus-on=title:tmux]no-op, [--when-focus-on=var:IS_NVIM]no-op, neighboring_window up
	ctrl+l →  [--when-focus-on=title:tmux]no-op, [--when-focus-on=var:IS_NVIM]no-op, neighboring_window right
	ctrl+left →  neighboring_window left
	ctrl+right →  neighboring_window right
	ctrl+up →  neighboring_window up
	shift+super+/ →  open_url https://sw.kovidgoyal.net/kitty/
Changed shortcuts:
	kitty_mod+, →  load_config_file
	kitty_mod+l →  send_text all \x1b[1;6L
Colors:
	active_border_color           #82aaff   
	active_tab_background         #82aaff   
	active_tab_foreground         #1e2030   
	background                    #222436   
	color0                        #1b1d2b   
	color1                        #ff757f   
	color10                       #c7fb6d   
	color11                       #ffd8ab   
	color12                       #9ab8ff   
	color13                       #caabff   
	color14                       #b2ebff   
	color15                       #c8d3f5   
	color16                       #ff966c   
	color17                       #c53b53   
	color2                        #c3e88d   
	color3                        #ffc777   
	color4                        #82aaff   
	color5                        #c099ff   
	color6                        #86e1fc   
	color7                        #828bb8   
	color8                        #444a73   
	color9                        #ff8d94   
	cursor                        #c8d3f5   
	cursor_text_color             #222436   
	foreground                    #c8d3f5   
	inactive_border_color         #2f334d   
	inactive_tab_background       #2f334d   
	inactive_tab_foreground       #545c7e   
	selection_background          #2d3f76   
	selection_foreground          #c8d3f5   
	url_color                     #4fd6be   

Important environment variables seen by the kitty process:
	PATH                                /usr/local/sbin:/usr/local/bin:/usr/bin:/home/janis/.local/bin:/opt/cuda/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/opt/rocm/bin:/usr/lib/rustup/bin:/var/lib/snapd/snap/bin
	LANG                                en_US.UTF-8
	VISUAL                              nvim
	EDITOR                              nvim
	SHELL                               /bin/zsh
	DISPLAY                             :0
	WAYLAND_DISPLAY                     wayland-1
	USER                                janis
	XCURSOR_SIZE                        24
	XDG_SESSION_PATH                    /org/freedesktop/DisplayManager/Session1
	XDG_BACKEND                         wayland
	LC_ADDRESS                          de_DE.UTF-8
	LC_NAME                             de_DE.UTF-8
	LC_MONETARY                         de_DE.UTF-8
	XDG_SEAT                            seat0
	XDG_SESSION_DESKTOP                 Hyprland
	XDG_SESSION_TYPE                    wayland
	LC_PAPER                            de_DE.UTF-8
	XDG_CURRENT_DESKTOP                 Hyprland
	XDG_SEAT_PATH                       /org/freedesktop/DisplayManager/Seat0
	XDG_SESSION_CLASS                   user
	LC_IDENTIFICATION                   de_DE.UTF-8
	LC_TELEPHONE                        de_DE.UTF-8
	LC_MEASUREMENT                      de_DE.UTF-8
	XDG_VTNR                            2
	XDG_SESSION_ID                      3
	XDG_RUNTIME_DIR                     /run/user/1000
	LC_TIME                             de_DE.UTF-8
	XDG_DATA_DIRS                       /home/janis/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop
	LC_NUMERIC                          de_DE.UTF-8

Looking forward to hearing back from you,
all the best

Janis

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions