Nicholas Marriott
a3d5bfcece
Define away pledge() on !OpenBSD.
2017-01-23 12:27:58 +00:00
Thomas Adam
b3a724f30c
Merge branch 'obsd-master'
...
Conflicts:
Makefile
tmux.c
2017-01-23 12:20:43 +00:00
nicm
98e7fbb2ac
Open /dev/ptm before pledge() and save it to be used for PTMGET later
...
(this means inlining forkpty()).
ok deraadt
2017-01-23 10:09:43 +00:00
Thomas Adam
c9fcb76651
Merge branch 'obsd-master'
2017-01-15 22:01:11 +00:00
nicm
2b0bc9f1c5
Major tidy up and rework of options tree and set-option/show-options
...
commands this pushes more of the code into options.c and ties it more
closely to the options table rather than having an unnecessary
split. Also add support for array options (will be used later). Only
(intentional) user visible change is that show-options output is now
passed through vis(3) with VIS_DQ so quotes are escaped.
2017-01-15 20:48:41 +00:00
Thomas Adam
d4cb178249
Merge branch 'obsd-master'
2017-01-12 16:01:13 +00:00
nicm
24cba5907b
Simplify appending to string options.
2017-01-12 15:36:35 +00:00
Thomas Adam
a64b7cfe5d
Merge branch 'obsd-master'
2016-12-10 00:01:11 +00:00
nicm
bee95bf378
Spacing nits.
2016-12-09 21:39:27 +00:00
Thomas Adam
b9dc855016
Merge branch 'obsd-master'
...
Conflicts:
format.c
osdep-openbsd.c
2016-10-12 09:45:49 +01:00
nicm
e45401846f
Add static in window-*.c and move some internal functions out of tmux.h.
2016-10-11 13:21:59 +00:00
nicm
c426e485e5
Loads more static, except for cmd-*.c and window-*.c.
2016-10-10 21:29:23 +00:00
Nicholas Marriott
5e9412608e
No longer set __progname, we have getprogname().
2016-05-30 10:02:08 +01:00
Thomas Adam
c10d83b4df
__progname -> getprogname()
...
Fix fallout from recent use of getprogname(), which deprecates __progname.
2016-05-27 20:11:32 +01:00
Thomas Adam
a2e0db67cc
Merge branch 'obsd-master'
2016-05-27 20:01:11 +01:00
nicm
fcb00a4161
Use getprogname() instead of __progname to make portability easier.
2016-05-27 17:05:42 +00:00
Nicholas Marriott
7411f21c5f
Use osdep_event_init() so that LIBEVENT_NOEPOLL and so on are set to turn off
...
broken event methods. Reported by Suraj N Kurapati.
2016-05-20 07:54:30 +01:00
Thomas Adam
f4648c1ca1
Merge branch 'obsd-master'
2016-05-05 00:01:11 +01:00
nicm
9f045787a5
Fix up a couple of long lines.
2016-05-04 21:29:47 +00:00
Thomas Adam
5fc5c03dad
Merge branch 'obsd-master'
...
Conflicts:
tmux.c
2016-03-05 17:58:12 +00:00
nicm
0d6de44a37
If setlocale("en_US.UTF-8") succeeds, then don't do the check for UTF-8
...
locale since if it isn't UTF-8 the system is broken anyway. If it fails,
try "" and check for UTF-8 with nl_langinfo(CODESET) rather than
wcwidth(). Based on a diff from schwarze@, nl_langinfo also suggested by
stsp@.
2016-03-05 16:08:38 +00:00
Thomas Adam
81f78f0da7
Merge branch 'obsd-master'
2016-03-05 10:01:09 +00:00
nicm
1f0b317088
Although we always have en_US.UTF-8 on OpenBSD, some platforms do not,
...
so fall back to setlocale(LC_CTYPE, ""). tmux requires a UTF-8 locale,
so check with wcwidth() on a UTF-8 character after setlocale().
2016-03-05 07:44:31 +00:00
Thomas Adam
e304673c65
Merge branch 'obsd-master'
...
Conflicts:
utf8.c
2016-03-02 18:10:51 +00:00
nicm
e647eeb0c9
Remove unused variables, from Michal Mazurek.
2016-03-01 12:02:54 +00:00
nicm
26945d7956
Use system wcwidth() instead of carrying around UTF-8 width tables.
2016-03-01 12:02:08 +00:00
Nicholas Marriott
fc864529f5
Remove malloc_options debug bit (already gone from OpenBSD).
2016-02-19 13:11:10 +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
5862f59ed7
Conflicts:
...
Makefile
2015-12-08 07:11:09 +00:00
nicm
d2fb0efcd1
Add hooks infrastructure, basic commands (set-hook, show-hooks) and a
...
couple of not very useful client hooks. This will eventually let
commands be run at various points and on notifications. Joint work with
Thomas Adam.
2015-12-08 01:10:31 +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
62d3af17f9
Make environ_set va_args and use it to tidy up some calls. Also add a
...
missing word in manpage (from jmc).
2015-11-24 23:46:15 +00:00
nicm
3ff46b2e43
Shell command from -c doesn't have to be global, pass it as an argument.
2015-11-24 23:22:51 +00:00
nicm
c913fb99b6
Tidy the code that works out the socket path, and just use the full path
...
in the global socket_path rather than copying it.
2015-11-24 22:27:22 +00:00
nicm
8976dac9e0
Remove malloc_options DEBUG bit.
2015-11-24 22:09:53 +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
78a00c845c
Merge branch 'obsd-master'
...
Conflicts:
tmux.h
2015-11-21 14:24:33 +00:00
nicm
fce56c56ef
Instead of separate tables for different types of options, give each
...
option a scope type (server, session, window) in one table.
2015-11-20 12:01:19 +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
5f483499f3
Merge branch 'obsd-master'
2015-11-12 12:01:17 +00:00
nicm
0cc812ae34
tmux is UTF-8, so if $TMUX is set (tmux running in tmux), the client is
...
UTF-8. Also try to make the existing checks more readable.
2015-11-12 11:24:08 +00:00
nicm
1b86f520ea
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8
...
terminal. We still support non-UTF-8 terminals outside tmux, but inside
it is always UTF-8 (as when the utf8 and status-utf8 options were on).
2015-11-12 11:09:11 +00:00
Thomas Adam
f2e4aa8d1c
Merge branch 'obsd-master'
2015-11-12 00:01:10 +00:00
nicm
00c34df186
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says
...
it supports UTF-8.
2015-11-11 23:23:33 +00:00
Thomas Adam
a5e4d3a2d8
Merge branch 'obsd-master'
2015-10-28 12:01:11 +00:00
nicm
bf9c933cae
Like options, move the environ struct into environ.c.
2015-10-28 09:51:55 +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
Thomas Adam
91f53d590b
__OpenBSD__ around pledge()
2015-10-25 09:31:07 +00:00
Thomas Adam
3e0d31c4e9
Merge branch 'obsd-master'
2015-10-25 09:22:20 +00:00
Thomas Adam
4acc8d0ff5
Merge branch 'obsd-master'
...
Conflicts:
cmd-find.c
2015-10-25 09:21:37 +00:00
deraadt
3034a71488
Let's see if anyone screams about not being able to specify $TMPDIR
...
for their tmux sockets.
(Over the years, I have seen $TMPDIR set up worse than /tmp many times,
and don't know how this practice infected other parts of the system.
Nothing uses tmpdir(3), nor a huge-temporary-file program like sort.)
ok nicm
2015-10-25 07:48:16 +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
Nicholas Marriott
c06c14fb29
Some header fixes.
2015-10-15 21:42:17 +01:00
Thomas Adam
d47789620b
Add missing <time.h>
2015-09-14 14:39:51 +01:00
Thomas Adam
4afe26fa82
Merge branch 'obsd-master'
2015-09-14 14:01:09 +01:00
nicm
216ddf3da5
Move tzset() from log_open to main.
2015-09-14 12:12:24 +00:00
Nicholas Marriott
79e5b62907
osdep_event_init not event_init.
2015-09-10 12:41:49 +01:00
Thomas Adam
76688d2040
Merge branch 'obsd-master'
...
Conflicts:
cfg.c
tmux.c
2015-09-06 20:47:50 +01:00
nicm
82326dcbe2
A couple of style nits.
2015-09-03 14:30:23 +00:00
nicm
952ba84611
Work out config file when needed not at startup.
2015-09-01 10:10:59 +00:00
nicm
6a539c00df
Path from $TMUX does not need to be global anymore.
2015-08-30 22:56:36 +00:00
nicm
c6e9160c67
Login shell can be a client flag, and move the exec code into client.c.
2015-08-30 22:40:25 +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
b87dc608d9
Some style nits and dead assignments.
2015-08-30 15:43:40 +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
Nicholas Marriott
73f9f0334c
Check for flock in libbsd for AIX, and remove some getopt.h includes. From J
...
Raynor.
2015-07-13 14:19:50 +01:00
Thomas Adam
7acc4addb5
Merge branch 'obsd-master'
...
Conflicts:
client.c
tmux.1
tmux.c
2015-06-07 23:42:25 +01:00
jmc
dc0d34e137
tweak SYNOPSIS and usage();
2015-06-04 20:34:22 +00:00
Thomas Adam
833fe5bdee
Merge branch 'obsd-master'
...
Conflicts:
cmd-pipe-pane.c
2015-02-06 19:07:43 +00:00
nicm
d451502676
Make a tmux-%u directory under TMUX_TMPDIR, like TMPDIR.
2015-01-19 09:58:34 +00:00
Nicholas Marriott
747cab4281
No need for $Id$ now.
2014-11-08 12:27:43 +00:00
Thomas Adam
562af864bd
Merge branch 'obsd-master'
...
Conflicts:
Makefile
cmd-list-commands.c
cmd-suspend-client.c
job.c
tmux.h
xmalloc.c
2014-10-21 07:11:44 +01:00
nicm
900f6fc17e
Tidy up some includes.
2014-10-20 23:27:14 +00:00
Thomas Adam
953c3ef47a
Merge branch 'obsd-master'
...
Conflicts:
Makefile
tmux.1
window.c
2014-04-23 11:26:11 +01:00
nicm
2740490e27
Remove the "info" message mechanism, this was only used for about five
...
mostly useless and annoying messages. Change those commands to silence
on success like all the others. Still accept the -q command line flag
and "quiet" server option for now.
2014-04-17 07:55:43 +00:00
nicm
48478ea0a9
Remove log_debug2 as well and simplify log.c.
2014-03-31 21:42:45 +00:00
Nicholas Marriott
b1a87b2ee4
Remove log_debug2 as well and simplify log.c.
2014-03-07 16:05:29 +00:00
nicm
81db6bab91
Leftovers from removing 88 colour support, from Theo Buehler.
2014-02-16 12:45:17 +00:00
Thomas Adam
1721056f35
Remove references to 88colour support
...
Tmux doesn't directly support terminals with 88 colours directly anymore.
2014-02-05 10:51:25 +00:00
Thomas
d02c4bda3a
Merge branch 'obsd-master'
2014-01-20 10:48:12 +00:00
nicm
938768ed3d
Do not attempt to read .tmux.conf if we can't figure out a home
...
directory, from Tiago Cunha.
2014-01-15 11:46:28 +00:00
nicm
adc1f21eae
Three small changes from Tiago Cunha:
...
- Check for truncation when copying path.
- Don't need to use a temporary buffer in screen_set_title.
- Include strerror in output when connecting to server fails.
2014-01-09 14:05:55 +00:00
nicm
c1ccefc62d
We accidentally haven't been using $TMUX to work out the session for a
...
while and in fact it is less useful that using the client ttyname. So
don't bother and don't pass it from the client. If we need it in future
it is in c->environ.
2013-10-10 12:29:35 +00:00
nicm
282c5f9644
Alter how tmux handles the working directory to internally use file
...
descriptors rather than strings.
- Each session still has a current working directory.
- New sessions still get their working directory from the client that
created them or its attached session if any.
- New windows are created by default in the session working directory.
- The -c flag to new, neww, splitw allows the working directory to be
overridden.
- The -c flag to attach let's the session working directory be changed.
- The default-path option has been removed.
To get the equivalent to default-path '.', do:
bind c neww -c $PWD
To get the equivalent of default-path '~', do:
bind c neww -c ~
This also changes the client identify protocol to be a set of messages rather
than one as well as some other changes that should make it easier to make
backwards-compatible protocol changes in future.
2013-10-10 12:26:34 +00:00
nicm
eb26dbd072
Merge IDENTIFY_* flags with CLIENT_* flags.
2013-10-10 12:12:08 +00:00
nicm
e4dc1568ce
Don't treat TMUX_TMPDIR as a potential file
...
The point of setting TMUX_TMPDIR is to then make any labels from -L go
to that directory. In the case of makesocketpath() with no TMUX_TMPDIR
set, would set both the path and the default socket to a file. The
checking of the permissions on the file worked fine in that case, but
when TMUX_TMPDIR is set, won't work on a directory.
This fixes the problem by ensuring the check on the permissions is
performed on directories only.
By Thomas Adam.
2013-10-10 12:03:22 +00:00
Nicholas Marriott
e9b09faab2
We accidentally haven't been using $TMUX to work out the session for a while
...
and in fact it is less useful that using the client ttyname. So don't bother
and don't pass it from the client. If we need it in future it is in c->environ.
2013-10-06 22:38:33 +01:00
Nicholas Marriott
4538c269d0
Alter how tmux handles the working directory to internally use file descriptors
...
rather than strings.
- Each session still has a current working directory.
- New sessions still get their working directory from the client that created
them or its attached session if any.
- New windows are created by default in the session working directory.
- The -c flag to new, neww, splitw allows the working directory to be
overridden.
- The -c flag to attach let's the session working directory be changed.
- The default-path option has been removed.
To get the equivalent to default-path '.', do:
bind c neww -c $PWD
To get the equivalent of default-path '', do:
bind c neww -c '#{pane_current_path}'
The equivalent of default-path '~' is left as an exercise for the reader.
This also changes the client identify protocol to be a set of messages rather
than one as well as some other changes that should make it easier to make
backwards-compatible protocol changes in future.
2013-10-06 21:02:23 +01:00
Nicholas Marriott
01a4752503
Merge IDENTIFY_* flags with CLIENT_* flags.
2013-10-06 00:10:40 +01:00