aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FAQ45
-rw-r--r--Makefile.am6
-rw-r--r--README (renamed from NOTES)28
-rw-r--r--SYNCING2
-rw-r--r--TODO57
-rw-r--r--cmd-queue.c2
-rw-r--r--cmd-save-buffer.c1
-rw-r--r--cmd-server-info.c3
-rw-r--r--cmd-wait-for.c2
-rw-r--r--compat/getopt.c2
-rw-r--r--configure.ac5
-rw-r--r--examples/tmux-zoom.sh57
-rw-r--r--examples/tmux.vim14
-rw-r--r--osdep-darwin.c27
-rw-r--r--server-client.c1
-rw-r--r--tmux.14
-rw-r--r--tty-term.c3
-rw-r--r--www/index.html.in98
18 files changed, 103 insertions, 254 deletions
diff --git a/FAQ b/FAQ
index 3a5eea3e..41b917c8 100644
--- a/FAQ
+++ b/FAQ
@@ -326,51 +326,6 @@ lock(1) or vlock(1)) by using the following:
bind x set lock-command '/usr/bin/vlock' \; lock-client \; set lock-command 'tput civis && read -s -n1'
-* How can I open a new window in the same directory as the current window?
-
-One option is to just run "TMUX= tmux" in the window. However, this only works if no
-command is running, so that you can input the command.
-
-A workaround is to let tmux know about the current path through an environment
-variable. To do so, use the following command:
-
- [ -n "$TMUX" ] && tmux setenv TMUXPWD_$(tmux display -p "#I") $PWD
-
-Which sets TMUXPWD_i (where i is the number of the current window) to the path
-of the current directory. This command can be added to PS1, for example:
-
- PS1='$([ -n "$TMUX" ] && tmux setenv TMUXPWD_$(tmux display -p "#I") $PWD)\h$ '
-
-When a new window is created, the shell should be asked to change
-directory. You can define a new binding (for example, if using GNU bash):
-
- bind-key C-c run-shell 'tmux neww "cd $(tmux display -p "\$TMUXPWD_#I"); exec bash"'
-
-This solution will work even if a command is currently running in the terminal,
-but it will not work from a window that has just been swapped with another
-because TMUXPWD_i will not be updated after a swap. However, once a new prompt
-is displayed, TMUXPWD_i is updated properly.
-
-* tmux doesn't start with "daemon failed"
-
-tmux shows something similar to this when started:
-
- fatal: server_start: daemon failed: No such file or directory
- fatal: main_dispatch: imsg_read failed
-
-A possible reason is that /dev/null is not a character device or is otherwise
-inaccessible.
-
-Check with:
-
- file /dev/null
- ls -l /dev/null
-
-If it is not a character device or has incorrect permissions, it can typically
-be recreated with:
-
- cd /dev && rm null && ./MAKEDEV null
-
* vim displays reverse video instead of italics, while less displays italics
(or just regular text) instead of reverse. What's wrong?
diff --git a/Makefile.am b/Makefile.am
index bb2f4dac..2ce54b1a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -6,7 +6,7 @@ dist_man1_MANS = tmux.1
# Distribution tarball options.
EXTRA_DIST = \
- CHANGES FAQ NOTES TODO examples compat \
+ CHANGES FAQ README TODO examples compat \
array.h compat.h tmux.h osdep-*.c
dist-hook:
grep "^#found_debug=" configure
@@ -26,13 +26,15 @@ endif
if IS_GCC
CFLAGS += -std=gnu99
if IS_DEBUG
-CFLAGS += -g -ggdb -O0
+CFLAGS += -O0 -g
CFLAGS += -Wno-long-long -Wall -W -Wnested-externs -Wformat=2
CFLAGS += -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations
CFLAGS += -Wwrite-strings -Wshadow -Wpointer-arith -Wsign-compare
CFLAGS += -Wundef -Wbad-function-cast -Winline -Wcast-align
CFLAGS += -Wdeclaration-after-statement
CPPFLAGS += -DDEBUG
+else
+CFLAGS += -O2
endif
if IS_GCC4
CPPFLAGS += -iquote. -I/usr/local/include
diff --git a/NOTES b/README
index 12922950..77c6058d 100644
--- a/NOTES
+++ b/README
@@ -16,15 +16,16 @@ To build tmux from a release tarball, do:
$ ./configure && make
$ sudo make install
-To get and build the latest version control checkout:
+To get and build the latest from version control:
- $ git clone git://tmux.git.sourceforge.net/gitroot/tmux/tmux
+ $ git clone git://git.code.sf.net/p/tmux/tmux-code tmux
$ cd tmux
$ sh autogen.sh
$ ./configure && make
For more information see https://sourceforge.net/scm/?type=git&group_id=200378
-and http://git-scm.com.
+and http://git-scm.com. Patches should be sent by email to the mailing list at
+tmux-users@lists.sourceforge.net.
For documentation on using tmux, see the tmux.1 manpage. It can be viewed from
the source tree with:
@@ -34,25 +35,13 @@ the source tree with:
Some common questions are answered in the FAQ file and a more extensive (but
slightly out of date) guide is available in the OpenBSD FAQ at
http://www.openbsd.org/faq/faq7.html#tmux. A rough todo list is in the TODO
-file.
-
-A Vim syntax file is available in the examples directory. To install it:
-
-- Drop the file in the syntax directory into runtimepath (such as
- ~/.vim/syntax/tmux.vim).
-- Make the filetype recognisable by adding the following to filetype.vim
- (~/.vim/filetype.vim):
-
- augroup filetypedetect
- au BufNewFile,BufRead .tmux.conf*,tmux.conf* setf tmux
- augroup END
-
-- Switch on syntax highlighting by adding "syntax enable" to .vimrc.
+file and some example configurations and a Vim syntax file are in the examples
+directory.
For debugging, running tmux with -v or -vv will generate server and client log
files in the current directory.
-tmux mailing lists are available. The visit:
+tmux mailing lists are available. Visit:
https://sourceforge.net/mail/?group_id=200378
@@ -64,8 +53,7 @@ welcome. Please send by email to:
This file and the CHANGES, FAQ and TODO files are licensed under the ISC
license. Files under examples/ remain copyright their authors unless otherwise
stated in the file but permission has been received to distribute them with
-tmux. All other files have a license and copyright notice at their
-start.
+tmux. All other files have a license and copyright notice at their start.
-- Nicholas Marriott <nicm@users.sf.net>
diff --git a/SYNCING b/SYNCING
index 62351b2c..eba24177 100644
--- a/SYNCING
+++ b/SYNCING
@@ -138,7 +138,7 @@ Release tmux for next version
don't have debugging enabled, otherwise make(1) aborts when
preparing the distribution.
-2. Update and commit NOTES and CHANGES. The former should be checked for
+2. Update and commit README and CHANGES. The former should be checked for
anything outdated and updated with a list of things that might break
upgrades and the latter should mention all the major changes since
the last version.
diff --git a/TODO b/TODO
index 4587c0a0..a57dc932 100644
--- a/TODO
+++ b/TODO
@@ -30,40 +30,30 @@ TMUX UI ISSUES
to avoid quoting
- make command sequences more usable: don't require space after ;, handle
errors better
-- attach should have a flag to create session if it doesn't exist
- choice and more mode would be better per client than per window?
- hooks to which commands may be attached, for example: tmux add-hook
"new-session" if-shell "[ -e $HOME/.tmux-session.conf ]" source-file
$HOME/.tmux-session.conf
- way to set socket path from config file
-- what about utmp etc? can tmux update it like screen? setgid?
- warts on current naming:
- display-time but message-fg/bg/attr
- list-* vs show-*
- server-info
- up-pane/down-pane/swap-pane -U/swap-pane -D vs next-*/previous-*
- split-window -> split-pane??
-- a way for force-width/height to apply to only one pane (how?)
-- command to list what is actually running in each window with command line,
- pid (need some adaption of the osdep code)
- some way to force a screen to use the entire terminal even if it is forced
to be smaller by other clients. pan smaller terminal? (like screen F)
-- idea of a "view" onto a window, need base x/y offsets for redraw
-- handle resize better in copy mode
-- way to copy stuff that is off screen due to resize
- commands should be able to succeed or fail and have || or && for command
lists
-- some way to KEEP a command running continually and just use its LAST line of
+- some way to keep a command running continually and just use its last line of
output
- UTF-8 to a non-UTF-8 terminal should not be able to balls up
the terminal - www/ruby-addressable; make regress
- support esc-esc to quit in modes
- fix ctrl+F1-F4 output. to what?
- better utf8 support: window names, prompt input, message display
-- session history for client and last-session command
-- option to change status line colour when current window is in a mode?
- option to move copy mode indicator into status line
-- list-buffer/show-buffer should display UTF-8
- selection behaviour closer to vi in vi mode
- live update: server started with -U connects to server, requests sessions and
windows, receives fds
@@ -76,14 +66,11 @@ TMUX UI ISSUES
- better session sharing: create-socket command to create socket somewhere (-r
flag for readonly)
- multiline status line (no?)
-- flag for absolute pane size to resize-pane
-- sanity check input to socket
- support title stack, both internally and externally
http://docs.freebsd.org/cgi/getmsg.cgi?fetch=1149299+0+archive/2010/freebsd-questions/20100207.freebsd-questions
-- command to show status line information briefly when it is off
- some way to pad # stuff with spaces, #!2T maybe
- a binding to "scroll down and exit at bottom" copy mode
-- some way to pass keystrokes in copy mode through to underlying window
+- some way to pass keystrokes in copy mode through to underlying window. why?
- last window update time and # replacement for it for display-message
- find-window across sessions - other ways to make session handling easier?
- ' and " should be parsed the same (eg "\e" vs '\e') in config and command
@@ -92,44 +79,29 @@ TMUX UI ISSUES
- audit of escape sequence support vs xterm
- support binding keys to mouse (mouse-select-pane -> mouse-keys or something,
mouse click == select-pane -t %%, mouse scroll up == copy-mode)
-- something for -t "last window in session" so a session can be used as a stack
-- synchronous commands - client sends cmd and blocks, neww/splitw saves client
- ptr then when program inside died, sends MSG_SOMETHING with wait status to
- client
- bind commands to key sequences? -- make it so ALL keys go through a table,
first an implicit table in which C-b is the only default binding to a
command that says "next key from $othertable" and so on. means -n can
go away as well
- monitor, bell etc should monitor /all/ panes in the window not just one
- a history of commands that can be reversed (reverse member of each command,
- and a buffer) info() when changing to same window
+ and a buffer)
+- info() when changing to same window
- way to add dest for break-pane; maybe some easier way to unbreak-pane
- case insensitive searching
- incremental searching in copy mode.
- configurable borders and empty space filler for when panes < window?
- mouse-select-pane will screw up with !MODE_MOUSE_STANDARD (it sets the
flag on w/o checking the others before calling tty_update_mode)
-- multiple keys could be done with tables, ie have prefixes go and instead
- bind -n ^A prefix-table "default"
- where prefix-table sets command lookup table and sets prefix flag, then next
- key is looked up in that table
- pass shell commands as argv rather than strings, allow them to be specified
in commands without quotes
-- numeric prefix in copy mode should be paste buffer for C-w
- named buffers and allow gaps in the stack
-- get rid of separate UTF-8 cell stuff: add 1 byte to cell and store BMP as
- uint16_t+3 bits of flags. anything <=0xffff is Unicode, higher are used to
- build tree of combined characters/non-BMP (LRU dropped when full)
-- entry in FAQ about what to do when someone does mkdir /tmp/tmux-1000
- monitor-activity is broken in several ways with multiple clients
- monitor-activity should be more powerful (eg set a region)
- maybe a way to put pane names instead of window names in status line
- support for borderless panes
-- run-shell/if-shell should support status_replace stuff
-- wait-pane command or another way to make it synchronous/wait for command to
- finish
+- wait-for command 20130222153957.GY6782@yelena.nicm.ath.cx
- last-pane across sessions
-- attach should take a pane and select it as well as attaching
- panes should have names like windows
- command-prompt doesn't work if made read-only. why?
- option to quote format eg #{session_name:quoted}
@@ -144,16 +116,14 @@ TMUX UI ISSUES
- way to tag a layout as a number/name
- optimize pane redraws, 20120318184853.GK10965@yelena.nicm.ath.cx
- support multibyte key strings
-- allow commands to be executed when certaing patterns in a screen
+- allow commands to be executed when certain patterns in a screen
are clicked on with the mouse
- flag to make next/previous commands skip a window
- way to do tmux command/run-shell from mode keys
- send command to all windows
-- choose-pane command
- - Augment choose-tree to do this? TA to investigate.
-- choose-mode and copy-mode are very similar. Perhaps make choose-mode a
- subset of copy-mode in that it inherits key-bindings and other traits but
- not all.
+- choose-pane command (augment choose-tree to do this?)
+- choose-mode and copy-mode are very similar. Perhaps make choose-mode a subset
+ of copy-mode in that it inherits key-bindings and other traits but not all
- add -c for new-session like new-window
- flag to choose-* for sort order (eg sort windows/sessions/clients by last
used time) - perhaps using formats (but what about numeric sort)?
@@ -167,6 +137,10 @@ TMUX UI ISSUES
should support hints, layout sets should just be a special case of custom
layouts, and we should support panes that are not attached to a cell at
all. this could be the time to introduce panelink to replace layout_cell
+- run-shell/if-shell should support formats
+- attach should take a pane and select it as well as attaching
+- attach should have a flag to create session if it doesn't exist. or better
+ new a flag to attach it
TERMINAL ISSUES
================
@@ -175,10 +149,7 @@ TERMINAL ISSUES
- clear window title on exit (see using xterm title stack)
- get it passing all the vttest tests that don't require resizing the terminal
- support for bce
-- use screen-256color when started on 256 colour terminal??
-- if-shell/run-shell should block further command execution in the same command
-- possibly support rxvt-unicode extended mouse input (1015)
-- wrap/no wrap esc seq DEC CSI ? 7 h/l
+- use screen-256color when started on 256 colour terminal?
* We need a tmux terminfo entry to document the extensions we are using in
upstream terminfo. Must NOT change (only add or remove) anything from
TERM=screen so we can fallback!
diff --git a/cmd-queue.c b/cmd-queue.c
index 8bcc9192..6ea6f468 100644
--- a/cmd-queue.c
+++ b/cmd-queue.c
@@ -1,4 +1,4 @@
-/* $OpenBSD$ */
+/* $Id$ */
/*
* Copyright (c) 2013 Nicholas Marriott <nicm@users.sourceforge.net>
diff --git a/cmd-save-buffer.c b/cmd-save-buffer.c
index 20102a44..52914a94 100644
--- a/cmd-save-buffer.c
+++ b/cmd-save-buffer.c
@@ -22,7 +22,6 @@
#include <errno.h>
#include <stdlib.h>
#include <string.h>
-#include "compat/vis.h"
#include "tmux.h"
diff --git a/cmd-server-info.c b/cmd-server-info.c
index 1e9bf29d..8eba172a 100644
--- a/cmd-server-info.c
+++ b/cmd-server-info.c
@@ -65,7 +65,8 @@ cmd_server_info_exec(unused struct cmd *self, struct cmd_q *cmdq)
tim = ctime(&start_time);
*strchr(tim, '\n') = '\0';
- cmdq_print(cmdq, "pid %ld, started %s", (long) getpid(), tim);
+ cmdq_print(cmdq,
+ "tmux " VERSION ", pid %ld, started %s", (long) getpid(), tim);
cmdq_print(cmdq, "socket path %s, debug level %d", socket_path,
debug_level);
if (uname(&un) >= 0) {
diff --git a/cmd-wait-for.c b/cmd-wait-for.c
index 3a8d8ea4..d40ba49e 100644
--- a/cmd-wait-for.c
+++ b/cmd-wait-for.c
@@ -1,4 +1,4 @@
-/* $OpenBSD$ */
+/* $Id$ */
/*
* Copyright (c) 2013 Nicholas Marriott <nicm@users.sourceforge.net>
diff --git a/compat/getopt.c b/compat/getopt.c
index 3a532372..38c317cc 100644
--- a/compat/getopt.c
+++ b/compat/getopt.c
@@ -67,6 +67,8 @@ BSDgetopt(int nargc, char *const *nargv, const char *ostr)
return (-1);
}
if (place[1] && *++place == '-') { /* found "--" */
+ if (place[1])
+ return (BADCH);
++BSDoptind;
place = EMSG;
return (-1);
diff --git a/configure.ac b/configure.ac
index 84aec0fb..9e060df7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -53,8 +53,11 @@ AM_CONDITIONAL(IS_DEBUG, test "x$found_debug" = xyes)
AC_ARG_ENABLE(
static,
AC_HELP_STRING(--enable-static, create a static build),
- [LDFLAGS="$LDFLAGS -static"]
+ found_static=$enable_static
)
+if test "x$found_static" = xyes; then
+ LDFLAGS="$LDFLAGS -static"
+fi
# Is this gcc?
AM_CONDITIONAL(IS_GCC, test "x$GCC" = xyes)
diff --git a/examples/tmux-zoom.sh b/examples/tmux-zoom.sh
deleted file mode 100644
index 3a604564..00000000
--- a/examples/tmux-zoom.sh
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/bash
-
-# Copyright (c) 2012 Juan Ignacio Pumarino, jipumarino@gmail.com
-#
-# Permission is hereby granted, free of charge, to any person obtaining
-# a copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, sublicense, and/or sell copies of the Software, and to
-# permit persons to whom the Software is furnished to do so, subject to
-# the following conditions:
-#
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-# Instructions
-# ------------
-#
-# 1. Install this script and give it execute permission somewhere in your PATH.
-# For example:
-#
-# $ mkdir -p ~/bin
-# $ wget https://raw.github.com/jipumarino/tmux-zoom/master/tmux-zoom.sh -O ~/bin/tmux-zoom.sh
-# $ chmod +x ~/bin/tmux-zoom.sh
-#
-# 2. Add a shortcut in your ~/.tmux.conf file:
-#
-# bind C-k run "tmux-zoom.sh"
-#
-# 3. When using this shortcut, the current tmux pane will open in a new window by itself.
-# Running it again in the zoomed window will return it to its original pane. You can have
-# as many zoomed windows as you want.
-
-current=$(tmux display-message -p '#W-#I-#P')
-list=$(tmux list-window)
-
-[[ "$current" =~ ^(.*)-([0-9]+)-([0-9]+) ]]
-current_window=${BASH_REMATCH[1]}
-current_pane=${BASH_REMATCH[2]}-${BASH_REMATCH[3]}
-new_zoom_window=ZOOM-$current_pane
-
-if [[ $current_window =~ ZOOM-([0-9]+)-([0-9+]) ]]; then
- old_zoom_window=ZOOM-${BASH_REMATCH[1]}-${BASH_REMATCH[2]}
- tmux select-window -t ${BASH_REMATCH[1]} \; select-pane -t ${BASH_REMATCH[2]} \; swap-pane -s $old_zoom_window.1 \; kill-window -t $old_zoom_window
-elif [[ $list =~ $new_zoom_window ]]; then
- tmux select-window -t $new_zoom_window
-else
- tmux new-window -d -n $new_zoom_window \; swap-pane -s $new_zoom_window.1 \; select-window -t $new_zoom_window
-fi
diff --git a/examples/tmux.vim b/examples/tmux.vim
index f1a98be4..076115c1 100644
--- a/examples/tmux.vim
+++ b/examples/tmux.vim
@@ -3,6 +3,20 @@
" Maintainer: Tiago Cunha <tcunha@users.sourceforge.net>
" Last Change: $Date: 2010-07-27 18:29:07 $
" License: This file is placed in the public domain.
+"
+" To install this file:
+"
+" - Drop the file in the syntax directory into runtimepath (such as
+" ~/.vim/syntax/tmux.vim).
+" - Make the filetype recognisable by adding the following to filetype.vim
+" (~/.vim/filetype.vim):
+"
+" augroup filetypedetect
+" au BufNewFile,BufRead .tmux.conf*,tmux.conf* setf tmux
+" augroup END
+"
+" - Switch on syntax highlighting by adding "syntax enable" to .vimrc.
+"
if version < 600
syntax clear
diff --git a/osdep-darwin.c b/osdep-darwin.c
index b112fa7c..23de9d52 100644
--- a/osdep-darwin.c
+++ b/osdep-darwin.c
@@ -17,7 +17,6 @@
*/
#include <sys/types.h>
-#include <sys/sysctl.h>
#include <event.h>
#include <libproc.h>
@@ -34,26 +33,24 @@ struct event_base *osdep_event_init(void);
char *
osdep_get_name(int fd, unused char *tty)
{
- int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, 0 };
- size_t size;
- struct kinfo_proc kp;
-
- if ((mib[3] = tcgetpgrp(fd)) == -1)
- return (NULL);
+ struct proc_bsdshortinfo bsdinfo;
+ pid_t pgrp;
+ int ret;
- size = sizeof kp;
- if (sysctl(mib, 4, &kp, &size, NULL, 0) == -1)
- return (NULL);
- if (*kp.kp_proc.p_comm == '\0')
+ if ((pgrp = tcgetpgrp(fd)) == -1)
return (NULL);
- return (strdup(kp.kp_proc.p_comm));
+ ret = proc_pidinfo(pgrp, PROC_PIDT_SHORTBSDINFO, 0,
+ &bsdinfo, sizeof bsdinfo);
+ if (ret == sizeof bsdinfo && *bsdinfo.pbsi_comm != '\0')
+ return (strdup(bsdinfo.pbsi_comm));
+ return (NULL);
}
char *
osdep_get_cwd(int fd)
{
- static char wd[PATH_MAX];
+ static char wd[PATH_MAX];
struct proc_vnodepathinfo pathinfo;
pid_t pgrp;
int ret;
@@ -61,8 +58,8 @@ osdep_get_cwd(int fd)
if ((pgrp = tcgetpgrp(fd)) == -1)
return (NULL);
- ret = proc_pidinfo(
- pgrp, PROC_PIDVNODEPATHINFO, 0, &pathinfo, sizeof pathinfo);
+ ret = proc_pidinfo(pgrp, PROC_PIDVNODEPATHINFO, 0,
+ &pathinfo, sizeof pathinfo);
if (ret == sizeof pathinfo) {
strlcpy(wd, pathinfo.pvi_cdir.vip_path, sizeof wd);
return (wd);
diff --git a/server-client.c b/server-client.c
index 377f9ae9..77e6de78 100644
--- a/server-client.c
+++ b/server-client.c
@@ -21,7 +21,6 @@
#include <event.h>
#include <fcntl.h>
-#include <paths.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
diff --git a/tmux.1 b/tmux.1
index a639476f..e675ebd8 100644
--- a/tmux.1
+++ b/tmux.1
@@ -14,7 +14,7 @@
.\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
.\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.Dd $Mdocdate: December 4 2011 $
+.Dd $Mdocdate: March 25 2013 $
.Dt TMUX 1
.Os
.Sh NAME
@@ -23,7 +23,7 @@
.Sh SYNOPSIS
.Nm tmux
.Bk -words
-.Op Fl 28lCquv
+.Op Fl 28lCquvV
.Op Fl c Ar shell-command
.Op Fl f Ar file
.Op Fl L Ar socket-name
diff --git a/tty-term.c b/tty-term.c
index 4e1c279f..95cb5db7 100644
--- a/tty-term.c
+++ b/tty-term.c
@@ -389,7 +389,8 @@ tty_term_find(char *name, int fd, const char *overrides, char **cause)
tty_term_override(term, overrides);
/* Delete curses data. */
-#if !defined(__FreeBSD_version) || __FreeBSD_version >= 700000
+#if !defined(NCURSES_VERSION_MAJOR) || NCURSES_VERSION_MAJOR > 5 || \
+ (NCURSES_VERSION_MAJOR == 5 && NCURSES_VERSION_MINOR > 6)
del_curterm(cur_term);
#endif
diff --git a/www/index.html.in b/www/index.html.in
index 36bc44c0..5e0276e8 100644
--- a/www/index.html.in
+++ b/www/index.html.in
@@ -12,79 +12,53 @@
<p id="upper-left-title">tmux</p>
<ul id="left-menu">
<li><a href="http://downloads.sourceforge.net/tmux/tmux-%%VERSION%%.tar.gz">Download</a></li>
- <li><a href="https://sourceforge.net/p/tmux/tmux-code/ci/master/tree/NOTES">Release Notes</a></li>
+ <li><a href="https://sourceforge.net/p/tmux/tmux-code/ci/master/tree/README">README</a></li>
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=tmux&sektion=1">Manual Page</a></li>
<li><a href="https://sourceforge.net/p/tmux/tmux-code/ci/master/tree/FAQ">FAQ</a></li>
- <li><a href="http://www.openbsd.org/faq/faq7.html#tmux">tmux in the OpenBSD FAQ</a></li>
- <li><a href="https://sourceforge.net/p/tmux/tmux-code/ci/master/tree/examples/">Examples</a></li>
- <li>&nbsp;</li>
- <li class="menu-headings">Source Code</li>
- <li><a href="https://sourceforge.net/p/tmux/tmux-code/ci/master/tree/">SourceForge</a></li>
- <li><a href="http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/tmux/">OpenBSD</a></li>
- <li>&nbsp;</li>
- <li class="menu-headings">Support</li>
- <li><a href="https://lists.sourceforge.net/lists/listinfo/tmux-users">tmux-users</a></li>
- <li><a href="https://lists.sourceforge.net/lists/listinfo/tmux-cvs">tmux-cvs</a></li>
- <li>IRC: #tmux on Freenode</li>
- <li><a href="http://sf.net/projects/tmux">SourceForge Project Page</a></li>
+ <li><a href="https://sourceforge.net/p/tmux/tmux-code/ci/master/tree/">Source Code</a></li>
+ <li><a href="http://sf.net/projects/tmux">SourceForge Page</a></li>
+ <li><a href="https://lists.sourceforge.net/lists/listinfo/tmux-users">Mailing List</a></li>
+ <li><a href="irc://irc.freenode.net/tmux">IRC Channel</a></li>
</ul>
</div>
<div id="main-content-wrapper">
-<p>tmux is a terminal multiplexer: it enables a number of terminals (or
-windows), each running a separate program, to be created, accessed, and
-controlled from a single screen. tmux may be detached from a screen and
-continue running in the background, then later reattached.</p>
+<p><b>tmux is a terminal multiplexer</b></p>
-<p>The
-<a href="http://downloads.sourceforge.net/tmux/tmux-%%VERSION%%.tar.gz">
-latest release is tmux %%VERSION%%</a> or
-<a href="https://sourceforge.net/p/tmux/tmux-code/ci/master/tree/">
-get the development version from git.</a></p>
-
-<p>tmux uses a client-server model. The server holds multiple sessions and each
-window is an independent entity which may be freely linked to multiple sessions,
-moved between sessions and otherwise manipulated. Each session may be attached
-to (display and accept keyboard input from) multiple clients.</p>
+<p><b>What is a terminal multiplexer?</b> It lets you switch easily between
+several programs in one terminal, detach them (they keep running in the
+background) and reattach them to a different terminal. And do a lot more. See
+<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=tmux&sektion=1">
+the manual</a>.</p>
-<p>tmux is intended to be a modern, BSD-licensed alternative to programs such
-as GNU screen. Major features include:</p>
-
-<ul>
-<li>A powerful, consistent, well-documented and easily scriptable command
-interface.</li>
-<li>A window may be split horizontally and vertically into panes.</li>
-<li>Panes can be freely moved and resized, or arranged into preset
-layouts. </li>
-<li>Support for UTF-8 and 256-colour terminals.</li>
-<li>Copy and paste with multiple buffers.</li>
-<li>Interactive menus to select windows, sessions or clients.</li>
-<li>Change the current window by searching for text in the target.</li>
-<li>Terminal locking, manually or after a timeout.</li>
-<li>A clean, easily extended, BSD-licensed codebase, under active
-development.</li>
-</ul>
+<p><b><a href="http://downloads.sourceforge.net/tmux/tmux-%%VERSION%%.tar.gz">
+Download tmux %%VERSION%%</a></b> or
+<a href="https://sourceforge.net/p/tmux/tmux-code/ci/master/tree/">
+get the development version.</a>
+tmux is hosted on
+<a href="http://sf.net/projects/tmux">SourceForge</a>
+and needs
+<a href="http://www.monkey.org/~provos/libevent/">libevent</a>
+and
+<a href="http://invisible-island.net/ncurses/">ncurses</a>
+.</p>
-<p>tmux is part of the <a href="http://www.openbsd.org">OpenBSD</a> base
-system. The portable version is hosted on <a href="http://sf.net/projects/tmux">
-SourceForge</a> and runs on Linux, FreeBSD, NetBSD, Solaris and AIX.
-It depends on <a href="http://www.monkey.org/~provos/libevent/">libevent 1.4 or 2.0</a> and a
-terminfo implementation (normally <a href="http://invisible-island.net/ncurses/">ncurses</a>).</p>
+<p>For support contact the
+<a href="mailto:tmux-users@lists.sf.net">tmux-users@lists.sf.net</a>
+mailing list or IRC channel
+<a href="irc://irc.freenode.net/tmux">#tmux on freenode</a>.</p>
-<p>A few people have written programs which can be used with tmux:
-<a href="https://github.com/dominikh/tmux-ruby">tmux-ruby</a>,
-<a href="https://github.com/aziz/tmuxinator">tmuxinator</a>,
-<a href="https://github.com/lmartinking/tmux-applets">tmux-applets</a> and
-<a href="https://github.com/remiprev/teamocil">teamocil</a>.
-There is a
-<a href="http://pragprog.com/book/bhtmux/tmux">book on tmux</a> by Brian P Hogan.</p>
+<p>There are some programs to use with tmux
+<a href="https://github.com/search?q=tmux&type=Repositories&ref=simplesearch">
+on GitHub</a> and a
+<a href="http://pragprog.com/book/bhtmux/tmux">book on tmux</a>.</p>
- <div id="screenshots">
- <a href="tmux3.png"><img src="small-tmux3.png" alt="Screenshot"/></a>
- <a href="tmux4.png"><img src="small-tmux4.png" alt="Screenshot"/></a>
- <a href="tmux5.png"><img src="small-tmux5.png" alt="Screenshot"/></a>
- </div>
+<div id="screenshots">
+ <a href="tmux3.png"><img src="small-tmux3.png" alt="Screenshot"/></a>
+ <a href="tmux4.png"><img src="small-tmux4.png" alt="Screenshot"/></a>
+ <a href="tmux5.png"><img src="small-tmux5.png" alt="Screenshot"/></a>
+</div>
</div>
- </div>
+ </div>
</body>
</html>