mirror of
https://github.com/kovidgoyal/kitty
synced 2026-06-06 01:05:48 +02:00
Allow using env vars that resolve to a full cmdline as program in launch mappings
Fixes #8613
This commit is contained in:
@@ -156,6 +156,8 @@ Detailed list of changes
|
||||
|
||||
- macOS: Fix text color in visual window select ignoring the color theme (:iss:`8579`)
|
||||
|
||||
- Launch action: Allow using an env var that resolves to a full command-line as the program to launch (:pull:`8613`)
|
||||
|
||||
0.41.1 [2025-04-03]
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
@@ -141,6 +141,7 @@ from .utils import (
|
||||
platform_window_id,
|
||||
safe_print,
|
||||
sanitize_url_for_dispay_to_user,
|
||||
shlex_split,
|
||||
startup_notification_handler,
|
||||
timed_debug_print,
|
||||
which,
|
||||
@@ -2655,6 +2656,11 @@ class Boss:
|
||||
def launch(self, *args: str) -> None:
|
||||
from kitty.launch import launch, parse_launch_args
|
||||
opts, args_ = parse_launch_args(args)
|
||||
if args_ and ' ' in args_[0]:
|
||||
# this can happen for example with map f1 launch $EDITOR when $EDITOR is not a single command
|
||||
q = which(args_[0])
|
||||
if not q or (q is args_[0] and not os.access(q, os.X_OK)):
|
||||
args_[:1] = shlex_split(args_[0])
|
||||
if self.window_for_dispatch:
|
||||
opts.source_window = opts.source_window or f'id:{self.window_for_dispatch.id}'
|
||||
opts.next_to = opts.next_to or f'id:{self.window_for_dispatch.id}'
|
||||
|
||||
Reference in New Issue
Block a user