Commit Graph

742 Commits

Author SHA1 Message Date
Nicholas Marriott
5f2f07ed8a Cursor up and down should be limited by the scroll region (cuu should stop at
the scroll region top if starting from below it and cud stop at the bottom if
starting from above). Fixes another vttest test.
2009-07-09 17:57:11 +00:00
Nicholas Marriott
81181bfb72 New command, if-shell (alias if). Executes the tmux command in the second
argument if the shell command in the first succeeds, for example:

       if "[ -e ~/.tmux.conf.alt ]" "source .tmux.conf.alt"

Written by Tiago Cunha, many thanks.
2009-07-09 15:47:49 +00:00
Nicholas Marriott
24e1327d0d Stop in the right place so all the lines selected are copied. Reported by Kalle
Olavi Niemitalo, thanks.
2009-07-09 15:02:00 +00:00
Nicholas Marriott
29f9d5f335 Don't leak FILE * on malloc failure. From ivoire at users dot sourceforge dot net. 2009-07-09 09:54:56 +00:00
Nicholas Marriott
86c93c6e34 Change inserting and deleting lines inside the scroll region to properly clear
lines that should be inserted/deleted but not moved. Fixes problems with mutt
reported by Brian Lewis, thanks.
2009-07-09 07:58:14 +00:00
Nicholas Marriott
643c219d18 Tidy by removing unused argument from grid_view_{insert,delete}_line_region
functions (currently don't fully work, this is to make fix easier).
2009-07-09 00:29:32 +00:00
Nicholas Marriott
f63761eabc Fix two memory leaks when assigning shell variables in configuration
file/command prompt. From Tiago Cunha.
2009-07-08 16:04:56 +00:00
Nicholas Marriott
8c497ecac0 When reinitialising the screen, do not omit to clear the last line. 2009-07-08 05:56:11 +00:00
Nicholas Marriott
084d07f4eb Just appending -l to $SHELL to create a login shell is wrong: -l is not POSIX,
and some people may use shells which do not support it. Instead, make an empty
default-command option mean a login shell, and fork it with a - in argv[0]
which is the method used by login(1).

Also fix the automatic-rename code to handle this correctly and to strip a
leading - if present.
2009-07-08 05:26:45 +00:00
Nicholas Marriott
b4efd1ca89 Don't let ambiguous commands override an exact alias match: eg if commands
"abc-1", "abc-2", "abc-3" exist and "abc-3" has the alias "abc", "tmux abc"
should execute abc-3, not complain about the command being ambiguous.

Not a problem at the moment but will be soon.
2009-07-07 21:23:22 +00:00
Nicholas Marriott
923ccfa2e8 Rename the global options variables to be shorter and to make session options
clear. No functional change, getting this out of the way to make later options
changes easier.
2009-07-07 19:49:19 +00:00
Nicholas Marriott
474fdebb7a Handle empty or unset TERM correctly; also fix a fatal() message while here. 2009-07-07 17:24:32 +00:00
Nicholas Marriott
9ced016cbc When sending a "protocol mismatch" error message, tell the client to exit
afterwards, otherwise it hangs.
2009-07-07 12:34:47 +00:00
Nicholas Marriott
e538d4adae The fix for default-path (use target session options instead of global options)
is required here as well, doh.
2009-07-07 07:01:10 +00:00
Nicholas Marriott
eb424cf63d Minor fix: look for default-path in the options for the specified session first
rather than just the global options. From Brandon Mercer, thanks.
2009-07-07 06:58:49 +00:00
Nicholas Marriott
69e150b7e3 Add a section summarising how options work, make the distinction between window
and session options clearer, and fix the incorrect synopses and descriptions of
show-options and show-window-options.
2009-07-06 19:50:04 +00:00
Nicholas Marriott
fe5edad1fc Fix two copy/paste bugs: forbid zero-length buffers to prevent a fatal error
when trying to paste them, found by me, and miscalculation of the start/end
causing random fatal errors when copying in copy-mode, reported by sthen.

ok sthen "put it in" deraadt
2009-07-02 16:15:43 +00:00
Nicholas Marriott
4c5c125173 When unlocking the server, don't try to clear the prompt on clients without a
prompt (such as the one issuing the unlock request).

This caused the server to die if the wrong password was entered when unlocking
from the command line with -U (nasty).
2009-06-30 13:40:30 +00:00
Nicholas Marriott
68e06fb6b7 Fix two errors with character/line insertion and deletion: the maximum number
of characters which may be inserted or deleted is the screen width, not one
less (and similarly for lines and height); and if characters or lines are
deleted by moving the ones that follow, the space at the end needs to be
cleared.

This appears to solve long-standing redraw issues most visible when using the
force-width option then scrolling in view(1) or unwrapping lines in emacs.
2009-06-29 21:30:50 +00:00
Nicholas Marriott
003e8e65f7 Don't try to page up with scroll-mode -u or copy-mode -u unless the mode was
successfully changed - if already in a different mode, it would corrupt the
mode data.
2009-06-29 07:11:20 +00:00
Nicholas Marriott
710393e388 Use gmtime_r so the current time isn't overwritten, the minute comparison works
and the clock is actually updated. It was already used for lock-server but not
here.
2009-06-27 14:40:22 +00:00
Nicholas Marriott
2660692fb1 Copy the 256-colour flag into the tty saved cell as well as the actual colour,
otherwise colour 8 isn't reset properly.
2009-06-27 12:57:14 +00:00
Nicholas Marriott
916669a244 Add missing spaces before some alias closing brackets, otherwise they are
shown in the wrong style.
2009-06-26 22:47:06 +00:00
Nicholas Marriott
46f80d01ff After logging (if enabled) is switched to file, there is no reason to keep
stdin/stdout/stderr active, so dup them to /dev/null.
2009-06-26 22:12:19 +00:00
Nicholas Marriott
b11b1dd1c0 Remove some unused function declarations; no binary change. 2009-06-26 19:44:36 +00:00
Nicholas Marriott
1ec736a3dc Status line fixes: don't truncate status-right now the length calculation is
done for UTF-8, limit to the maximum length correctly when printing, and always
print a space even if the left string is longer than the width available.
2009-06-26 15:13:39 +00:00
Nicholas Marriott
c506e7f711 Also #ifndef nitems here, caught by Thomas Jeunet. 2009-06-26 10:55:37 +00:00
Nicholas Marriott
eb8ab96980 Remove some dead assignments, found by sthen with clang. 2009-06-25 22:09:20 +00:00
Nicholas Marriott
e225ce0fd7 #ifndef nitems to avoid redefining it if it is already in a header. 2009-06-25 22:08:15 +00:00
Nicholas Marriott
e8c10f5b34 Use the pane flags not the window flags. Doh. 2009-06-25 08:08:18 +00:00
Marc Espie
5050171f6b diagflags for diags
okay nicm@
2009-06-25 07:42:41 +00:00
Nicholas Marriott
dbbb297d5f If getcwd() fails, use the user's home directory, or /, instead of failing with
an error.
2009-06-25 06:54:32 +00:00
Nicholas Marriott
be17ac1eb2 lines variable can be -1 (to be ignored), so should be signed. Found by lint. 2009-06-25 06:48:23 +00:00
Nicholas Marriott
40c242a6d5 Remove error about using -L and -S together which was never displayed as
logging wasn't yet enabled, was unnecessary, and contradicted the man page
which says using -S will cause -L to be ignored.
2009-06-25 06:40:25 +00:00
Nicholas Marriott
a7075f1c66 tmux doesn't and won't need syslog logging, so remove it and some other unused
functions found by lint.

Also move a couple of internal function declarations into file scope.
2009-06-25 06:23:10 +00:00
Nicholas Marriott
1675ddb4d1 Miscellaneous unused functions, including one which was basically a
duplicate. Found by lint.
2009-06-25 06:15:04 +00:00
Nicholas Marriott
ed8350422e Nuke unused buffer functions. Found by lint.
Also remove some old debug output which was #if 0.
2009-06-25 06:05:47 +00:00
Nicholas Marriott
9144d30848 Unused prototypes. Found by lint, no binary change. 2009-06-25 06:00:45 +00:00
Nicholas Marriott
83078bdcbc Unused variables. Found by lint, no binary change. 2009-06-25 05:56:44 +00:00
Nicholas Marriott
74d0851ac5 Remove some cruft from the Makefile. 2009-06-24 23:32:18 +00:00
Nicholas Marriott
23326e40cf Now that a UTF-8-capable puts function exists, use it for printing strings in
choice/more modes - lines with UTF-8 now display properly in find-window
results.
2009-06-24 23:00:31 +00:00
Nicholas Marriott
3db2433448 Fix a type mismatch warning in assignment. 2009-06-24 22:51:47 +00:00
Nicholas Marriott
7e796dea03 Change find-window and monitor-content to use fnmatch(3). For convenience and
compatibility, *s are implicitly added at the start and end of the pattern.

Also display the line number and the entire line in the results, and lose the
nasty section_string function and the now empty util.c file.

Initially from Tiago Cunha.
2009-06-24 22:49:56 +00:00
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