Commit Graph

1220 Commits

Author SHA1 Message Date
Nicholas Marriott
72dab09f81 Don't continue to write into panes that are scheduled for redraw. 2009-04-02 21:15:56 +00:00
Nicholas Marriott
15f2491023 Don't permit resizing except in manual mode. 2009-04-02 21:11:52 +00:00
Nicholas Marriott
dbf52facd2 Change scroll/pane redraws to only redraw the single pane affected rather than
the entire window.
2009-04-02 21:08:15 +00:00
Nicholas Marriott
84cde92c8f If redrawing the region would mean redrawing > half the pane, just schedule to
redraw the entire window. Also add a flag to skip updating the window any
further if it is scheduled to be redrawn. This has the effect of batching
multiple redraws together.
2009-04-02 20:30:23 +00:00
Nicholas Marriott
b38f6608c7 Fake warnx(). 2009-04-02 19:48:01 +00:00
Nicholas Marriott
91bc6836f7 - Allow switching to hidden windows (for active-only layout).
- Don't update unnecessarily for other layouts when changing active pane doesn't matter.
2009-04-01 21:10:08 +00:00
Nicholas Marriott
474853439c Only redraw screen when not hidden. Heh. 2009-04-01 21:09:01 +00:00
Nicholas Marriott
3932da2522 Better errno, from joshe. 2009-04-01 20:15:48 +00:00
Nicholas Marriott
d4947fc4cb Handle 0 panes better. 2009-04-01 18:48:09 +00:00
Nicholas Marriott
673290d019 Adjust mouse for x offset. 2009-04-01 18:46:03 +00:00
Nicholas Marriott
15362ef6b8 Don't need to refresh layout here. Also don't redraw over status line. 2009-04-01 18:33:19 +00:00
Nicholas Marriott
a45e33114a Tweak to CHANGES. 2009-04-01 18:22:31 +00:00
Nicholas Marriott
b6450b167b Basic horizontal splitting and layout management. Still some redraw and other
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-04-01 18:21:42 +00:00
Nicholas Marriott
6789b3367a UTF-8 is now fine, and AIX works. 2009-03-31 23:17:28 +00:00
Nicholas Marriott
64bfe099e8 0.8. 2009-03-31 23:16:14 +00:00
Nicholas Marriott
0c61b35807 Update www. 2009-03-31 23:15:27 +00:00
Nicholas Marriott
c4ac39f67a +UTF-8 fixed to CHANGES. 2009-03-31 23:14:22 +00:00
Nicholas Marriott
75012d59c2 Close .tmux.conf... DOH. 2009-03-31 22:23:43 +00:00
Nicholas Marriott
907bec675a FD_CLOEXEC more fds. Still one I can't find... 2009-03-31 22:20:42 +00:00
Nicholas Marriott
d13add828a More AIX tweaks. 2009-03-31 22:08:45 +00:00
Nicholas Marriott
92594c8029 Update CHANGES. 2009-03-31 21:30:03 +00:00
Nicholas Marriott
3576ce6d01 Missing \. 2009-03-31 21:24:33 +00:00
Nicholas Marriott
8c36db6e93 AIX forkpty. 2009-03-31 21:23:18 +00:00
Nicholas Marriott
792b28ec3e Most of AIX support. 2009-03-31 21:22:10 +00:00
Nicholas Marriott
6c27f1c335 Draw vertical line on the right when window size is limited. 2009-03-31 18:39:45 +00:00
Nicholas Marriott
9bdba2e84f Er, i should be j and c should be u. 2009-03-31 15:10:43 +00:00
Nicholas Marriott
b0dc1712ec UTF8_SIZE. 2009-03-31 12:28:45 +00:00
Nicholas Marriott
aecded5da0 Copy columns correctly. 2009-03-30 21:08:04 +00:00
Nicholas Marriott
fb5a92ff9f Only need to print this once... 2009-03-30 20:58:25 +00:00
Nicholas Marriott
c2a45b1532 $Id$ 2009-03-30 20:22:08 +00:00
Nicholas Marriott
8a160f2d58 - Unbreak selection colouring.
- Get UTF-8 check the right way round...
2009-03-30 20:14:50 +00:00
Nicholas Marriott
e2a7ac4b36 Fix UTF-8 in c&p mode. 2009-03-30 19:57:02 +00:00
Nicholas Marriott
6fdac02b53 Add UTF-8 to grid_compare.. 2009-03-30 19:44:55 +00:00
Nicholas Marriott
4db72582aa Include protocol version. 2009-03-29 19:09:57 +00:00
Nicholas Marriott
23fef99009 8 -> UTF8_SIZE. 2009-03-29 11:18:28 +00:00
Nicholas Marriott
4cbf7d489e - Ignore padding when writing so copying the screen for copy-mode doesn't include extra characters.
- Handle combined characters properly when the previous character is not UTF-8.
2009-03-29 11:06:22 +00:00
Nicholas Marriott
ae0ba11ac2 Add some more to server-info. 2009-03-29 10:51:50 +00:00
Nicholas Marriott
c9856ebad1 Update/reorganise. 2009-03-28 20:20:51 +00:00
Nicholas Marriott
cf7b384c43 Better UTF-8 support, including combined characters. Unicode data is now stored
as UTF-8 in a separate array, the code does a lookup into this every time it
gets to a UTF-8 cell. Zero width characters are just appended onto the UTF-8
data for the previous cell. This also means that almost no bytes extra are
wasted non-Unicode data (yay).

Still some oddities, such as copy mode skips over wide characters in a strange
way, and the code could do with some tidying.
2009-03-28 20:17:29 +00:00
Nicholas Marriott
34dd72f008 _fill functions are no longer needed. Nuke them. 2009-03-28 16:57:03 +00:00
Nicholas Marriott
abf170d6d0 Whoops. Missed a few changes. 2009-03-28 16:55:46 +00:00
Nicholas Marriott
6c0728fe07 Step 2 of the Grand Plan To Make UTF-8 Better.
Split grid into two arrays, one containing grid attributes/flags/colours (keeps
the name grid_cell for now) and a separate with the character data (called
text). The text is stored as a u_short but is treated as a uint64_t elsewhere;
eventually the grid will have two arrays.

I'm not happy with the naming so that might change.

Still need to decide where to go from here. I'm not sure whether to combine
the peek/set functions together, and also whether to continue to treat the
text as a uint64_t (and convert to/from Unicode) or make it a char array
(of size one when UTF-8 disabled, eight when enabled) and keep everything
as UTF-8.

Also since UTF-8 will eventually become an attribute of the grid itself it
might be nice to move all the padding crap into grid.c.
2009-03-28 16:30:05 +00:00
Nicholas Marriott
5872633aef Now unused variable. 2009-03-28 15:49:05 +00:00
Nicholas Marriott
989d67ccd7 struct grid_data -> struct grid. Stage 1 of the Grand Plan To Make UTF-8 Better. 2009-03-28 15:43:41 +00:00
Nicholas Marriott
8762338e30 +. 2009-03-28 15:40:10 +00:00
Nicholas Marriott
cb2ac5c269 Key repeating is now a property of the key binding not of the command. Repeat
is turned on when the key is bound with the -r flag to bind-key. next/previous-
window no longer repeat by default as it turned out to annoy me.
2009-03-28 14:08:09 +00:00
Nicholas Marriott
587badecdb Clear using ED when redrawing the screen. I foolishly assumed using spaces
would be equivalent and terminals would pick up on this, but apparently
not. This fixes copy and paste in xterm/rxvt.
2009-03-28 10:15:01 +00:00
Nicholas Marriott
a7f57773b7 Not const. 2009-03-27 17:04:04 +00:00
Nicholas Marriott
f1aa1ff57f const. 2009-03-27 16:59:57 +00:00
Nicholas Marriott
f6001f9ffc Whoops. Didn't mean to commit this yet. 2009-03-27 16:44:51 +00:00