# HG changeset patch # User Jordi GutiƩrrez Hermoso # Date 1554490485 14400 # Node ID 770e879997012a9bc928a7b5a4f73f9584625859 # Parent 2e2699af56498acd6fba0148029e1d00fe51a461 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. diff -r 2e2699af5649 -r 770e87999701 hgext/histedit.py --- 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)