aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * Use cfsetispeed/cfsetospeed to set termios speed members.Nicholas Marriott2009-08-19
| |
| * Extend command-prompt with a -p option which is a comma-separated list of oneNicholas Marriott2009-08-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | or more prompts to present in order. The responses to the prompt are replaced in the template string: %% are replaced in order, so the first prompt replaces the first %%, the second replaces the second, and so on. In addition, %1 up to %9 are replaced with the responses to the first the ninth prompts The default template is "%1" so the response to the first prompt is processed as a command. Note that this changes the behaviour for %% so if there is only one prompt, only the first %% will be replaced. Templates such as "neww -n '%%' 'ssh %%'" should be changed to "neww -n '%1' 'ssh %1'". From Tiago Cunha.
| * Instead of just checking for an empty buffer, which may not be the case ifNicholas Marriott2009-08-18
| | | | | | | | | | | | | | there is unconsumed data, save the previous size and use it instead. This means that activity monitoring should work in this (unlikely) event. Also remove a debugging statement that no longer seems necessary.
| * Whoops, getting the comparison the right way round is usually recommended.Nicholas Marriott2009-08-18
| |
| * Move another expensive options test to after a cheaper timer check/update.Nicholas Marriott2009-08-18
| |
| * options_get_number() is relatively expensive and a check for dead panes happensNicholas Marriott2009-08-18
| | | | | | | | | | a lot more often than actually finding one, so instead of getting the option for every check, get it for every dead window found.
| * Now that pane targets (-t) are supported, switch some commands to use themNicholas Marriott2009-08-18
| | | | | | | | | | where it makes sense: clock-mode, copy-mode, scroll-mode, send-keys, send-prefix.
| * Tag a few missed printf-like functions and fix a missing "%s".Nicholas Marriott2009-08-18
| |
| * Pass show-buffer output through vis(3) as well, and wrap it to the edge of theNicholas Marriott2009-08-18
| | | | | | | | terminal when used from the command line.
| * Change list-buffers to run the preview of the buffer through vis(1).Nicholas Marriott2009-08-18
| |
| * Use the full screen width when printing output rather than one less.Nicholas Marriott2009-08-18
| |
| * Nuke unnecessary assignment.Nicholas Marriott2009-08-18
| |
| * Add a "delete line" key when editing in the status line or the search up/downNicholas Marriott2009-08-18
| | | | | | | | prompt. C-u with emacs keys, d with vi.
| * Add (naive) searching and goto line in copy mode. Searching is C-r and C-s withNicholas Marriott2009-08-18
| | | | | | | | | | | | | | | | | | | | emacs keys, / and ? with vi; n repeats the search again with either key set. All searching wraps the top/bottom. Goto line is g for both emacs and vi. The search prompts don't have full line editing, just simple append and delete characters. Also sort the mode keys list in tmux.1.
| * Reset attributes as well as scroll region before poll(2) and add a big commentNicholas Marriott2009-08-14
| | | | | | | | explaining why.
| * Send SGR0 when initialising the screen. Fixes problems on terminals with BCENicholas Marriott2009-08-14
| | | | | | | | | | (like putty) if the background colours is non-default when tmux starts. May also fix problems when resuming a suspended tmux.
| * Switch the prompt code to return an empty string when the user enters noNicholas Marriott2009-08-13
| | | | | | | | | | | | | | 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.
| * vi(1)-style half page scroll in copy and scroll modes. Move the vi full pageNicholas Marriott2009-08-13
| | | | | | | | | | | | | | 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 :-)).
| * Scroll by two less than the number of lines in the screen, like emacs, ratherNicholas Marriott2009-08-13
| | | | | | | | | | than by the entire screen, to make it easier to pull things out from under the line indicator. Suggested by claudio.
| * Disable mode-mouse (mouse in copy/choice mode) by default as it isn't veryNicholas Marriott2009-08-13
| | | | | | | | useful at the moment and causes confusion.
| * Add a base-index session option to specify the first index checked when lookingNicholas Marriott2009-08-13
| | | | | | | | for an index for a new window.
| * Allowing copy mode to scroll left and right is annoying, so limit it to theNicholas Marriott2009-08-13
| | | | | | | | | | | | | | | | 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.
| * Rather than telling the client to exit in the function when creating a newNicholas Marriott2009-08-13
| | | | | | | | session detached, let the caller do it. Allows "tmux new -d \; attach" to work.
| * When creating a new session from the command-line where there is an externalNicholas Marriott2009-08-13
| | | | | | | | | | terminal, copy the termios(4) special characters and use them for new windows created in the new session. Suggested by Theo.
| * Redraw the screen after resizing.Nicholas Marriott2009-08-13
| |
| * It was originally intended that scroll mode would show content that wasNicholas Marriott2009-08-13
| | | | | | | | | | | | | | 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.
| * If the client passes zero for the window size in the identify message (which itNicholas Marriott2009-08-13
| | | | | | | | | | can, for example on serial terminals), reset it to 80x25, same as for resize messages. Problem reported by kettenis@.
| * A tty context must not be modified as it may be reused to update multipleNicholas Marriott2009-08-12
| | | | | | | | | | | | | | 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.
| * When started as the shell, __progname contains a leading -, so hardcode "tmux"Nicholas Marriott2009-08-12
| | | | | | | | for socket path and log files, and strip it when working out the shell.
| * imsg closes the fd after sending, so dup() STDIN_FILENO before passing it toNicholas Marriott2009-08-12
| | | | | | | | | | | | 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).
| * Initialise log_fd to -1, prevents spurious disconnection of the client when itNicholas Marriott2009-08-11
| | | | | | | | | | | | ends up as fd 0 (likely if the server is started with "tmux start"). Also add some extra debugging messages to server.c.
| * Have the client pass its stdin fd to the server when identifying itself andNicholas Marriott2009-08-11
| | | | | | | | | | | | | | | | | | 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.
| * Add a TTY_OPENED flag and tidy a little.Nicholas Marriott2009-08-11
| |
| * Drop the no_stop argument to tty_close and tty_free in favour of a flag in theNicholas Marriott2009-08-11
| | | | | | | | tty struct.
| * Switch tmux to use imsg. This is the last major change to make theNicholas Marriott2009-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Add flags for 1+2 and 2 arguments to the generic target code, use it forNicholas Marriott2009-08-11
| | | | | | | | | | cmd-set-environment/option/window-option and remove the generic options parsing.
| * No arguments are the same as new-session and this requires the environment toNicholas Marriott2009-08-10
| | | | | | | | be sent, so set that flag too when argc == 0.
| * Reset the attributes after drawing all or part of the screen, and reset theNicholas Marriott2009-08-10
| | | | | | | | | | | | 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).
| * Use the right source and destination lines in grid_duplicate_lines.Nicholas Marriott2009-08-10
| |
| * some minor tweaks; ok nicmJason McIntyre2009-08-10
| |
| * zap trailing whitespace;Jason McIntyre2009-08-09
| |
| * Minor language tweaks, change which key bindings are summarised.Nicholas Marriott2009-08-09
| |
| * Nuke a dead variable found with clang and an unused declaration with lint.Nicholas Marriott2009-08-09
| |
| * Move the key bindings section to near the start, mention attach/detach in theNicholas Marriott2009-08-09
| | | | | | | | first section, and another couple of tweaks. Based on a diff from Theo.
| * Don't leak in the (rare) case of an invalid command at the end of a file notNicholas Marriott2009-08-09
| | | | | | | | terminated by a \n.
| * Use a temporary variable for strdup of const char *.Nicholas Marriott2009-08-08
| |
| * Infrastructure and commands to manage the environment for processes startedNicholas Marriott2009-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | within tmux. There is a global environment, copied from the external environment when the server is started and each sesssion 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.
| * Tidy function a little by using a temporary variable.Nicholas Marriott2009-08-08
| |
| * Options to set the colours and attributes for status-left/-right. From ThomasNicholas Marriott2009-08-08
| | | | | | | | Adam, thanks.
| * Handle ttyname(3) failure better.Nicholas Marriott2009-08-08
| |