Commit Graph

5385 Commits

Author SHA1 Message Date
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
ae0ba11ac2 Add some more to server-info. 2009-03-29 10:51:50 +00:00
c9856ebad1 Update/reorganise. 2009-03-28 20:20:51 +00:00
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
34dd72f008 _fill functions are no longer needed. Nuke them. 2009-03-28 16:57:03 +00:00
abf170d6d0 Whoops. Missed a few changes. 2009-03-28 16:55:46 +00:00
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
5872633aef Now unused variable. 2009-03-28 15:49:05 +00:00
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
8762338e30 +. 2009-03-28 15:40:10 +00:00
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
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
a7f57773b7 Not const. 2009-03-27 17:04:04 +00:00
f1aa1ff57f const. 2009-03-27 16:59:57 +00:00
f6001f9ffc Whoops. Didn't mean to commit this yet. 2009-03-27 16:44:51 +00:00
b97264bb70 Update TODO. 2009-03-27 16:44:00 +00:00
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
0cb069a6b1 Use lstat. No change yet due to realpath call in tmux.c. 2009-03-27 08:58:28 +00:00
52fb9ca250 Clear pollfds first. 2009-03-27 08:46:02 +00:00
12bb7436c3 Update. 2009-03-27 08:44:29 +00:00
1f06ae2def Typo. 2009-03-27 08:44:12 +00:00
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
7398241e58 Done. 2009-03-07 10:46:36 +00:00
e6d35b6aa4 Support for 88 colour terminals. 2009-03-07 10:29:06 +00:00
521fa7d640 Unused variable. 2009-03-07 10:11:20 +00:00
3f09bf99b8 char not char *... 2009-03-07 09:42:13 +00:00
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
8a6a7e74da CSR resets the cursor to the top-left. Reported by merdely. 2009-03-05 20:27:51 +00:00
0402ef2e31 Log socket path so I can tell which tmux log is which. 2009-03-05 20:24:41 +00:00
a9a22d7ede Initialise socket_path before parsing configuration file. 2009-03-04 17:33:30 +00:00
65b9aeb337 Put socket path in $TMUX. 2009-03-04 17:24:07 +00:00
171256057e Extra function keys from Dashing dashing at hushmail dot com 2009-03-02 18:05:40 +00:00
5803c4fc5b Fix window choice mode, again. 2009-03-02 17:01:00 +00:00
57f5f44d0f Sort out escape key handling so it works. 2009-03-02 16:55:23 +00:00
792b4db4a7 Doh. Set a message when pane is too small rather than dying... 2009-03-01 22:05:35 +00:00
a2a5abef13 This is now fixed. 2009-02-28 12:13:38 +00:00
26edf4cce0 Don't segfault on lock when no sessions attached. 2009-02-27 16:01:31 +00:00
eae026f2f7 Redraw selection properly. 2009-02-25 21:56:46 +00:00
092cca4b5f Update TODO. 2009-02-25 21:55:15 +00:00
c45eb2713b Check the right variable. Doh. 2009-02-24 21:49:05 +00:00
3969b59ae5 Don't turn cursor off unless actually drawing something. 2009-02-21 19:25:58 +00:00
5b7e882bf6 Don't redraw status if it has already been redrawed as part of entire screen. 2009-02-21 17:52:25 +00:00
afd67ce89f Allow selection in vi mode. 2009-02-21 17:46:13 +00:00
78f420e7a9 Reuse CPPFLAGS. 2009-02-18 09:04:15 +00:00
664c79cf73 INCDIRS after CPPFLAGS. 2009-02-18 08:50:30 +00:00
761db94050 Exclude NetBSD. 2009-02-18 08:41:46 +00:00
03b76dbf35 Use CPPFLAGS. 2009-02-18 08:41:22 +00:00
6d8ff85167 -err.h. 2009-02-17 18:54:14 +00:00
546a9d5257 Don't die on any error from fd. 2009-02-17 18:53:10 +00:00
ca8b6a08ff NetBSD flags. 2009-02-17 08:08:42 +00:00