From 962291cc8efc639ce2cabffe7083536fa86ca992 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 12 Jun 2019 13:41:46 +0530 Subject: [PATCH] Document another command --- kitty/cmds.py | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/kitty/cmds.py b/kitty/cmds.py index 63712b6ae..a354faaa6 100644 --- a/kitty/cmds.py +++ b/kitty/cmds.py @@ -620,6 +620,16 @@ the id of the new window will not be printed out. argspec='[CMD ...]' ) def cmd_new_window(global_opts, opts, args): + ''' + args+: The command line to run in the new window, as a list, use an empty list to run the default shell + match: The tab to open the new window in + title: Title for the new window + cwd: Working directory for the new window + tab_title: Title for the new tab + window_type: One of :code:`kitty` or :code:`os` + no_response: Boolean indicating whether to send a response or not + keep_focus: Boolean indicating whether the current window should retain focus or not + ''' if opts.no_response: global_opts.no_command_response = True return {'match': opts.match, 'title': opts.title, 'cwd': opts.cwd, @@ -629,28 +639,29 @@ def cmd_new_window(global_opts, opts, args): def new_window(boss, window, payload): - w = SpecialWindow(cmd=payload['args'] or None, override_title=payload['title'], cwd=payload['cwd']) + pg = cmd_new_window.payload_get + w = SpecialWindow(cmd=payload['args'] or None, override_title=pg(payload, 'title'), cwd=pg(payload, 'cwd')) old_window = boss.active_window - if payload['new_tab']: + if pg(payload, 'new_tab'): boss._new_tab(w) tab = boss.active_tab - if payload['tab_title']: - tab.set_title(payload['tab_title']) + if pg(payload, 'tab_title'): + tab.set_title(pg(payload, 'tab_title')) wid = boss.active_window.id - if payload['keep_focus'] and old_window: + if pg(payload, 'keep_focus') and old_window: boss.set_active_window(old_window) - return None if payload['no_response'] else str(wid) + return None if pg(payload, 'no_response') else str(wid) - if payload['window_type'] == 'os': + if pg(payload, 'window_type') == 'os': boss._new_os_window(w) wid = boss.active_window.id - if payload['keep_focus'] and old_window: + if pg(payload, 'keep_focus') and old_window: os_window_id = boss.set_active_window(old_window) if os_window_id: focus_os_window(os_window_id) - return None if payload['no_response'] else str(wid) + return None if pg(payload, 'no_response') else str(wid) - match = payload['match'] + match = pg(payload, 'match') if match: tabs = tuple(boss.match_tabs(match)) if not tabs: @@ -659,9 +670,9 @@ def new_window(boss, window, payload): tabs = [boss.active_tab] tab = tabs[0] w = tab.new_special_window(w) - if payload['keep_focus'] and old_window: + if pg(payload, 'keep_focus') and old_window: boss.set_active_window(old_window) - return None if payload['no_response'] else str(w.id) + return None if pg(payload, 'no_response') else str(w.id) # }}}