Commit Graph

23 Commits

Author SHA1 Message Date
martin c05e3b1f3a Make sure to have file descriptors 0-2 open before doing further setup.
Otherwise strange invocations could trick us into passing the event
descriptor as, for example, stdin to the server.
See PR 46463 for details.
2012-05-31 19:14:56 +00:00
joerg e8bec33be1 Change CMSG_SPACE and CMSG_LEN to provide Integer Constant Expressions
again. This was changed in sys/socket.h r1.51 to work around fallout
from the IPv6 aux data migration. It broke the historic ABI on some
platforms. This commit restores compatibility for netbsd32 code on such
platforms and provides a template for future changes to the CMSG_*
alignment. Revert PCC/Clang workarounds in postfix and tmux.
2012-01-20 14:08:04 +00:00
joerg debc234b9f Optimise by simplifying. 2011-10-07 10:38:02 +00:00
christos 3145fd5cc6 Add utmp/utmpx support.
XXX: Should we make the top pty (tmux) hide?
XXX: Should we add an option to not create utmp entries for a tmux terminal?
2011-09-17 01:50:08 +00:00
christos 7aee9ef7a1 Add utmp support. 2011-09-17 01:48:46 +00:00
plunky fdcee79615 extend __clang__ hack for __PCC__ also
(CMSG_SPACE() is not a constant)
2011-08-31 20:13:31 +00:00
joerg 86490d7b50 Avoid non-literal format strings by replacing asprintf with putc. 2011-08-25 16:41:51 +00:00
he d6e8830ca4 Hm, upstream maintainer says loop needs to start from 0, make it so. 2011-08-22 09:19:51 +00:00
he 8d79df0020 Replace needless use of double math just to compare colour distances
with integer arithmetic.  Reported to and discussed with upstream maintainer.
2011-08-22 06:52:35 +00:00
christos 73d3221b0e document/fix non-literal format strings. 2011-08-19 09:06:05 +00:00
jmmv a17f7e9f91 Disable a few stack protector warnings to fix the build with USE_SSP.
This actually recovers something that was in the Makefile before but that
I removed during the update thinking they were not needed any more.  (I had
assumed ssp was the default.)

Build problem reported by bch at methodlogic.net in current-users.
2011-08-18 19:05:54 +00:00
jmmv e27abe6ff4 Reenable all warning checks and fix fallover. 2011-08-17 19:28:36 +00:00
jmmv 5365634b06 Adjust reachover Makefiles after tmux 1.5 import.
The new code has quite a bit of warnings to be fixed.  I did not realize
until merge-resolving time that christos@ had fixed such warnings in our
copy of tmux 1.4 and assumed these warnings were new and thus could just
be disabled.

Therefore, I'm disabling some global warning checks as a temporary measure
to bring the tree back to a buildable state.  I will take a look at these
warnings afterwards.
2011-08-17 18:51:10 +00:00
jmmv 0f3d27469a Fix merge conflicts after tmux 1.5 import. 2011-08-17 18:48:34 +00:00
jmmv d530c4d0ae Import tmux 1.5:
CHANGES FROM 1.4 TO 1.5, 09 July 2011

* Support xterm mouse modes 1002 and 1003.
* Change from a per-session stack of buffers to one global stack. This renders
  copy-buffer useless and makes buffer-limit now a server option.
* Fix most-recently-used choice by avoiding reset the activity timer for
  unattached sessions every second.
* Add a -P option to new-window and split-window to print the new window or
  pane index in target form (useful to pass it into other commands).
* Handle a # at the end of a replacement string (such as status-left)
  correctly.
* Support for UTF-8 mouse input (\033[1005h) which was added in xterm 262.
  If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all
  UTF-8 terminals. The option defaults to on if LANG etc are set in the same
  manner as the utf8 option.
* Support for HP-UX.
* Accept colours of the hex form #ffffff and translate to the nearest from the
  xterm(1) 256-colour set.
* Clear the non-blocking IO flag (O_NONBLOCK) on the stdio file descriptors
  before closing them (fixes things like "tmux ls && cat").
* Use TMPDIR if set.
* Fix next and previous session functions to actually work.
* Support -x and -y for new-session to specify the initial size of the window
  if created detached with -d.
* Make bind-key accept characters with the top-bit-set and print them as octal.
* Set $TMUX without the session when background jobs are run.
* Simplify the way jobs work and drop the persist type, so all jobs are
  fire-and-forget.
* Accept tcgetattr/tcsetattr(3) failure, fixes problems with fatal() if the
  terminal disappears while locked.
* Add a -P option to detach to HUP the client's parent process (usually causing
  it to exit as well).
