Only set title if DISPLAY is set, change os x behavior to check DISPLAY.

This commit is contained in:
Michael Lazar
2016-07-15 16:22:54 -07:00
parent 131e64273a
commit 797ea5d072
3 changed files with 27 additions and 9 deletions

View File

@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from __future__ import unicode_literals from __future__ import unicode_literals
import os
import sys import sys
import locale import locale
import logging import logging
@@ -29,13 +30,14 @@ _logger = logging.getLogger(__name__)
def main(): def main():
"Main entry point" """Main entry point"""
# Squelch SSL warnings # Squelch SSL warnings
logging.captureWarnings(True) logging.captureWarnings(True)
locale.setlocale(locale.LC_ALL, '') locale.setlocale(locale.LC_ALL, '')
# Set the terminal title # Set the terminal title
if os.getenv('DISPLAY'):
title = 'rtv {0}'.format(__version__) title = 'rtv {0}'.format(__version__)
sys.stdout.write('\x1b]2;{0}\x07'.format(title)) sys.stdout.write('\x1b]2;{0}\x07'.format(title))
sys.stdout.flush() sys.stdout.flush()
@@ -79,6 +81,14 @@ def main():
filename=config['log'], filename=config['log'],
format='%(asctime)s:%(levelname)s:%(filename)s:%(lineno)d:%(message)s') format='%(asctime)s:%(levelname)s:%(filename)s:%(lineno)d:%(message)s')
_logger.info('Starting new session, RTV v%s', __version__) _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: else:
# Add an empty handler so the logger doesn't complain # Add an empty handler so the logger doesn't complain
logging.root.addHandler(logging.NullHandler()) logging.root.addHandler(logging.NullHandler())

View File

@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from __future__ import unicode_literals from __future__ import unicode_literals
import os
import sys import sys
import time import time
import curses import curses
@@ -233,7 +234,6 @@ class Page(object):
else: else:
raise TemporaryFileError() raise TemporaryFileError()
@PageController.register(Command('INBOX')) @PageController.register(Command('INBOX'))
@logged_in @logged_in
def get_inbox(self): def get_inbox(self):
@@ -291,6 +291,7 @@ class Page(object):
else: else:
title = sub_name title = sub_name
if os.getenv('DISPLAY'):
title += ' - rtv {0}'.format(__version__) title += ' - rtv {0}'.format(__version__)
sys.stdout.write('\x1b]2;{0}\x07'.format(title)) sys.stdout.write('\x1b]2;{0}\x07'.format(title))
sys.stdout.flush() sys.stdout.flush()

View File

@@ -99,7 +99,14 @@ class Terminal(object):
if self._display is None: if self._display is None:
if sys.platform == 'darwin': if sys.platform == 'darwin':
# OSX doesn't always set DISPLAY so we can't use this to check # 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: else:
display = bool(os.environ.get("DISPLAY")) display = bool(os.environ.get("DISPLAY"))