summaryrefslogtreecommitdiffstats
path: root/screen-redraw.c
AgeCommit message (Collapse)Author
2010-09-18Sync OpenBSD patchset 762:Tiago Cunha
Use UTF-8 line drawing characters on UTF-8 terminals. Fixes some stupid terminals (I'm looking at you, putty) which disable the vt100 ACS mode switching sequences in UTF-8 mode. Also on terminals without ACS at all, use ASCII equivalents where obvious.
2010-02-05Sync OpenBSD patchset 632:Tiago Cunha
Option to display the active pane in a different colour with the display-panes command. From Paul Hoffman, thanks.
2010-01-05Sync OpenBSD patchset 597:Tiago Cunha
Options to set the colour of the pane borders, with different colours for the active pane.
2009-12-04Sync OpenBSD patchset 581:Tiago Cunha
Massive spaces->tabs and trailing whitespace cleanup, hopefully for the last time now I've configured emacs to make them displayed in really annoying colours...
2009-10-28Sync OpenBSD patchset 471:Tiago Cunha
Add a minor optimisatin: if the character being printed is space, don't worry about setting the background colour or attributes (except reverse).
2009-10-15Sync OpenBSD patchset 393:Tiago Cunha
Similarly add a tty_cursor_pane function to tidy up most of the calls.
2009-09-11Sync OpenBSD patchset 322:Tiago Cunha
Permit options such as status-bg to be configured using the entire 256 colour palette by setting "colour0" to "colour255".
2009-08-31Sync OpenBSD patchset 302:Tiago Cunha
Add a new display-panes command, with two options (display-panes-colour and display-panes-time), which displays a visual indication of the number of each pane.
2009-08-10Sync OpenBSD patchset 240:Tiago Cunha
Reset the attributes after drawing all or part of the screen, and reset the region before poll(2). This reduces (but does not eliminate) the chance of the attributes not being normal if tmux is disconnected without warning (ssh ~., reboot from inside, etc).
2009-07-31Sync OpenBSD patchset 209:Tiago Cunha
Pass the ACS border characters through tty_get_acs so they appear correctly on terminals which don't use the standard set.
2009-07-25Sync OpenBSD patchset 179:Tiago Cunha
Use the full range of ACS line drawing characters to draw pane borders, including intersections.
2009-07-25Sync OpenBSD patchset 177:Tiago Cunha
Simplify screen redrawing by drawing the border and background together rather than border separately, and consolidating all the drawing characters into one string.
2009-07-15For some reason when clearing status/message it was redrawing the entire clientNicholas Marriott
not just the status line. Changing this also revealed the check for the status line was incorrect when drawing the pane.
2009-07-15Instead of faking up a status line in status_redraw, use the same code toNicholas Marriott
redraw it as to draw the entire screen, just skip all lines but the last.
2009-07-15Get rid of the PANE_HIDDEN flag in favour of a function, and moving theNicholas Marriott
decision for whether or not a pane should be drawn out of the layout code and into the redraw code. This is needed for the new layout design, getting it in now to make that easier to work on.
2009-06-25Restore $Id$ and add script to do so.Nicholas Marriott
2009-06-25Unused variables. Found by lint, no binary change.Nicholas Marriott
2009-05-04Space trimmage mega-diff.Nicholas Marriott
2009-05-04Use ACS for line drawing characters.Nicholas Marriott
2009-04-02Change scroll/pane redraws to only redraw the single pane affected rather thanNicholas Marriott
the entire window.
2009-04-01Only redraw screen when not hidden. Heh.Nicholas Marriott
2009-04-01Don't need to refresh layout here. Also don't redraw over status line.Nicholas Marriott
2009-04-01Basic horizontal splitting and layout management. Still some redraw and otherNicholas Marriott
issues - particularly, don't mix with manual pane resizing and be careful when viewing from multiple clients; generally cycling the layout a few times will fix most problems. Getting this in for testing while I think about how to deal with manual mode. Split window as normal and cycle the layouts with C-b space. Some of the layouts will work better when swap-pane comes along.
2009-03-31Draw vertical line on the right when window size is limited.Nicholas Marriott
2009-03-28Clear using ED when redrawing the screen. I foolishly assumed using spacesNicholas Marriott
would be equivalent and terminals would pick up on this, but apparently not. This fixes copy and paste in xterm/rxvt.
2009-03-27Whoops. Didn't mean to commit this yet.Nicholas Marriott
2009-03-27Update TODO.Nicholas Marriott
2009-02-21Don't redraw status if it has already been redrawed as part of entire screen.Nicholas Marriott
2009-02-12Never draw last character: stops stray scrolling sometimes should status ↵Nicholas Marriott
line be disabled.
2009-02-11FreeBSD's console wraps lines at $COLUMNS - 1 rather than $COLUMNS (the ↵Nicholas Marriott
cursor can never be beyond $COLUMNS - 1) and does not appear to support changing this behaviour, or any of the obvious possibilities (turning off right margin wrapping, insert mode). This is irritating, most notably because it impossible to write to the very bottom-right of the screen without scrolling. To work around this, if built on FreeBSD and run with a "cons" $TERM, the bottom-right cell on the screen is omitted.
2009-02-11Move sx,sy into tty rather than client.Nicholas Marriott
2009-02-11We are going to need the updated screen data for emulating the scroll region,Nicholas Marriott
which may involve changing the cursor position; however, the old (before redraw) cursor position is necessary for writing to the tty. So, save it before doing the redraw then update the internal screen then update the tty. Not sure I like this solution but it does the job for now.
2009-02-11Split most of tty_cmd_cell off to tty_cell. First step on making tty_cmd_* takeNicholas Marriott
a window_pane for later use emulating scroll region.
2009-01-19Fix various silly problems with status line off.Nicholas Marriott
2009-01-14Update.Nicholas Marriott
2009-01-14Multiple window splitting.Nicholas Marriott
2009-01-12Make the window pane code handle panes of different sizes, and add a -l and ↵Nicholas Marriott
-p arguments to split-window to specify the new window size in lines or as a percentage.
2009-01-11Window splitting. Two vertical panes fixed 50% each. This is a huge diff, ↵Nicholas Marriott
still a couple of bugs (notably heap corruption somewhere causing segfault on exit).
2009-01-09Build array of codes, stop using ncurses global variables and push ncurses ↵Nicholas Marriott
crap into tty-term.c.
2008-12-08Make window options work the same was as session options, add ↵Nicholas Marriott
mode-fg/mode-bg options, force -g for global on set/show/setw/showw/
2008-09-26Trim.Nicholas Marriott
2008-09-25Internal screen data rewrite for better 256 colour/UTF-8 support.Nicholas Marriott
2008-09-08Fix bold/non-bold mismatch in 256 colour mode by adding an extra 8 bits ↵Nicholas Marriott
(ick) onto the attributes and using two of them to mark the fg and bg as 256 colours when necessary. If only it was 255 colours we would have one value for default and wouln't need this :-/.
2008-09-08Initial 256 colour support, lightly tested.Nicholas Marriott
2008-06-18Unused variable.Nicholas Marriott
2008-06-16Informational messages on window option changes.Nicholas Marriott
2008-06-14I'm an idiot - it is start,len not start,end. Unbreak.Nicholas Marriott
2008-06-14New window options: force-width and force-height. This will force a window toNicholas Marriott
an arbitrary width and height (0 for the default unlimited). This is neat for emacs which doesn't have a sensible way to force hard wrapping at 80 columns. Also, don't try to be clever and use clr_eol when redrawing the whole screen, it causes trouble since the redraw functions are used to draw the blank areas too.
2008-06-14Clear blank area properly on redraw, and add a marker line below it.Nicholas Marriott
2008-01-03Some key tweaks, fix status bar to not rely on attr.Nicholas Marriott