Add a new mappable action open_url
This commit is contained in:
parent
37cdaea9ed
commit
a5bd1dcb08
@ -51,6 +51,7 @@ Detailed list of changes
|
|||||||
|
|
||||||
- Fix tab selection when closing a new tab not correct in some scenarios (:iss:`4987`)
|
- Fix tab selection when closing a new tab not correct in some scenarios (:iss:`4987`)
|
||||||
|
|
||||||
|
- A new action :ac:`open_url` to open the specified URL (:pull:`5004`)
|
||||||
|
|
||||||
0.25.0 [2022-04-11]
|
0.25.0 [2022-04-11]
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|||||||
@ -1513,6 +1513,7 @@ class Boss:
|
|||||||
if tab:
|
if tab:
|
||||||
tab.set_active_window(window_id)
|
tab.set_active_window(window_id)
|
||||||
|
|
||||||
|
@ac('misc', 'Open the specified URL')
|
||||||
def open_url(self, url: str, program: Optional[Union[str, List[str]]] = None, cwd: Optional[str] = None) -> None:
|
def open_url(self, url: str, program: Optional[Union[str, List[str]]] = None, cwd: Optional[str] = None) -> None:
|
||||||
if not url:
|
if not url:
|
||||||
return
|
return
|
||||||
|
|||||||
@ -91,6 +91,20 @@ def kitten_parse(func: str, rest: str) -> FuncArgsType:
|
|||||||
return func, [args[0]] + (to_cmdline(args[1]) if len(args) > 1 else [])
|
return func, [args[0]] + (to_cmdline(args[1]) if len(args) > 1 else [])
|
||||||
|
|
||||||
|
|
||||||
|
@func_with_args('open_url')
|
||||||
|
def open_url_parse(func: str, rest: str) -> FuncArgsType:
|
||||||
|
from urllib.parse import urlparse
|
||||||
|
url = ''
|
||||||
|
try:
|
||||||
|
url = python_string(rest)
|
||||||
|
tokens = urlparse(url)
|
||||||
|
if not all((tokens.scheme, tokens.netloc,)):
|
||||||
|
raise ValueError('Invalid URL')
|
||||||
|
except Exception:
|
||||||
|
log_error('Ignoring invalid URL string: ' + rest)
|
||||||
|
return func, (url,)
|
||||||
|
|
||||||
|
|
||||||
@func_with_args('goto_tab')
|
@func_with_args('goto_tab')
|
||||||
def goto_tab_parse(func: str, rest: str) -> FuncArgsType:
|
def goto_tab_parse(func: str, rest: str) -> FuncArgsType:
|
||||||
args = (max(0, int(rest)), )
|
args = (max(0, int(rest)), )
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user