Commit Graph

799 Commits

Author SHA1 Message Date
Nicholas Marriott
096cbf2ea5 Add a dedicated function to convert a line into a string and use it to simplify the search window function. 2009-06-24 22:04:18 +00:00
Nicholas Marriott
f4b8f00255 Change to match xterm's resizing behaviour, including pushing lines into the
history from the top when reducing vertical size and pulling them again when
increasing size.

ok todd sthen
2009-06-24 19:12:44 +00:00
Nicholas Marriott
da8401d8be Make remain-on-exit work again when there is only one pane left, which was
broken sometime during the pane/layout changes. Reported/tested by Iain Morgan,
thanks.
2009-06-24 17:36:15 +00:00
Nicholas Marriott
2de599ac0e Trying to predict the cursor position for UTF-8 output in the same way as for
normal eight-bit output is wrong, separate it into a different function. Fixes
spacing when mixing UTF-8 with some escape sequences, notably the way w3m does
it.
2009-06-24 16:01:02 +00:00
Jason McIntyre
7b4077ef87 tweak previous; 2009-06-24 08:13:22 +00:00
Nicholas Marriott
27cfa81110 Constify utf8_width() function argument. 2009-06-24 05:35:07 +00:00
Nicholas Marriott
013b88dfc3 Mention LC_ALL, LC_CTYPE. 2009-06-23 23:26:08 +00:00
Nicholas Marriott
6d2830a473 Add some common config file examples to the quick start section. 2009-06-23 22:13:11 +00:00
Nicholas Marriott
69f3c24647 If a pane is "zombified" (remain-on-exit flag), don't continue to queue key and
mouse input for it (otherwise they are processed after respawn).
2009-06-23 20:17:30 +00:00
Nicholas Marriott
c2b0fdae5b LC_ALL overrides LC_CTYPE and LANG. Comment was correct but the code
wrong. Pointed out by Hannah Schroeter, thanks.
2009-06-23 18:27:40 +00:00
Nicholas Marriott
89262c62fe Terminate cwd buffer before running xstrdup on it. 2009-06-05 11:14:13 +00:00
Nicholas Marriott
18665b8cc9 Check the first of LC_CTYPE, LC_ALL and LANG, rather than just the last, when
trying to decide about UTF-8, and use strcasestr. Reported by Geert Hendrickx.
2009-06-05 07:22:23 +00:00
Nicholas Marriott
a3c32841e6 strdup the input to putenv to avoid in one case passing a string that is later
freed and in the other const strings.

