Thomas Adam
c2aa40449c
Merge branch 'obsd-master'
2018-02-22 12:02:31 +00:00
nicm
623f4b12d3
Add exit-empty option to exit server if no sessions (defaults to on).
2018-02-22 10:54:51 +00:00
Thomas Adam
74ecc866cf
Merge branch 'obsd-master'
2017-12-19 16:01:20 +00:00
nicm
b20a00f93e
Report better error from server when socket create fails, GitHub issue
...
1201.
2017-12-19 15:00:39 +00:00
Thomas Adam
31901e3c07
Merge branch 'obsd-master'
...
Conflicts:
server-fn.c
2017-10-20 12:36:29 +01:00
nicm
a5fd5782f8
Show exit status and time in the remain-on-exit pane text, mostly from
...
Timo Boettcher in GitHub issue 1103.
2017-10-12 11:32:27 +00:00
Thomas Adam
acbbc93501
Merge branch 'obsd-master'
2017-07-14 22:01:10 +01:00
nicm
932f6cfbfc
Because ignore SIGCHLD early, letting signal_del restore it doesn't work
...
correctly, so set it explicitly back to default (and the others for good
measure).
2017-07-14 18:49:07 +00:00
Thomas Adam
1076a2e26c
Merge branch 'obsd-master'
...
Conflicts:
cmd-pipe-pane.c
proc.c
tmux.c
window.c
2017-07-12 13:43:08 +01:00
nicm
51112221ee
Block signals between forking and clearing signal handlers (or calling
...
event_reinit) - if the child gets a signal and fires the libevent signal
handler during this period it could write a signal into the parent's
signal pipe. GitHub issue 1001 from Aaron van Geffen.
2017-07-12 10:04:51 +00:00
nicm
0453ad0146
Move signal code into proc.c.
2017-07-12 09:24:17 +00:00
Thomas Adam
fbbf5a108b
Merge branch 'obsd-master'
2017-07-10 00:01:15 +01:00
nicm
58b796608f
Some extra logging to show why tmux might exit.
2017-07-09 22:33:09 +00:00
Thomas Adam
4e01036cb6
Merge branch 'obsd-master'
2017-07-03 10:01:14 +01:00
nicm
28687f2d55
Do not close panes until process has exited and any outstanding data
...
has been written to the pipe-pane event if there is one. GitHub issue 991.
2017-07-03 08:16:03 +00:00
Thomas Adam
e62e17d046
Merge branch 'obsd-master'
...
Conflicts:
tmux.1
window.c
2017-06-05 11:59:38 +01:00
nicm
adf5628087
Support SIGUSR2 to stop and start logging for an existing server. Also
...
we currently only have two log levels so just use -v and -vv rather than
-v and -vvvv, and clarify the man page entry for -v.
2017-06-04 08:25:57 +00:00
Thomas Adam
d8398af770
Merge branch 'obsd-master'
2017-04-22 08:01:54 +01:00
nicm
2c9bdd9e32
Memory leaks, from David CARLIER.
2017-04-22 06:13:30 +00:00
Thomas Adam
fd13731049
Merge branch 'obsd-master'
2017-04-21 22:01:14 +01:00
nicm
efaf4c16cf
Make the cmd_find_* functions more obvious when looking for a client,
...
rather than having it inside other functions. Should be no change to the
way targets are resolved just yet.
2017-04-21 20:26:34 +00:00
Thomas Adam
4612419c14
Merge branch 'obsd-master'
2017-04-21 16:01:18 +01:00
nicm
428be9803c
History needs to be loaded after config parsing is done - now that
...
commands are queued, that's in cfg_done not after start_cfg finishes.
2017-04-21 14:04:54 +00:00
Thomas Adam
48371216df
Merge branch 'obsd-master'
2017-04-20 12:01:14 +01:00
nicm
0b44ad99b5
If a #() command doesn't exit, use its most recent line of output (it
...
must be a full line). Don't let it redraw the status line more than once
a second.
Requested by someone about 10 years ago...
2017-04-20 09:20:22 +00:00
Thomas Adam
02e04477de
Merge branch 'obsd-master'
...
Conflicts:
server.c
2017-02-14 13:55:16 +00:00
nicm
c6a3446398
Instead of numbering session groups, give them a name which may be given
...
to -t instead of a target session. Also allow them to contain only one
session.
2017-02-09 15:04:53 +00:00
Nicholas Marriott
ea70e68a51
-paths.h.
2017-01-25 16:39:02 +00:00
Nicholas Marriott
0f9354eec2
Bad merge.
2017-01-25 16:38:13 +00:00
Nicholas Marriott
a3d5bfcece
Define away pledge() on !OpenBSD.
2017-01-23 12:27:58 +00:00
Thomas Adam
7177eeaa42
Merge branch 'obsd-master'
2016-11-12 20:01:10 +00:00
nicm
b7398a4918
Do not execute commands for a client until it has identified, fixes
...
problem reported by Frank Terbeck.
2016-11-12 19:04:41 +00:00
Thomas Adam
1a6e696b08
Merge branch 'obsd-master'
2016-10-16 22:01:14 +01:00
nicm
026ad08b56
Notifys can go via the command queue instead of using their own queue.
2016-10-16 19:15:02 +00:00
Thomas Adam
c67b702588
Merge branch 'obsd-master'
2016-10-16 20:01:10 +01:00
nicm
ddc4512d2e
Rewrite command queue handling. Each client still has a command queue,
...
but there is also now a global command queue. Instead of command queues
being dispatched on demand from wherever the command happens to be
added, they are now all dispatched from the top level server
loop. Command queues may now also include callbacks as well as commands,
and items may be inserted after the current command as well as at the end.
This all makes command queues significantly more predictable and easier
to use, and avoids the complex multiple nested command queues used by
source-file, if-shell and friends.
A mass rename of struct cmdq to a better name (cmdq_item probably) is
coming.
2016-10-16 17:55:14 +00:00
Thomas Adam
623e54788e
Merge branch 'obsd-master'
2016-10-15 02:01:12 +01:00
nicm
9b3ae84993
Drain notifys once at the end of the server loop instead of doing it
...
from the end of every command queue (which could be nested).
2016-10-15 00:01:01 +00:00
Thomas Adam
b9dc855016
Merge branch 'obsd-master'
...
Conflicts:
format.c
osdep-openbsd.c
2016-10-12 09:45:49 +01:00
nicm
c426e485e5
Loads more static, except for cmd-*.c and window-*.c.
2016-10-10 21:29:23 +00:00
Thomas Adam
2d843b5021
Merge branch 'obsd-master'
2016-07-07 12:01:11 +01:00
semarie
fc118e13a9
tmux: only consider ACCESSPERMS for setting mode on socket_path.
...
it explicitly removes any S_ISUID|S_ISGID|S_ISTXT bits, instead of letting
pledge(2) silenciously remove them.
ok nicm@ beck@ deraadt@
2016-07-07 09:24:09 +00:00
Thomas Adam
1394420c37
Merge branch 'obsd-master'
2016-03-30 16:01:19 +01:00
nicm
ec82fcdfea
Bump the listen() backlog up, some people have scripts that run up a lot
...
of clients quickly.
2016-03-30 13:20:07 +00:00
Thomas Adam
dc42c35f1f
Merge branch 'obsd-master'
2016-01-19 18:01:15 +00:00
nicm
995af0e2b7
I no longer use my SourceForge address so replace it.
2016-01-19 15:59:12 +00:00
Thomas Adam
e0cae08c04
Merge branch 'obsd-master'
2015-12-17 00:01:08 +00:00
nicm
021c64310d
Add infrastructure to work out the best target given a pane or window
...
alone and use it to add pane_died and pane_exited hooks.
2015-12-16 21:50:37 +00:00
Thomas Adam
1a33ea9671
Merge branch 'obsd-master'
2015-12-15 02:01:14 +00:00
nicm
12da13c9d1
Make the marked pane a cmd_find_state.
2015-12-15 00:00:01 +00:00
Thomas Adam
890d8da2e3
Merge branch 'obsd-master'
...
Conflicts:
log.c
proc.c
tmux.c
2015-11-25 16:37:30 +00:00
nicm
dca93c56e0
Do lock failures slightly better, return a special value so we don't
...
unlink the wrong thing.
2015-11-24 23:01:51 +00:00
nicm
1e2df2d464
Remove the -I part of show-messages which isn't really that useful; the
...
server start time can now be accessed with a new start_time format (use:
tmux display -p '#{t:start_time}')
2015-11-24 21:52:06 +00:00
nicm
9cccb8c115
Make the log stuff a bit tidier with some helper functions.
2015-11-24 21:19:46 +00:00
Thomas Adam
d63de1e407
Merge branch 'obsd-master'
...
Conflicts:
server.c
tmux.c
2015-11-23 21:20:54 +00:00
nicm
01a2ddf3f8
Add getpw to pledge, makes tmux work in YP environments, discovered by
...
matthieu, ok deraadt
2015-11-22 19:41:19 +00:00
Thomas Adam
7fe8edc396
Merge branch 'obsd-master'
2015-11-18 16:01:23 +00:00
nicm
577c0e3e5a
Use __unused rather than rolling our own.
2015-11-18 14:27:44 +00:00
Thomas Adam
8213558cc7
Merge branch 'obsd-master'
...
Conflicts:
server.c
tmux.c
2015-11-15 22:49:25 +00:00
nicm
a582b62287
Accidentally turned off pledge, turn it back on.
2015-11-15 14:32:48 +00:00
Thomas Adam
7b749eff35
Merge branch 'obsd-master'
...
Conflicts:
server.c
tmux.c
2015-11-14 11:38:30 +00:00
nicm
c56b81a2ce
Push stdout and stderr to clients more aggressively, and add an event to
...
continue if the send fails.
2015-11-14 09:41:06 +00:00
Thomas Adam
4f88344df3
Merge branch 'obsd-master'
2015-11-12 14:01:14 +00:00
nicm
d6daf37df4
Tidy utf8.c a little: build table on first use, and make utf8_width take
...
a u_int rather than splitting and then combining again in utf8_split.
2015-11-12 12:19:57 +00:00
Thomas Adam
c975de2e07
Merge branch 'obsd-master'
...
Conflicts:
server.c
2015-10-31 23:56:35 +00:00
nicm
abb4e9e2fa
The output log is only useful once and it means creating a file, so open
...
it once at startup instead of in every call to tty_open.
2015-10-31 13:12:03 +00:00
Thomas Adam
da1f6fc2c8
Merge branch 'obsd-master'
...
Conflicts:
Makefile
client.c
server-client.c
server.c
tmux.c
tmux.h
2015-10-27 23:27:26 +00:00
nicm
44657bf932
Move struct options into options.c.
2015-10-27 15:58:42 +00:00
nicm
07b0ea03c3
Break the common process set up, event loop and imsg dispatch code
...
between server and client out into a separate internal API. This will
make it easier to add another process.
2015-10-27 13:23:24 +00:00
Nicholas Marriott
7930cb54c0
ifdef __OpenBSD__ around pledge().
2015-10-25 09:31:46 +00:00
Thomas Adam
4acc8d0ff5
Merge branch 'obsd-master'
...
Conflicts:
cmd-find.c
2015-10-25 09:21:37 +00:00
nicm
5383b047d1
tmux can call pledge() in main with large set and then reduce it
...
slightly in the server to "stdio rpath wpath cpath fattr unix recvfd
proc exec tty ps".
2015-10-23 16:07:29 +00:00
Thomas Adam
8c39813665
Merge branch 'obsd-master'
2015-10-22 14:01:12 +01:00
Thomas Adam
6bc3902f5d
Merge branch 'obsd-master'
2015-10-22 12:01:09 +01:00
nicm
515dfea4b7
This should not be changed.
2015-10-22 10:48:30 +00:00
nicm
31fd071faa
Rename shutdown to exit.
2015-10-22 10:46:24 +00:00
Thomas Adam
f69e09a67e
Merge branch 'obsd-master'
2015-10-11 02:01:14 +01:00
guenther
241fd72f75
Userspace doesn't need to use SUN_LEN(): connect() and bind() must accept
...
sizeof(struct sockaddr_un), so do the simple, portable thing
ok beck@ deraadt@
2015-10-11 00:26:23 +00:00
Thomas Adam
76688d2040
Merge branch 'obsd-master'
...
Conflicts:
cfg.c
tmux.c
2015-09-06 20:47:50 +01:00
nicm
83157c02d6
Move initial conf load into cfg.c.
2015-09-01 10:01:56 +00:00
nicm
dd92b6e83d
Event base does not need to be global.
2015-08-30 22:19:07 +00:00
Thomas Adam
cb89f2f2a1
Merge branch 'obsd-master'
...
Conflicts:
Makefile
format.c
2015-08-30 21:44:01 +01:00
nicm
b9f0571780
We already loop over the windows in server_client_loop, so don't do it
...
again in server_loop just to check names.
2015-08-29 08:54:41 +00:00
nicm
b5aaefc727
Move alerts onto events rather than checking every loop.
2015-08-29 08:30:54 +00:00
Thomas Adam
486421ceff
Merge branch 'obsd-master'
2015-08-28 16:01:09 +01:00
nicm
f957db81d9
Remove unused prototypes.
2015-08-28 13:21:25 +00:00
nicm
f6a0f8730e
Per-session timers for locking, and remove the global one-second timer.
2015-08-28 13:12:20 +00:00
Thomas Adam
84eabb2658
Merge branch 'obsd-master'
2015-08-28 14:01:11 +01:00
nicm
675def0396
Remove the lock-server option which is a bit redundant, it isn't that
...
different without it.
2015-08-28 12:31:55 +00:00
nicm
6419f66523
Give clock mode its own timer.
2015-08-28 12:25:42 +00:00
nicm
75d10058a4
Run status update on a per-client timer at status-interval.
2015-08-28 12:16:28 +00:00
nicm
b6618b631b
Move format job cleanup onto its own timer.
2015-08-28 11:38:27 +00:00
Thomas Adam
18a64ad52d
Merge branch 'obsd-master'
2015-07-20 18:01:10 +01:00
nicm
92af3766ec
Add an option (history-file) for a file to save/restore command prompt
...
history, from Olof-Joachim Frahm.
2015-07-20 15:50:04 +00:00
Thomas Adam
7acc4addb5
Merge branch 'obsd-master'
...
Conflicts:
client.c
tmux.1
tmux.c
2015-06-07 23:42:25 +01:00
nicm
641a9cd3f5
Similarly, for sessions use a callback to free rather than checking
...
every loop.
2015-06-05 18:18:32 +00:00
nicm
8c93b768e4
Instead of putting dead clients on a list and checking it every loop,
...
use event_once to queue a callback to deal with them. Also dead clients
with references would never actually be freed because the wrap-up
functions (the callback for stdin, or status_prompt_clear) would never
be called. So call them in server_client_lost.
2015-06-05 18:01:12 +00:00
Thomas Adam
02e348c069
Merge branch 'obsd-master'
2015-06-04 12:59:41 +01:00
nicm
a863834574
Add support for a single "marked pane". There is one marked pane in the
...
server at a time; it may be toggled or cleared with select-pane -m and
-M (the border is highlighted). A new target '~' or '{marked}' specifies
the marked pane to commands and it is the default target for the
swap-pane and join-pane -s flag (this makes them much simpler to use -
mark the source pane and then change to the target pane to run swapp or
joinp).
2015-06-04 11:43:51 +00:00
Thomas Adam
b675e6b2d5
Merge branch 'obsd-master'
2015-06-01 12:01:17 +01:00