* Support passing through escape sequences to the underlying terminal by using
  DCS with a "tmux;" prefix.
* Prevent tiled producing a corrupt layout when only one column is needed.
* Give each pane created in a tmux server a unique id (starting from 0), put it
  in the TMUX_PANE environment variable and accept it as a target.
* Allow a start and end line to be specified for capture-pane which may be
  negative to capture part of the history.
* Add -a and -s options to lsp to list all panes in the server or session
  respectively. Likewise add -s to lsw.
* Change -t on display-message to be target-pane for the #[A-Z] replacements
  and add -c as target-client.
* The attach-session command now prefers the most recently used unattached
  session.
* Add -s option to detach-client to detach all clients attached to a session.
* Add -t to list-clients.
* Change window with mouse wheel over status line if mouse-select-window is on.
* When mode-mouse is on, automatically enter copy mode when the mouse is
  dragged or the mouse wheel is used. Also exit copy mode when the mouse wheel
  is scrolled off the bottom.
* Provide #h character pair for short hostname (no domain).
* Don't use strnvis(3) for the title as it breaks UTF-8.
* Use the tsl and fsl terminfo(5) capabilities to update terminal title and
  automatically fill them in on terminals with the XT capability (which means
  their title setting is xterm-compatible).
* Add a new option, mouse-resize-pane. When on, panes may be resized by
  dragging their borders.
* Fix crash by resetting last pane on {break,swap}-pane across windows.
* Add three new copy-mode commands - select-line, copy-line, copy-end-of-line.
* Support setting the xterm clipboard when copying from copy mode using the
  xterm escape sequence for the purpose (if xterm is configured to allow it).
* Support xterm(1) cursor colour change sequences through terminfo(5) Cc
  (set) and Cr (reset) extensions.
* Support DECSCUSR sequence to set the cursor style with two new terminfo(5)
  extensions, Cs and Csr.
* Make the command-prompt custom prompts recognize the status-left option
  character pairs.
* Add a respawn-pane command.
* Add a couple of extra xterm-style keys that gnome terminal provides.
* Allow the initial context on prompts to be set with the new -I option to
  command-prompt. Include the current window and session name in the prompt
  when renaming and add a new key binding ($) for rename session.
* Option bell-on-alert added to trigger the terminal bell when there is an
  alert.
* Change the list-keys format so that it shows the keys using actual tmux
  commands which should be able to be directly copied into the config file.
* Show full targets for lsp/lsw -a.
* Make confirm-before prompt customizable with -p option like command-prompt
  and add the character pairs #W and #P to the default kill-{pane,window}
  prompts.
* Avoid sending data to suspended/locked clients.
* Small memory leaks in error paths plugged.
* Vi mode improvements.
2011-08-17 18:40:03 +00:00
jmmv e48648f0d2 Adjust instructions and import script in preparation for tmux 1.5. 2011-08-17 18:37:59 +00:00
christos fc186dc762 - document non-literal format
- no need for WARNS = 0 here
2011-08-16 07:57:21 +00:00
joerg 9692a5355f Hacks for CMSG_SPACE() not being an ICE 2011-05-30 16:20:58 +00:00
tron dcb81cebe2 Disable SSP warnings for a few files to make this build with "USE_SSP=yes". 2011-03-12 14:19:25 +00:00
christos cad4076f90 - use our vis (maybe I'll implement strnvis soon, but not now)
- WARNS=4
2011-03-12 03:02:58 +00:00
jmmv eb9405a694 Add reachover Makefiles for the build of tmux. 2011-03-10 09:18:00 +00:00
jmmv 698d5317f6 Initial import of tmux-1.4:
tmux is a "terminal multiplexer".  It enables a number of terminals (or
windows) to be accessed and controlled from a single terminal.  tmux is
intended to be a simple, modern, BSD-licensed alternative to programs
such as GNU screen.

The import of tmux is intended to replace window(1) in the not-too-distant
future.  For reference, tmux is also present in the base system of FreeBSD
and OpenBSD.

Approved by core@.
2011-03-10 09:15:36 +00:00
jmmv 9e4aec07e1 Add instructions and a helper script to import tmux. 2011-03-10 09:10:41 +00:00