aboutsummaryrefslogtreecommitdiff
path: root/tmux.h
Commit message (Collapse)AuthorAge
...
| | * Don't reset the activity timer for unattached sessions every second,Nicholas Marriott2011-01-01
| | | | | | | | | | | | | | | | | | | | | this screws up the choice of most-recently-used. Instead, break the time update into a little function and do it when the session is attached. Pointed out by joshe@.
| | * Remove some unused defines.Nicholas Marriott2010-12-30
| | |
| | * Change from a per-session stack of buffers to one global stack which isNicholas Marriott2010-12-30
| | | | | | | | | | | | | | | | | | | | | much more convenient and also simplifies lot of code. This renders copy-buffer useless and makes buffer-limit now a server option. By Tiago Cunha.
| | * Add a function to create window flags rather than doing the same thingNicholas Marriott2010-12-30
| | | | | | | | | | | | in two places. From Thomas Adam.
| | * Support all four of the xterm mouse modes. Based on a diff from hsim atNicholas Marriott2010-12-29
| | | | | | | | | | | | gmx.li.
| | * Store sessions in an RB tree by name rather than a list, this is tidierNicholas Marriott2010-12-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | and allows them to easily be shown sorted in various lists (list-sessions/choose-sessions). Keep a session index which is used in a couple of places internally but make it an ever-increasing number rather than filling in gaps with new sessions.
| | * Dead sessions are never on the active sessions list, so the SESSION_DEADNicholas Marriott2010-12-20
| | | | | | | | | | | | flag is effectively unused. Remove it.
| | * Use pointer rather than index for the client's last session.Nicholas Marriott2010-12-20
| | |
| | * Unify the way sessions are used by callbacks - store the address and useNicholas Marriott2010-12-20
| | | | | | | | | | | | | | | the reference count, then check it is still on the global sessions list in the callback.
| | * Track the last session for a client and add a flag to switch-client andNicholas Marriott2010-12-11
| | | | | | | | | | | | a key binding (L) to move a client back to its last session.
| | * Make the prompt history global for all clients which is much more useful ↵Nicholas Marriott2010-12-11
| | | | | | | | | | | | than per-client history.
| | * Add an option to alert (monitor) for silence (lack of activity) in aNicholas Marriott2010-12-06
| | | | | | | | | | | | window. From Thomas Adam.
| | * There is somewhere that WINDOW_HIDDEN is getting set when it shouldn'tNicholas Marriott2010-11-22
| | | | | | | | | | | | | | | | | | | | | | | | be and I can't find it, but the flag itself is a useless optimisation that only applies to automatic-resize windows, so just dispose of it entirely. Fixes problems reported by Nicholas Riley.
| | * Declaration in header should be extern.Nicholas Marriott2010-11-11
| | |
| | * We now send argv to the server after parsing it in the client to get theNicholas Marriott2010-10-29
| | | | | | | | | | | | | | | command, so the client should not modify it. Instead, take a copy. Fixes parsing command lists, reported by mcbride@.
| | * Add a last-pane command (bound to ; by default). Requested ages ago byNicholas Marriott2010-10-23
| | | | | | | | | | | | somebody whose name I have forgotten.
| | * Merge the before and after attach client code into one in client.cNicholas Marriott2010-10-18
| | | | | | | | | | | | (instead of two in tmux.c and client.c).
| | * Nuke a leftover RB tree declaration spotted by blambert.Nicholas Marriott2010-09-28
| | |
| | * Two new options:Nicholas Marriott2010-09-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - server option "exit-unattached" makes the server exit when no clients are attached, even if sessions are present; - session option "destroy-unattached" destroys a session once no clients are attached to it. These are useful for preventing tmux remaining in the background where it is undesirable and when using tmux as a login shell to keep a limit on new sessions.
| | * Use UTF-8 line drawing characters on UTF-8 terminals. Fixes some stupidNicholas Marriott2010-09-11
| | | | | | | | | | | | | | | | | | | | | | | | terminals (I'm looking at you, putty) which disable the vt100 ACS mode switching sequences in UTF-8 mode. Also on terminals without ACS at all, use ASCII equivalents where obvious.
| | * Add -n and -p flags to switch-client to move to the next and previousNicholas Marriott2010-09-08
| | | | | | | | | | | | | | | | | | | | | session (yes, it doesn't match window/pane, but so what, nor does switch-client). Based on a diff long ago from "edsouza".
| | * Do not call event_del() for signals after fork(), just use sigaction()Nicholas Marriott2010-08-19
| | | | | | | | | | | | | | | directly instead - calling libevent functions after fork() w/o event_reinit() is a bad idea, even if in this case it was harmless.
| | * Change the way backoff works. Instead of stopping reading from the ptyNicholas Marriott2010-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when the client tty backs up too much, just stop updating the tty and only update the internal screen. Then when the tty recovers, force a redraw. This prevents a dodgy client from causing other clients to go into backoff while still allowing tmux to be responsive (locally) when seeing lots of output.
| | * When changing so that the client passes its stdout and stderr as well asNicholas Marriott2010-07-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | stdin up to the server, I forgot one essential point - the tmux server could now be both the producer and consumer. This happens when tmux is run inside tmux, as well as when piping tmux commands together. So, using stdio(3) was a bad idea - if sufficient data was written, this could block in write(2). When that happened and the server was both producer and consumer, it deadlocks. Change to use libevent bufferevents for the client stdin, stdout and stderr instead. This is trivial enough for output but requires a callback mechanism to trigger when stdin is finished. This relies on the underlying polling mechanism for libevent to work with whatever devices to which the user could redirect stdin, stdout or stderr, hence the change to use poll(2) over kqueue(2) for tmux.
| | * Make pane/window wrapping more logical (so with 10 windows, +10 fromNicholas Marriott2010-07-14
| | | | | | | | | | | | window 5 stays in the same place), and tidy the code. From Tiago Cunha.
| | * Return the command client return code with MSG_EXIT now that MSG_ERROR andNicholas Marriott2010-07-11
| | | | | | | | | | | | | | | | | | | | | MSG_PRINT are unused. New clients should be compatible with old tmux servers but vice versa may print an error.
| | * replace some magic mouse constants with defines for clarity. ok nicmTed Unangst2010-06-29
| | |
| | * Custom layouts. list-windows command displays the layout as a string (such asNicholas Marriott2010-06-29
| | | | | | | | | | | | | | | "bb62,159x48,0,0{79x48,0,0,79x48,80,0}") and it can be applied to another window (with the same number of panes or fewer) using select-layout.
| | * Send all three of stdin, stdout, stderr from the client to the server, so thatNicholas Marriott2010-06-28
| | | | | | | | | | | | | | | | | | | | | | | | commands can directly make use of them. This means that load-buffer and save-buffer can have "-" as the file to read from stdin or write to stdout. This is a protocol version bump so the tmux server will need to be restarted after upgrade (or an older client used).
| | * Store the current working directory in the session, change the default-pathNicholas Marriott2010-06-27
| | | | | | | | | | | | | | | option to default to empty and make that mean that the stored session CWD is used.
| | * Setting the cmdlist pointer in the bind-key to NULL to prevent it being freedNicholas Marriott2010-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | after the command is executing is bogus because it may still be needed if the same command is going to be executed again (for example if you "bind-key a bind-key b ..."). Making a copy is hard, so instead add a reference count to the cmd_list. While here, also print bind-key -n and the rest of the flags properly. Fixes problem reported by mcbride@.
| | * Add a choose-buffer command for easier use of the paste buffer stack.Nicholas Marriott2010-06-21
| | |
| | * Extend the -t:+ and -t:- window targets for next and previous window toNicholas Marriott2010-06-21
| | | | | | | | | | | | accept an offset such as -t:+2. From Tiago Cunha.
| | * Having a list of winlinks->alerts for each session is stupid, just storeNicholas Marriott2010-06-21
| | | | | | | | | | | | the alert flags directly in the winlink itself.
| | * Use a macro-based mask for obtaining a key or modifier-set from theNicholas Marriott2010-06-06
| | | | | | | | | | | | combination. Display C-@, etc, as C-Space, in list-keys. By Micah Cowan.
| | * Fix problems with window sizing seen by Raghavendra D Prabhu whenNicholas Marriott2010-06-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | starting tmux from .xinitrc. One of the very few things the server relies on the client for now is to pass through a message on SIGWINCH, but there is a condition where potentially a SIGWINCH may be lost during the transition from unattached (main.c) to attached (client.c). So trigger a size change immediately after the client installs its SIGWINCH handler. Also, when the terminal is resized, reset the scroll region and cursor position. Previously, we were clearing our saved idea of these, but in fact some terminals do not reset them on resize, so this caused problems during redraw. While here make a resize to the same size not cause a redraw and rename the tmux.out output log file to include the tmux PID.
| | * When the mode-mouse option is on, support dragging to make a selectionNicholas Marriott2010-05-31
| | | | | | | | | | | | | | | | | | | | | | | | in copy mode. Also support the scroll wheel, although xterm strangely does not ignore it in application mouse mode, causing redraw artifacts when scrolling up (other terminals appear to be better behaved).
| | * Move imsg into libutil and add a man page.Nicholas Marriott2010-05-26
| | | | | | | | | | | | | | | | | | | | | | | | Minor bump for libutil. Previous versions of this diff and man page looked at by various people. "you should just commit" deraadt
| | * Pass in the session, rather than the client, to window modes' key()Nicholas Marriott2010-05-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | function. We were only ever using the client to find the session anyway. This allows send-key to work properly for manipulating copy mode from outside tmux. From Micah Cowan.
| | * Identical behaviour to select-prompt can now be obtained withNicholas Marriott2010-05-05
| | | | | | | | | | | | | | | command-prompt, so remove select-prompt and change ' to be bound to command-prompt -p index "select-window -t :%%".
| | * Put this back in with the initialisation in the right order.Nicholas Marriott2010-05-04
| | |
| | * Revert last change, it appears to be broken somehow.Nicholas Marriott2010-05-04
| | |
| | * Make signal handler setup/teardown two common functions instead of six,Nicholas Marriott2010-05-03
| | | | | | | | | | | | | | | and reset SIGCHLD after fork to fix problems with some shells. From Romain Francois.
| | * Merge copy mode and output mode, dropping the latter. Idea and code fromNicholas Marriott2010-04-06
| | | | | | | | | | | | Micah Cowan.
| | * Run job commands explicitly in the global enviroment (which can beNicholas Marriott2010-04-04
| | | | | | | | | | | | | | | modified with setenv -g) rather than with the environment tmux started with.
| | * Squash a function that is only called in a callback into the callbackNicholas Marriott2010-04-04
| | | | | | | | | | | | function.
| | * Dead functions, lint.Nicholas Marriott2010-03-22
| | |
| | * Add vi-style "jump" commands for copy mode, from Micah Cowan.Nicholas Marriott2010-03-22
| | |
| | * Support up, down, left, right movement through panes with -UDLR flags toNicholas Marriott2010-03-22
| | | | | | | | | | | | | | | | | | | | | select-pane. Also REMOVE the up- and down-pane commands: equivalent behaviour is now available using -t :.+ and -t :.-.
| | * New input parser based on http://vt100.net/emu/dec_ansi_parser.Nicholas Marriott2010-03-22
| | |