diff --git a/rtv/config.py b/rtv/config.py index b75e92b..daef147 100644 --- a/rtv/config.py +++ b/rtv/config.py @@ -261,6 +261,7 @@ class Config(object): if config.has_section('rtv'): rtv = dict(config.items('rtv')) + # convert non-string params to their typed representation params = { 'ascii': partial(config.getboolean, 'rtv'), 'monochrome': partial(config.getboolean, 'rtv'), @@ -274,7 +275,8 @@ class Config(object): 'max_comment_cols': partial(config.getint, 'rtv'), 'max_pager_cols': partial(config.getint, '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(): diff --git a/rtv/templates/rtv.cfg b/rtv/templates/rtv.cfg index 40b07e3..0c9f7d3 100644 --- a/rtv/templates/rtv.cfg +++ b/rtv/templates/rtv.cfg @@ -82,6 +82,9 @@ oauth_scope = edit,history,identity,mysubreddits,privatemessages,read,report,sav ; See https://imgur.com/account/settings/apps to generate your own key. imgur_client_id = 93396265f59dec9 +; Open a new browser window instead of a new tab in existing instance +force_new_browser_window = False + [bindings] ############## # Key Bindings diff --git a/rtv/terminal.py b/rtv/terminal.py index 73e4918..415940d 100644 --- a/rtv/terminal.py +++ b/rtv/terminal.py @@ -599,7 +599,10 @@ class Terminal(object): try: os.dup2(null, 1) 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: try: os.close(null)