Merge pull request #247 from michael-lazar/x_display_title

Don't set title when no DISPLAY
This commit is contained in:
Michael Lazar
2016-07-15 17:08:14 -07:00
committed by GitHub
4 changed files with 28 additions and 10 deletions

View File

@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import os
import sys
import locale
import logging
@@ -29,16 +30,17 @@ _logger = logging.getLogger(__name__)
def main():
"Main entry point"
"""Main entry point"""
# Squelch SSL warnings
logging.captureWarnings(True)
locale.setlocale(locale.LC_ALL, '')
# Set the terminal title
title = 'rtv {0}'.format(__version__)
sys.stdout.write('\x1b]2;{0}\x07'.format(title))
sys.stdout.flush()
if os.getenv('DISPLAY'):
title = 'rtv {0}'.format(__version__)
sys.stdout.write('\x1b]2;{0}\x07'.format(title))
sys.stdout.flush()
args = Config.get_args()
fargs, bindings = Config.get_file(args.get('config'))
@@ -79,6 +81,14 @@ def main():
filename=config['log'],
format='%(asctime)s:%(levelname)s:%(filename)s:%(lineno)d:%(message)s')
_logger.info('Starting new session, RTV v%s', __version__)
env = [
('$DISPLAY', os.getenv('DISPLAY')),
('$XDG_CONFIG_HOME', os.getenv('XDG_CONFIG_HOME')),
('$BROWSER', os.getenv('BROWSER')),
('$PAGER', os.getenv('PAGER')),
('$RTV_EDITOR', os.getenv('RTV_EDITOR')),
('$RTV_URLVIEWER', os.getenv('RTV_URLVIEWER'))]
_logger.info('Environment: %s', env)
else:
# Add an empty handler so the logger doesn't complain
logging.root.addHandler(logging.NullHandler())

View File

@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import os
import sys
import time
import curses
@@ -233,7 +234,6 @@ class Page(object):
else:
raise TemporaryFileError()
@PageController.register(Command('INBOX'))
@logged_in
def get_inbox(self):
@@ -291,9 +291,10 @@ class Page(object):
else:
title = sub_name
title += ' - rtv {0}'.format(__version__)
sys.stdout.write('\x1b]2;{0}\x07'.format(title))
sys.stdout.flush()
if os.getenv('DISPLAY'):
title += ' - rtv {0}'.format(__version__)
sys.stdout.write('\x1b]2;{0}\x07'.format(title))
sys.stdout.flush()
if self.reddit.user is not None:
# The starting position of the name depends on if we're converting

View File

@@ -99,7 +99,14 @@ class Terminal(object):
if self._display is None:
if sys.platform == 'darwin':
# OSX doesn't always set DISPLAY so we can't use this to check
display = True
# Note: Disabling for now, with the hope that if this
# is a widespread issue then people will complain and we can
# come up with a better solution. Checking for $DISPLAY is
# used extensively in mailcap files, so it really *should* be
# set properly. I don't have a mac anymore so I can't test.
# display = True
display = bool(os.environ.get("DISPLAY"))
else:
display = bool(os.environ.get("DISPLAY"))

View File

@@ -37,7 +37,7 @@ def test_terminal_properties(terminal, config):
with mock.patch('rtv.terminal.sys') as sys, \
mock.patch.dict('os.environ', {'DISPLAY': ''}):
sys.platform = 'darwin'
assert terminal.display is True
assert terminal.display is False
terminal._display = None
with mock.patch.dict('os.environ', {'DISPLAY': ':0', 'BROWSER': 'w3m'}):