changeset 6007:090b1a665901

filemerge: add config item for GUI tools <tool>.gui indicates whether a tool requires a GUI to run
author Matt Mackall <mpm@selenic.com>
date Sun, 03 Feb 2008 19:29:05 -0600
parents 3c9dbb743d20
children 33bfedc0be4a
files mercurial/filemerge.py mercurial/util.py
diffstat 2 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/filemerge.py	Sun Feb 03 19:29:05 2008 -0600
+++ b/mercurial/filemerge.py	Sun Feb 03 19:29:05 2008 -0600
@@ -36,6 +36,8 @@
             ui.warn(_("tool %s can't handle symlinks\n") % tmsg)
         elif binary and not _toolbool(ui, tool, "binary"):
             ui.warn(_("tool %s can't handle binary\n") % tmsg)
+        elif not util.gui() and _toolbool(ui, tool, "gui"):
+            ui.warn(_("tool %s requires a GUI\n") % tmsg)
         else:
             return True
         return False
--- a/mercurial/util.py	Sun Feb 03 19:29:05 2008 -0600
+++ b/mercurial/util.py	Sun Feb 03 19:29:05 2008 -0600
@@ -895,6 +895,10 @@
     function if need.'''
     return path.split(os.sep)
 
+def gui():
+    '''Are we running in a GUI?'''
+    return os.name == "nt" or os.name == "mac" or os.environ.get("DISPLAY")
+
 # Platform specific variants
 if os.name == 'nt':
     import msvcrt