Remote control: Allow matching tabs by index number in currently active OS Window
Fixes #3708
This commit is contained in:
parent
858a6dc27e
commit
5e4c98eae6
3 changed files with 13 additions and 3 deletions
|
|
@ -90,6 +90,9 @@ To update |kitty|, :doc:`follow the instructions <binary>`.
|
|||
<https://github.com/be5invis/Iosevka>`_ font (requires Iosevka >= 7.0.4)
|
||||
(:iss:`297`)
|
||||
|
||||
- Remote control: Allow matching tabs by index number in currently active OS
|
||||
Window (:iss:`3708`)
|
||||
|
||||
|
||||
0.20.3 [2021-05-06]
|
||||
----------------------
|
||||
|
|
|
|||
|
|
@ -299,6 +299,12 @@ def match_tabs(self, match: str) -> Generator[Tab, None, None]:
|
|||
if q:
|
||||
found = True
|
||||
yield q
|
||||
elif field == 'index':
|
||||
tm = self.active_tab_manager
|
||||
if tm is not None and len(tm.tabs) > 0:
|
||||
idx = (int(pat.pattern) + len(tm.tabs)) % len(tm.tabs)
|
||||
found = True
|
||||
yield tm.tabs[idx]
|
||||
if not found:
|
||||
tabs = {self.tab_for_window(w) for w in self.match_windows(match)}
|
||||
for q in tabs:
|
||||
|
|
|
|||
|
|
@ -90,13 +90,14 @@ def __call__(self, key: str, opt_name: Optional[str] = None, missing: Any = None
|
|||
--match -m
|
||||
The tab to match. Match specifications are of the form:
|
||||
:italic:`field:regexp`. Where field can be one of:
|
||||
id, title, window_id, window_title, pid, cwd, env, cmdline.
|
||||
id, index, title, window_id, window_title, pid, cwd, env, cmdline.
|
||||
You can use the :italic:`ls` command to get a list of tabs. Note that for
|
||||
numeric fields such as id and pid the expression is interpreted as a number,
|
||||
numeric fields such as id, index and pid the expression is interpreted as a number,
|
||||
not a regular expression. When using title or id, first a matching tab is
|
||||
looked for and if not found a matching window is looked for, and the tab
|
||||
for that window is used. You can also use window_id and window_title to match
|
||||
the tab that contains the window with the specified id or title.
|
||||
the tab that contains the window with the specified id or title. The index number
|
||||
is used to match the nth tab in the currently active OS window.
|
||||
'''
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue