Commit Graph

6335 Commits

Author SHA1 Message Date
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
Nicholas Marriott
b97264bb70 Update TODO. 2009-03-27 16:44:00 +00:00
Nicholas Marriott
be0c79f3ad Sockets in /tmp are now created in a subdirectory named, tmux-UID, eg
tmux-1000. The default socket is thus /tmp/tmux-UID/default. To start a
separate server, the new -L command line option should be used: this creates a
socket in the same directory with a different name ("-L main" will create
socket called "main"). -S should only be used to place the socket outside
/tmp. This makes sockets a little more secure and a bit more convenient to use
multiple servers.
2009-03-27 15:57:10 +00:00
Nicholas Marriott
0cb069a6b1 Use lstat. No change yet due to realpath call in tmux.c. 2009-03-27 08:58:28 +00:00
Nicholas Marriott
52fb9ca250 Clear pollfds first. 2009-03-27 08:46:02 +00:00
Nicholas Marriott
12bb7436c3 Update. 2009-03-27 08:44:29 +00:00
Nicholas Marriott
1f06ae2def Typo. 2009-03-27 08:44:12 +00:00
Nicholas Marriott
f5f04a9344 * New session flag "set-remain-on-exit" to set remain-on-exit flag for new windows created in that session (like "remain-by-default" used to do). Not perfectly happy about this, but until I can think of a good way to introduce it generically (maybe a set of options in the session) this will do. Fixes SF request 2527847. 2009-03-21 12:44:06 +00:00
Nicholas Marriott
7398241e58 Done. 2009-03-07 10:46:36 +00:00
Nicholas Marriott
e6d35b6aa4 Support for 88 colour terminals. 2009-03-07 10:29:06 +00:00
Nicholas Marriott
521fa7d640 Unused variable. 2009-03-07 10:11:20 +00:00
Nicholas Marriott
3f09bf99b8 char not char *... 2009-03-07 09:42:13 +00:00
Nicholas Marriott
56f80a5b09 break-pane command to split a pane off into a new window; bound to ! by default. 2009-03-07 09:29:54 +00:00
Nicholas Marriott
8a6a7e74da CSR resets the cursor to the top-left. Reported by merdely. 2009-03-05 20:27:51 +00:00
Nicholas Marriott
0402ef2e31 Log socket path so I can tell which tmux log is which. 2009-03-05 20:24:41 +00:00
Nicholas Marriott
a9a22d7ede Initialise socket_path before parsing configuration file. 2009-03-04 17:33:30 +00:00
Nicholas Marriott
65b9aeb337 Put socket path in $TMUX. 2009-03-04 17:24:07 +00:00
Nicholas Marriott
171256057e Extra function keys from Dashing dashing at hushmail dot com 2009-03-02 18:05:40 +00:00
Nicholas Marriott
5803c4fc5b Fix window choice mode, again. 2009-03-02 17:01:00 +00:00
Nicholas Marriott
57f5f44d0f Sort out escape key handling so it works. 2009-03-02 16:55:23 +00:00
Nicholas Marriott
792b4db4a7 Doh. Set a message when pane is too small rather than dying... 2009-03-01 22:05:35 +00:00
Nicholas Marriott
a2a5abef13 This is now fixed. 2009-02-28 12:13:38 +00:00
Nicholas Marriott
26edf4cce0 Don't segfault on lock when no sessions attached. 2009-02-27 16:01:31 +00:00
Nicholas Marriott
eae026f2f7 Redraw selection properly. 2009-02-25 21:56:46 +00:00
Nicholas Marriott
092cca4b5f Update TODO. 2009-02-25 21:55:15 +00:00
Nicholas Marriott
c45eb2713b Check the right variable. Doh. 2009-02-24 21:49:05 +00:00
Nicholas Marriott
3969b59ae5 Don't turn cursor off unless actually drawing something. 2009-02-21 19:25:58 +00:00
Nicholas Marriott
5b7e882bf6 Don't redraw status if it has already been redrawed as part of entire screen. 2009-02-21 17:52:25 +00:00
Nicholas Marriott
afd67ce89f Allow selection in vi mode. 2009-02-21 17:46:13 +00:00
Nicholas Marriott
78f420e7a9 Reuse CPPFLAGS. 2009-02-18 09:04:15 +00:00
Nicholas Marriott
664c79cf73 INCDIRS after CPPFLAGS. 2009-02-18 08:50:30 +00:00
Nicholas Marriott
761db94050 Exclude NetBSD. 2009-02-18 08:41:46 +00:00
Nicholas Marriott
03b76dbf35 Use CPPFLAGS. 2009-02-18 08:41:22 +00:00
Nicholas Marriott
6d8ff85167 -err.h. 2009-02-17 18:54:14 +00:00
Nicholas Marriott
546a9d5257 Don't die on any error from fd. 2009-02-17 18:53:10 +00:00
Nicholas Marriott
ca8b6a08ff NetBSD flags. 2009-02-17 08:08:42 +00:00