Nicholas Marriott
3a20a05a49
There is no point setting the scroll region up for line feeds unless scrolling
...
is actually going to happen, so don't.
2009-10-10 10:36:46 +00:00
Nicholas Marriott
9dd72b9583
Add "grouped sessions" which have independent name, options, current window and
...
so on but where the linked windows are synchronized (ie creating, killing
windows and so on are mirrored between the sessions). A grouped session may be
created by passing -t to new-session.
Had this around for a while, tested by a couple of people.
2009-10-10 10:02:48 +00:00
Nicholas Marriott
b7d031cc92
Support for individual session idle time locking. May be enabled by turning off
...
the lock-server option (it is on by default). When this is off, each session
locks when it has been idle for the lock-after-time setting. When on, the
entire server locks when ALL sessions have been idle for their individual
lock-after-time settings.
This replaces one global-only option (lock-after-time) with another
(lock-server), but the default behaviour is usually preferable so there don't
seem to be many alternatives.
Diff/idea largely from Thomas Adam, tweaked by me.
2009-10-10 09:46:11 +00:00
Nicholas Marriott
93b353d353
Instead of passing a struct pollfd ** around through various functions, build
...
them into a tree and then convert into a flat poll array before and after poll.
This adds a little code but should reduce annoying problems with ordering when
adding new things that also need to be polled.
2009-10-10 09:31:39 +00:00
Nicholas Marriott
bf38a311da
The UTF-8 detection idea doesn't work and I am reasonably happy with the
...
current methods, so remove the (already #ifdef 0'd) code.
2009-10-09 07:33:12 +00:00
Nicholas Marriott
3af09ac946
Add a simple synchronize-panes window option: when set, all input to any pane
...
that is part of the window is also sent to all other panes in the same
window. Suggested by several, most recently Tomasz Pajor.
2009-10-09 07:27:00 +00:00
Nicholas Marriott
d528184836
Be less aggressive about turning the cursor off, only explicitly turn it off
...
when tmux is redrawing, otherwise leave in the state set by the application.
2009-10-09 07:23:28 +00:00
Nicholas Marriott
2cb2bb8257
Support J and K for scroll up and scroll down in copy mode with vi keys,
...
suggested by martynas.
2009-10-07 15:58:40 +00:00
Nicholas Marriott
56ddd3c0b1
Fix comment.
2009-10-07 07:02:40 +00:00
Nicholas Marriott
82efcc32ec
Accept ^? for backspace as well as BSpace.
2009-10-06 07:32:26 +00:00
Nicholas Marriott
35ca994ba2
Remove scroll mode which is now redundant, copy mode should be used instead.
...
The = key binding now does nothing.
2009-10-06 07:19:32 +00:00
Nicholas Marriott
9400fdac77
Make C-Up and C-Down in copy mode scroll the screen up and down one line
...
without moving the cursor, like Up and Down in scroll mode (which will shortly
disappear).
2009-10-06 07:09:00 +00:00
Nicholas Marriott
4ca2200d83
If no target client is specified to commands which accept one, try to guess the
...
current client, in a similar manner to how sessions already work: if the
current session can be established and has only one client, use that; otherwise
use the most recently created client.
2009-10-05 18:30:54 +00:00
Jason McIntyre
45043ebf3e
tweak previous;
2009-10-04 11:33:35 +00:00
Nicholas Marriott
d42b86d22b
Get / and ? the right way round in vi mode, and use : for goto line rather than
...
g.
2009-10-04 11:18:26 +00:00
Nicholas Marriott
c734789b18
Check for already locked/suspended clients in server_lock_client rather than
...
its callers.
2009-10-04 10:55:30 +00:00
Nicholas Marriott
205857b232
Add a key string for space ("Space") and document the names, suggested by
...
guenther@. Also document how to bind " and ', suggested by miod@.
2009-10-04 08:50:05 +00:00
Nicholas Marriott
97ca5711f9
C-v and M-v too.
2009-10-04 08:26:41 +00:00
Nicholas Marriott
123ae9e103
Support C-n/C-p with emacs keys in choice mode, also fix a comment.
2009-10-04 08:23:01 +00:00
Nicholas Marriott
8fa1858a2c
New lock-client and lock-session commands to lock an individual client or all
...
clients attached to a session respectively.
2009-09-24 14:17:09 +00:00
Nicholas Marriott
1764ef81ef
Don't allow locked or suspended clients to limit the size of active clients.
2009-09-24 07:02:56 +00:00
Nicholas Marriott
fecf8dc44e
Remove PROMPT_HIDDEN code which is now unused.
2009-09-23 14:42:48 +00:00
Nicholas Marriott
9200a0be7a
Support -c like sh(1) to execute a command, useful when tmux is a login
...
shell. Suggested by halex@.
This includes another protocol version increase (the last for now) so again
restart the tmux server before upgrading.
2009-09-23 12:03:30 +00:00
Nicholas Marriott
18ea820cb0
On SIGTERM, just abandon any suspended/locked clients and leave them to it,
...
otherwise the server will hang around (refusing new connections) until they
exit properly.
2009-09-23 08:21:57 +00:00
Nicholas Marriott
631a618238
Don't die if the client is detaching (the tty has been closed) after waking up
...
from locking.
2009-09-23 07:25:31 +00:00
Nicholas Marriott
b01dcd7971
Remove the internal tmux locking and instead detach each client and run the
...
command specified by a new option "lock-command" (by default "lock -np") in
each client.
This means each terminal has to be unlocked individually but simplifies the
code and allows the system password to be used to unlock.
Note that the set-password command is gone, so it will need to be removed from
configuration files, and the -U command line flag has been removed.
This is the third protocol version change so again it is best to stop the tmux
server before upgrading.
2009-09-23 06:18:47 +00:00
Nicholas Marriott
962fa20b36
Trim some code by moving the ioctl(TIOCGWINSZ) after SIGWINCH from the client
...
into the server.
This is another (the second of four) protocol version changes coming this
morning, so again the server should be killed before upgrading.
2009-09-23 06:12:58 +00:00
Nicholas Marriott
64caf59e84
Don't attempt to open() the tty path, rely on the client sending its stdin fd
...
with imsg and fatal if it doesn't, then set the FD_CLOEXEC flag in tty_init
instead of tty_open to prevent them leaking into child processes if any are
created between the two calls.
This bumps the protocol version, so the tmux server should be killed before
upgrading.
2009-09-23 06:05:02 +00:00
Nicholas Marriott
0a9005678d
Be more careful about what flags are cleared when opening the terminal,
...
otherwise the opened/started flags are cleared and the terminal never released.
2009-09-22 19:11:52 +00:00
Nicholas Marriott
96dd3e8eb9
Permit multiple prefix keys to be defined, separated by commas, for example:
...
set -g prefix ^a,^b
Any key in the list acts as the prefix. The send-prefix command always sends
the first key in the list.
2009-09-22 12:38:10 +00:00
Nicholas Marriott
6fab9a3e6f
Use KEYC_NONE constant instead of 0 on init.
2009-09-21 15:32:06 +00:00
Nicholas Marriott
a448524424
Nuke -i option which isn't used anymore.
2009-09-21 15:25:36 +00:00
Nicholas Marriott
6b37b2d79d
Use option print function for info messages as well.
2009-09-21 14:56:03 +00:00
Nicholas Marriott
e3c3d746f7
Move common code from show-options and show-window-options into a function.
2009-09-21 14:46:47 +00:00
Jason McIntyre
b769aa59d3
zap trailing whitespace;
2009-09-21 07:45:10 +00:00
Nicholas Marriott
fc9107a16a
Drop tiny union from option struct.
2009-09-21 07:00:09 +00:00
Nicholas Marriott
c7a8db5543
Key options were implemented as a number so these struct members are unused.
2009-09-21 06:55:06 +00:00
Nicholas Marriott
14ebcab5b0
run-shell command to run a shell command without opening a window, sending
...
stdout to output mode.
2009-09-20 19:15:01 +00:00
Nicholas Marriott
105ce36792
Nuke unused variables and fix stupid error message.
2009-09-20 17:31:26 +00:00
Nicholas Marriott
9b5f5ed8e8
Move some common and untidy code for window link/unlink into generic functions
...
instead of duplicating it in move/link window..
2009-09-20 17:27:18 +00:00
Nicholas Marriott
273f1b385c
Regularise some fatal messages.
2009-09-20 14:58:12 +00:00
Nicholas Marriott
63d499f480
New option, set-titles-string, to allow the window title to be specified (as
...
for status-left/right) if set-titles is on. Also only update the title when the
status line is being redrawn.
2009-09-18 15:19:27 +00:00
Nicholas Marriott
5c60162e3c
Rather than constructing an entire termios struct from ttydefaults.h, just let
...
forkpty do it and then alter the bits that should be changed after fork. A
little neater and more portable.
2009-09-16 12:35:04 +00:00
Jacek Masiulaniec
a6dd9e8e7e
Enclose repeated buffer draining code in a new msgbuf_drain()
...
function, which is additionally exported for use by others.
From nicm@, who reminded me that tmux is now using buffer.c, too.
2009-09-15 18:12:51 +00:00
Nicholas Marriott
4278199101
Stick line length to what is actually used (removing an optimization that
...
allowed it to be bigger), and use clear line/EOL sequences rather than spaces
in copy/scroll mode.
This fixes xterm copy/paste from tmux which treats trailing spaces differently
from clearing a line with the escape sequences. Reported by martynas@.
2009-09-15 15:14:09 +00:00
Nicholas Marriott
f39865e8e4
The default terminal size should be 80x24, not 80x25.
2009-09-15 07:45:16 +00:00
Nicholas Marriott
8548624676
Nuke unused server_client_index function, pointed out by martynas@.
2009-09-14 11:25:35 +00:00
Nicholas Marriott
8a873b97a3
Doh, trim variables unused now.
2009-09-12 13:09:43 +00:00
Nicholas Marriott
8cb8a0da8d
Tidy some common code for destroying sessions into a new function.
2009-09-12 13:01:19 +00:00
Nicholas Marriott
d771614d33
tmux always outputs \177 for backspace, so explicitly set VERASE to \177 for
...
new windows.
2009-09-12 09:54:34 +00:00