diff hgext/histedit.py @ 42088:770e87999701

chistedit: use default curses colours Terminals will define default colours (for example, white text on black background), but curses doesn't obey those default colours unless told to do so. Calling `curses.use_default_colors` makes curses obey the default terminal colours. One of the most obvious effects is that this allows transparency on terminals that support it. This also brings chistedit closer in appearance to crecord, which also uses default colours. The call may error out if the terminal doesn't support colors, but as far as I can tell, everything still works. If we need a more careful handling of lack of colours, blame me for not doing it now.
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Fri, 05 Apr 2019 14:54:45 -0400
parents fc0095256513
children 16692aa3472b
line wrap: on
line diff
--- a/hgext/histedit.py	Sun Apr 07 16:53:47 2019 +0200
+++ b/hgext/histedit.py	Fri Apr 05 14:54:45 2019 -0400
@@ -1238,6 +1238,11 @@
     return displayer.hunk[rule.ctx.rev()].splitlines()
 
 def _chisteditmain(repo, rules, stdscr):
+    try:
+        curses.use_default_colors()
+    except curses.error:
+        pass
+
     # initialize color pattern
     curses.init_pair(COLOR_HELP, curses.COLOR_WHITE, curses.COLOR_BLUE)
     curses.init_pair(COLOR_SELECTED, curses.COLOR_BLACK, curses.COLOR_WHITE)