# HG changeset patch # User Alexander Kobjolke # Date 2019-03-21 20:44:29 # Node ID 66fc05ff0ea3914e70a77910cc17fb768aa21fd6 # Parent b05a3e28cf2453802dcde46f2469c5ee8e361a3f crecord: draw on the whole screen When starting crecord, one can see that it has a small gap on the rightmost column which doesn't get used. This is in contrast to other interactive curses frontends such as chistedit. Disabling the displaying of the cursor allows drawing on the whole availabe area and thus some hacky code in align() could be removed. Differential Revision: https://phab.mercurial-scm.org/D6171 diff --git a/mercurial/crecord.py b/mercurial/crecord.py --- a/mercurial/crecord.py +++ b/mercurial/crecord.py @@ -962,8 +962,8 @@ class curseschunkselector(object): # turn tabs into spaces instr = instr.expandtabs(4) strwidth = encoding.colwidth(instr) - numspaces = (width - ((strwidth + xstart) % width) - 1) - return instr + " " * numspaces + "\n" + numspaces = (width - ((strwidth + xstart) % width)) + return instr + " " * numspaces def printstring(self, window, text, fgcolor=None, bgcolor=None, pair=None, pairname=None, attrlist=None, towin=True, align=True, showwhtspc=False): @@ -1770,6 +1770,12 @@ are you sure you want to review/edit and # fit on the terminal. self.stdscr.clear() + # don't display the cursor + try: + curses.curs_set(0) + except curses.error: + pass + # available colors: black, blue, cyan, green, magenta, white, yellow # init_pair(color_id, foreground_color, background_color) self.initcolorpair(None, None, name="normal")