aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Sync OpenBSD patchset 263:Tiago Cunha2009-08-16
| | | | | | Reset attributes as well as scroll region before poll(2) and add a big comment explaining why.
* Sync OpenBSD patchset 262:Tiago Cunha2009-08-16
| | | | | | | Send SGR0 when initialising the screen. Fixes problems on terminals with BCE (like putty) if the background colours is non-default when tmux starts. May also fix problems when resuming a suspended tmux.
* Sync OpenBSD patchset 261:Tiago Cunha2009-08-16
| | | | | | | | | Switch the prompt code to return an empty string when the user enters no response and reserve NULL for an explicit cancel. Change all callbacks to treat them the same so no functional change. Also add cancel key bindings to emacs mode which were missing.
* Sync OpenBSD patchset 260:Tiago Cunha2009-08-16
| | | | | | | | | vi(1)-style half page scroll in copy and scroll modes. Move the vi full page scroll key to C-b instead of C-u and use C-u/C-d for half page scrolling with vi keys. In emacs mode, half page scrolling is bound to M-Up and M-Down. Suggested by merdely (about a year ago :-)).
* Sync OpenBSD patchset 259:Tiago Cunha2009-08-16
| | | | | | | Scroll by two less than the number of lines in the screen, like emacs, rather than by the entire screen, to make it easier to pull things out from under the line indicator. Suggested by claudio.
* Sync OpenBSD patchset 258:Tiago Cunha2009-08-16
| | | | | | Disable mode-mouse (mouse in copy/choice mode) by default as it isn't very useful at the moment and causes confusion.
* Update.Tiago Cunha2009-08-16
|
* Sync OpenBSD patchset 257:Tiago Cunha2009-08-16
| | | | | | Add a base-index session option to specify the first index checked when looking for an index for a new window.
* Sync OpenBSD patchset 256:Tiago Cunha2009-08-16
| | | | | | | | | | Allowing copy mode to scroll left and right is annoying, so limit it to the real screen width. To indicate the cursor is at the end of the line rather than the cell before, put a '$' in the last cell. Also clear the selection when the terminal is resized to avoid tmux getting confused.
* Sync OpenBSD patchset 255:Tiago Cunha2009-08-16
| | | | | | Rather than telling the client to exit in the function when creating a new session detached, let the caller do it. Allows "tmux new -d \; attach" to work.
* Include unistd.h due to OpenBSD patchset 254. At least on Linux, that's whereTiago Cunha2009-08-16
| | | | | _POSIX_VDISABLE is defined.
* Sync OpenBSD patchset 254:Tiago Cunha2009-08-16
| | | | | | | When creating a new session from the command-line where there is an external terminal, copy the termios(4) special characters and use them for new windows created in the new session. Suggested by Theo.
* Solaris has no strsep(3).Nicholas Marriott2009-08-16
|
* Sync OpenBSD patchset 253:Tiago Cunha2009-08-14
| | | | | Redraw the screen after resizing.
* Sync OpenBSD patchset 252:Tiago Cunha2009-08-14
| | | | | | | | | It was originally intended that scroll mode would show content that was currently off-screen due to resize, but somewhere along the way this got lost. Restore this behaviour to scroll mode by fixing screen_write_copy to read up to the saved line length rather than the current screen width. Copy mode remains unaltered for now.
* Sync OpenBSD patchset 251:Tiago Cunha2009-08-14
| | | | | | | If the client passes zero for the window size in the identify message (which it can, for example on serial terminals), reset it to 80x25, same as for resize messages. Problem reported by kettenis@.
* Sync OpenBSD patchset 250:Tiago Cunha2009-08-14
| | | | | | | | | A tty context must not be modified as it may be reused to update multiple clients, so make it const. Also fix an actual modification which caused a hang when a session was connected to multiple terminals at least one of which was missing ich/ich1.
* Sync OpenBSD patchset 249:Tiago Cunha2009-08-14
| | | | | | When started as the shell, __progname contains a leading -, so hardcode "tmux" for socket path and log files, and strip it when working out the shell.
* Sync OpenBSD patchset 248:Tiago Cunha2009-08-14
| | | | | | | | imsg closes the fd after sending, so dup() STDIN_FILENO before passing it to the parent, otherwise TIOCGWINSZ will fail when the window is resized (that could actually be moved into the server but this is more future-proof and avoids breaking the protocol).
* Sync OpenBSD patchset 247:Tiago Cunha2009-08-14
| | | | | | | | Initialise log_fd to -1, prevents spurious disconnection of the client when it ends up as fd 0 (likely if the server is started with "tmux start"). Also add some extra debugging messages to server.c.
* Sync OpenBSD patchset 246:Tiago Cunha2009-08-14
| | | | | | | | | | | Have the client pass its stdin fd to the server when identifying itself and have the server use that rather than reopening the tty. If the fd isn't given, use the old behaviour (so no need for a version change). This allows tmux to be used as the shell, so also change so that when working out the command to execute if default-command is empty (the default), tmux will try not execute itself.
* Sync OpenBSD patchset 245:Tiago Cunha2009-08-14
| | | | | Add a TTY_OPENED flag and tidy a little.
* Sync OpenBSD patchset 244:Tiago Cunha2009-08-14
| | | | | | Drop the no_stop argument to tty_close and tty_free in favour of a flag in the tty struct.
* Adjust imsg changes to the portable version due to OpenBSD patchset 243.Tiago Cunha2009-08-14
|
* Sync OpenBSD patchset 243:Tiago Cunha2009-08-14
| | | | | | | | | | | | | | | | | | | Switch tmux to use imsg. This is the last major change to make the client-server protocol more resilient and make the protocol versioning work properly. In future, the only things requiring a protocol version bump will be changes in the message structs, and (when both client and server have this change) mixing different versions should nicely report an error message. As a side effect this also makes the code tidier, fixes a problem with the way errors reported during server startup were handled, and supports fd passing (which will be used in future). Looked over by eric@, thanks. Please note that mixing a client with this change with an older server or vice versa may cause tmux to crash or hang - tmux should be completely exited before upgrading.
* +.Nicholas Marriott2009-08-13
|
* Add and remove some bits.Nicholas Marriott2009-08-13
|
* Sync from OpenBSD:Nicholas Marriott2009-08-11
| | | | | | | Add flags for 1+2 and 2 arguments to the generic target code, use it for cmd-set-environment/option/window-option and remove the generic options parsing.
* +.Nicholas Marriott2009-08-11
|
* Update.Nicholas Marriott2009-08-11
|
* Sync OpenBSD patchset 241:Tiago Cunha2009-08-10
| | | | | | No arguments are the same as new-session and this requires the environment to be sent, so set that flag too when argc == 0.
* Sync OpenBSD patchset 240:Tiago Cunha2009-08-10
| | | | | | | | Reset the attributes after drawing all or part of the screen, and reset the region before poll(2). This reduces (but does not eliminate) the chance of the attributes not being normal if tmux is disconnected without warning (ssh ~., reboot from inside, etc).
* Sync OpenBSD patchset 239:Tiago Cunha2009-08-10
| | | | | Use the right source and destination lines in grid_duplicate_lines.
* Sync OpenBSD patchset 238:Tiago Cunha2009-08-10
| | | | | some minor tweaks; ok nicm
* Missing options are not illegal.Nicholas Marriott2009-08-09
|
* Sync OpenBSD patchset 237:Tiago Cunha2009-08-09
| | | | | zap trailing whitespace;
* Sync OpenBSD patchset 236:Tiago Cunha2009-08-09
| | | | | Minor language tweaks, change which key bindings are summarised.
* Nuke dead variable here as well, in accordance to OpenBSD patchset 235.Tiago Cunha2009-08-09
|
* Sync OpenBSD patchset 235:Tiago Cunha2009-08-09
| | | | | Nuke a dead variable found with clang and an unused declaration with lint.
* Sync OpenBSD patchset 234:Tiago Cunha2009-08-09
| | | | | | Move the key bindings section to near the start, mention attach/detach in the first section, and another couple of tweaks. Based on a diff from Theo.
* Sync OpenBSD patchset 233:Tiago Cunha2009-08-09
| | | | | | Don't leak in the (rare) case of an invalid command at the end of a file not terminated by a \n.
* Sync OpenBSD patchset 232:Tiago Cunha2009-08-09
| | | | | Use a temporary variable for strdup of const char *.
* Update.Tiago Cunha2009-08-09
|
* Sync OpenBSD patchset 231:Tiago Cunha2009-08-09
| | | | | | | | | | | | | | | | | Infrastructure and commands to manage the environment for processes started within tmux. There is a global environment, copied from the external environment when the server is started and each session has an (initially empty) session environment which overrides it. New commands set-environment and show-environment manipulate or display the environments. A new session option, update-environment, is a space-separated list of variables which are updated from the external environment into the session environment every time a new session is created - the default is DISPLAY.
* Sync OpenBSD patchset 230:Tiago Cunha2009-08-09
| | | | | Tidy function a little by using a temporary variable.
* Update.Tiago Cunha2009-08-09
|
* Sync OpenBSD patchset 229:Tiago Cunha2009-08-09
| | | | | | Options to set the colours and attributes for status-left/-right. From Thomas Adam, thanks.
* Sync OpenBSD patchset 227:Tiago Cunha2009-08-09
| | | | | | | Add a flags member to the grid_line struct and use it to differentiate lines wrapped at the screen edge from those terminated by a newline. Then use this when copying to combine wrapped lines together into one.
* Sync OpenBSD patchset 226:Tiago Cunha2009-08-09
| | | | | | | | | | | | | | Change the way the grid is stored, previously it was: - a two-dimensional array of cells; - a two-dimensional array of utf8 data; - an array of line lengths. Now it is a single array of a new struct grid_line each of which represents a line and contains the length and an array of cells and an array of utf8 data. This will make it easier to add additional per-line members, such as flags.
* Sync OpenBSD patchset 225:Tiago Cunha2009-08-09
| | | | | | | | | | | | | If there is an error in the configuration file, don't just exit(1) as this can cause the client to hang. Instead, send the error message, then mark the client as bad and start a normal shutdown so the server exits once the error is written. This also allows some code duplicating daemon(3) to be trimmed and logging to begin earlier. Prompted by Theo noticing the behaviour on error wasn't documented.