looks sane to millert, ok ray
2009-06-05 07:18:37 +00:00
Nicholas Marriott
1156467726 Call setproctitle earlier in the client, and include the socket name. Makes it
easier to match client to server in ps/pgrep when using several servers.
2009-06-05 07:15:58 +00:00
Ray Lai
74749e8705 Remove trailing newlines, spaces, and tabs.
No binary change.
2009-06-05 03:13:16 +00:00
Nicholas Marriott
85e0d8a221 Print a better message than '(null)' if no command is specified ("tmux \;"). 2009-06-04 23:34:32 +00:00
Nicholas Marriott
38b2c42f63 Zero the password given to -U in the client as well. 2009-06-04 21:56:14 +00:00
Nicholas Marriott
50bd094856 If the prompt is hidden or a password is sent with -U, zero it before freeing
it.
2009-06-04 21:43:24 +00:00
Nicholas Marriott
f031975dc0 Implement the CBT (backward tab) sequence (\033[Z). 2009-06-04 21:02:21 +00:00
Nicholas Marriott
d42fb43f4f Proper support for tab stops (\033H etc), using a bitstring(3). Makes another
vttest test happy.
2009-06-04 18:48:24 +00:00
Nicholas Marriott
d6015824dd Okay, so I screwed up when testing this, doh. Unbreak so that CAN/SUB actually
do cancel the sequence, and tweak to make the code more clear.
2009-06-04 14:42:14 +00:00
Nicholas Marriott
6c1f03578d Oops, CAN and SUB should abort the sequence (return to first state), not remain
in the same state.
2009-06-04 14:24:49 +00:00
Nicholas Marriott
8dd2f0da3f More input compatibility love. Support C0 within escape sequences, and the C0
control character VT (vertical tab, \013), which is treated as LF like
VT102. Makes another vttest happy.
2009-06-04 14:15:50 +00:00
Jason McIntyre
0ba85cc326 zap trailing whitespace; 2009-06-04 13:36:25 +00:00
Nicholas Marriott
c1a4c0186a Support insert mode by using insert character to shift the cells before writing
as normal.
2009-06-03 23:37:30 +00:00
Nicholas Marriott
52ec9b9ec4 Implement the DEC alignment test. With the last change this is enough for the
first cursor test in vttest (in ports) to pass; it still shops a few more
problems though.
2009-06-03 23:30:40 +00:00
Nicholas Marriott
ebe07c2726 Fix some miscalculations when clearing to start of screen: the number of lines
to the cursor is cy not cy - 1, and the current cursor cell should be included.
2009-06-03 23:26:56 +00:00
Nicholas Marriott
3f16fcb30a Use vis(3) instead of handrolled function. 2009-06-03 19:37:27 +00:00
Nicholas Marriott
2faec76afa Pass window titles through vis(1). <0x20 is dropped anyway by the input state
machine but top-bit-set nonprintables could cause trouble, and they are neater
like this anyway.

Suggested by deraadt a few days ago.
2009-06-03 19:33:04 +00:00
Nicholas Marriott
655a1aea6c Do not set the window title by default (make set-titles option default to off),
wiping over the title is rude and annoying. Agreed by several.
2009-06-03 17:04:16 +00:00
Nicholas Marriott
6521427a45 New session option, status-utf8, to control the interpretation of top-bit-set
characters in status-left and status-right (if on, they are treated as UTF-8;
otherwise passed through).
2009-06-03 16:54:26 +00:00
Nicholas Marriott
7d45e29683 Add a UTF-8 aware string length function and make UTF-8 in
status-left/status-right work properly. At the moment any top-bit-set
characters are assumed to be UTF-8: a status-utf8 option to configure this will
come shortly.
2009-06-03 16:05:46 +00:00
Nicholas Marriott
41d985ace3 Add missing documentation for the -a flag used to move to next/previous window
with alert.
2009-06-03 15:58:40 +00:00
Nicholas Marriott
e659aa86b9 Add a section summarising the status line. There are quite a number of status
line options, it is something many want to configure, and the meaning of some
bits weren't really documented.
2009-06-03 15:47:14 +00:00
Jason McIntyre
5823854b5e undo a mistake found by sobrado; 2009-06-03 09:29:06 +00:00
Nicholas Marriott
c5dbec9e85 When swapping pane positions, swap the PANE_HIDDEN flag as well, otherwise tmux
crashes when trying to find the new active pane.

While here, nuke an unused pane flag.

Fixes PR 6160, reported by and a slightly different version of diff tested by
ralf.horstmann at gmx.de.
2009-06-03 07:51:24 +00:00
Jason McIntyre
646cfa6983 some cleanup; ok nicm 2009-06-03 06:49:05 +00:00
Ray Lai
fdda4142bf Cast char to u_char before passing to isalnum().
OK nicm@
2009-06-03 04:03:16 +00:00
Nicholas Marriott
3f76a973ee Recent code to try and detect if a terminal supports UTF-8 by printing to it
fails spectacularly on (at least) sparc64, so disable it for now. Thanks to
naddy and Josh Elsasser for help and testing.
2009-06-02 23:39:32 +00:00
Igor Sobrado
4215d009a5 remove unused flag; while here, make usage's output fit on 80-column displays. 2009-06-02 16:53:20 +00:00
Igor Sobrado
a35630838f sort options alphabetically. 2009-06-02 16:46:00 +00:00
Pierre-Yves Ritschard
dc373abba8 spawn login shells by default, adapt manpage bits as well.
ok nicm@
2009-06-02 15:55:32 +00:00
Ray Lai
f60bc7e03b Don't access array[-1] if array is an empty string.
OK nicm@
2009-06-02 11:18:59 +00:00
Ray Lai
49c776ea59 Make code clearer:
-       if (hdr->size > SIZE_MAX - 1)
+       if (hdr->size == SIZE_MAX)

OK nicm@
2009-06-02 11:17:03 +00:00
Ray Lai
3686645e77 Don't dereference NULL if buf winds up being empty. Can't happen
right now according to NicM but better safe than sorry.

OK nicm@
2009-06-02 11:14:08 +00:00
Ray Lai
df91860b52 Don't leak memory if multiple -f flags are given.
OK nicm@
2009-06-02 10:49:40 +00:00
Nicholas Marriott
29d4016572 Update the man page with some recent changes to the code:
- SIGUSR1 recreates the socket;
- guesswork to work out if the terminal supports UTF-8;
- a paste key for the command prompt;
- main-horizontal layout to match main-vertical, and options to configure the
  size of the large pane;
- clear-history command;
- select-layout command.
2009-06-01 23:51:00 +00:00
Nicholas Marriott
6e3f673ef7 Whoops, didn't mean to add this. 2009-06-01 23:00:54 +00:00
Nicholas Marriott
35876eaab9 Import tmux, a terminal multiplexor allowing (among other things) a single
terminal to be switched between several different windows and programs
displayed on one terminal be detached from one terminal and moved to another.

ok deraadt pirofti
2009-06-01 22:58:49 +00:00