From 623dc496224e8674f582b62f0ca56a141ea201e7 Mon Sep 17 00:00:00 2001 From: OceanWolf Date: Tue, 14 Jul 2015 04:46:02 +0200 Subject: [PATCH] Auto-detect interactive mode --- lib/matplotlib/__init__.py | 6 +++++- lib/matplotlib/rcsetup.py | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index ddd99b01f776..df6431593e3a 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -110,6 +110,7 @@ import io import locale import os +import __main__ as main import re import tempfile import warnings @@ -1352,7 +1353,10 @@ def interactive(b): def is_interactive(): 'Return true if plot mode is interactive' - return rcParams['interactive'] + ret = rcParams['interactive'] + if ret is None: + ret = not hasattr(main, '__file__') + return ret def tk_window_focus(): diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index d3b3c88607d4..a31bb88bc61f 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -572,7 +572,7 @@ def __call__(self, s): 'toolbar': ['toolbar2', validate_toolbar], 'datapath': [None, validate_path_exists], # handled by # _get_data_path_cached - 'interactive': [False, validate_bool], + 'interactive': [None, validate_bool_maybe_none], 'timezone': ['UTC', six.text_type], # the verbosity setting