Merge pull request #674 from pabloariasal/open_links_in_new_window

Add option to force opening links in new browser window
This commit is contained in:
Michael Lazar
2019-04-22 10:20:23 -04:00
committed by GitHub
3 changed files with 14 additions and 3 deletions

View File

@@ -261,6 +261,7 @@ class Config(object):
if config.has_section('rtv'): if config.has_section('rtv'):
rtv = dict(config.items('rtv')) rtv = dict(config.items('rtv'))
# convert non-string params to their typed representation
params = { params = {
'ascii': partial(config.getboolean, 'rtv'), 'ascii': partial(config.getboolean, 'rtv'),
'monochrome': partial(config.getboolean, 'rtv'), 'monochrome': partial(config.getboolean, 'rtv'),
@@ -274,7 +275,8 @@ class Config(object):
'max_comment_cols': partial(config.getint, 'rtv'), 'max_comment_cols': partial(config.getint, 'rtv'),
'max_pager_cols': partial(config.getint, 'rtv'), 'max_pager_cols': partial(config.getint, 'rtv'),
'hide_username': partial(config.getboolean, 'rtv'), 'hide_username': partial(config.getboolean, 'rtv'),
'flash': partial(config.getboolean, 'rtv') 'flash': partial(config.getboolean, 'rtv'),
'force_new_browser_window': partial(config.getboolean, 'rtv')
} }
for key, func in params.items(): for key, func in params.items():

View File

@@ -57,6 +57,9 @@ hide_username = False
; been installed into either the custom of default theme paths. ; been installed into either the custom of default theme paths.
;theme = molokai ;theme = molokai
; Open a new browser window instead of a new tab in existing instance
force_new_browser_window = False
################ ################
# OAuth Settings # OAuth Settings
################ ################

View File

@@ -599,7 +599,10 @@ class Terminal(object):
try: try:
os.dup2(null, 1) os.dup2(null, 1)
os.dup2(null, 2) os.dup2(null, 2)
webbrowser.open_new_tab(url) if self.config['force_new_browser_window']:
webbrowser.open_new(url)
else:
webbrowser.open_new_tab(url)
finally: finally:
try: try:
os.close(null) os.close(null)
@@ -629,7 +632,10 @@ class Terminal(object):
pass pass
else: else:
with self.suspend(): with self.suspend():
webbrowser.open_new_tab(url) if self.config['force_new_browser_window']:
webbrowser.open_new(url)
else:
webbrowser.open_new_tab(url)
def open_pager(self, data, wrap=None): def open_pager(self, data, wrap=None):
""" """