Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Give each pane created in a tmux server a unique id (starting from 0), | Nicholas Marriott | 2011-03-27 |
| | | | | | put it in the TMUX_PANE environment variable and accept it as a target. Suggested by and with testing and tweaks from Ben Boeckel. | ||
* | Check if the index is in use and fail before creating the child process, | Nicholas Marriott | 2011-01-25 |
| | | | | rather than leaving a stray child on failure. | ||
* | Move all calls to fcntl(...O_NONBLOCK) into a function and clear the | Nicholas Marriott | 2011-01-08 |
| | | | | | flag on the stdio file descriptors before closing them (fixes things like "tmux ls && cat"). | ||
* | Add a function to create window flags rather than doing the same thing | Nicholas Marriott | 2010-12-30 |
| | | | | in two places. From Thomas Adam. | ||
* | Add an option to alert (monitor) for silence (lack of activity) in a | Nicholas Marriott | 2010-12-06 |
| | | | | window. From Thomas Adam. | ||
* | Don't allow last and active window to become the same - a very bad move | Nicholas Marriott | 2010-11-14 |
| | | | | when the active window is closed and freed. Reported by sthen@. | ||
* | Add a last-pane command (bound to ; by default). Requested ages ago by | Nicholas Marriott | 2010-10-23 |
| | | | | somebody whose name I have forgotten. | ||
* | When removing a pane, don't change the active pane unless the active | Nicholas Marriott | 2010-10-23 |
| | | | | pane is actually the one being removed. | ||
* | Trying to set FD_CLOEXEC on every fd is a lost cause, just use | Nicholas Marriott | 2010-10-16 |
| | | | | closefrom() before exec. | ||
* | When destroying a pane, reset any mode (which reenables pane | Nicholas Marriott | 2010-08-25 |
| | | | | bufferevent) before freeing the bufferevent. | ||
* | Do not call event_del() for signals after fork(), just use sigaction() | Nicholas Marriott | 2010-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. | ||
* | Make pane/window wrapping more logical (so with 10 windows, +10 from | Nicholas Marriott | 2010-07-14 |
| | | | | window 5 stays in the same place), and tidy the code. From Tiago Cunha. | ||
* | Extend the -t:+ and -t:- window targets for next and previous window to | Nicholas Marriott | 2010-06-21 |
| | | | | accept an offset such as -t:+2. From Tiago Cunha. | ||
* | Pass in the session, rather than the client, to window modes' key() | Nicholas Marriott | 2010-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. | ||
* | Put this back in with the initialisation in the right order. | Nicholas Marriott | 2010-05-04 |
| | |||
* | Revert last change, it appears to be broken somehow. | Nicholas Marriott | 2010-05-04 |
| | |||
* | Make signal handler setup/teardown two common functions instead of six, | Nicholas Marriott | 2010-05-03 |
| | | | | | and reset SIGCHLD after fork to fix problems with some shells. From Romain Francois. | ||
* | Run job commands explicitly in the global enviroment (which can be | Nicholas Marriott | 2010-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 callback | Nicholas Marriott | 2010-04-04 |
| | | | | function. | ||
* | Support up, down, left, right movement through panes with -UDLR flags to | Nicholas Marriott | 2010-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 Marriott | 2010-03-22 |
| | |||
* | Instead of bailing out on the first configuration file error, carry on, | Nicholas Marriott | 2010-02-06 |
| | | | | | collecting all the errors, then start with the active window in more mode displaying them. | ||
* | Massive spaces->tabs and trailing whitespace cleanup, hopefully for the last | Nicholas Marriott | 2009-12-03 |
| | | | | | time now I've configured emacs to make them displayed in really annoying colours... | ||
* | Remove a couple of unused arguments where possible, and add /* ARGSUSED */ to | Nicholas Marriott | 2009-11-26 |
| | | | | the rest to reduce lint output. | ||
* | Change status line drawing to create the window list in a separate screen and | Nicholas Marriott | 2009-11-19 |
| | | | | | then copy it into the status line screen. This allows UTF-8 in window names and fixes some problems with #[] in window-status-format. | ||
* | Destroy panes immediately rather than checking them all every loop. | Nicholas Marriott | 2009-11-13 |
| | |||
* | Change window name change to use a timer event rather than a gettimeofday() | Nicholas Marriott | 2009-11-04 |
| | | | | check every loop. | ||
* | Convert the window pane (pty master side) fd over to use a bufferevent. | Nicholas Marriott | 2009-11-04 |
| | | | | | The evbuffer API is very similar to the existing tmux buffer API so this was remarkably painless. Not many possible ways to do it, I suppose. | ||
* | Switch window pane pipe redirect fd over to a bufferevent. | Nicholas Marriott | 2009-11-04 |
| | |||
* | Initial changes to move tmux to libevent. | Nicholas Marriott | 2009-11-04 |
| | | | | | | | | | This moves the client-side loops are pretty much fully over to event-based only (tmux.c and client.c) but server-side (server.c and friends) treats libevent as a sort of clever poll, waking up after every event to run various things. Moving the server stuff over to bufferevents and timers and so on will come later. | ||
* | Only redraw the pane when changing mode, not the entire window. | Nicholas Marriott | 2009-10-22 |
| | |||
* | Stop updating the screen when not in output mode, stops copy mode getting | Nicholas Marriott | 2009-10-19 |
| | | | | confused. | ||
* | Add a pipe-pane command to allow a pane to be piped to a shell command, for | Nicholas Marriott | 2009-10-11 |
| | | | | | | | | | | | example: pipe-pane 'cat >~/out' No arguments stops outputing and closes the pipe; the -o flag toggles a pipe and on and off (useful for key bindings). Suggested by espie@. | ||
* | Clean up by introducing a wrapper struct for mouse clicks rather than passing | Nicholas Marriott | 2009-10-11 |
| | | | | | | | three u_chars around. As a side-effect this fixes incorrectly rejecting high cursor positions (because it was comparing them as signed char), reported by Tom Doherty. | ||
* | Accept key and mouse input for keys in zombified windows if they are in a mode.. | Nicholas Marriott | 2009-10-10 |
| | |||
* | New option, mouse-select-pane. If on, the mouse may be used to select the | Nicholas Marriott | 2009-10-10 |
| | | | | | | current pane. Suggested by sthen@ and also by someone else ages ago who I have forgotten. | ||
* | Add "grouped sessions" which have independent name, options, current window and | Nicholas Marriott | 2009-10-10 |
| | | | | | | | | so on but where the linked windows are synchronized (ie creating, killing windows and so on are mirrored between the sessions). A grouped session may be created by passing -t to new-session. Had this around for a while, tested by a couple of people. | ||
* | Add a simple synchronize-panes window option: when set, all input to any pane | Nicholas Marriott | 2009-10-09 |
| | | | | | that is part of the window is also sent to all other panes in the same window. Suggested by several, most recently Tomasz Pajor. | ||
* | Regularise some fatal messages. | Nicholas Marriott | 2009-09-20 |
| | |||
* | Rather than constructing an entire termios struct from ttydefaults.h, just let | Nicholas Marriott | 2009-09-16 |
| | | | | | forkpty do it and then alter the bits that should be changed after fork. A little neater and more portable. | ||
* | If forking a login shell or if SHELL is otherwise not useful, set it to the | Nicholas Marriott | 2009-09-01 |
| | | | | default shell. Based on a diff from martynas@. | ||
* | When using tmux as a login shell, there is currently no way to specify a shell | Nicholas Marriott | 2009-09-01 |
| | | | | | | | | | | | | to be used as a login shell inside tmux, so add a default-shell session option. This sets the shell invoked as a login shell when the default-command option is empty. The default option value is whichever of $SHELL, getpwuid(getuid())'s pw_shell or /bin/sh is valid first. Based on a diff from martynas@, changed by me to be a session option rather than a window option. | ||
* | Add a base-index session option to specify the first index checked when looking | Nicholas Marriott | 2009-08-13 |
| | | | | for an index for a new window. | ||
* | When creating a new session from the command-line where there is an external | Nicholas Marriott | 2009-08-13 |
| | | | | | terminal, copy the termios(4) special characters and use them for new windows created in the new session. Suggested by Theo. | ||
* | When started as the shell, __progname contains a leading -, so hardcode "tmux" | Nicholas Marriott | 2009-08-12 |
| | | | | for socket path and log files, and strip it when working out the shell. | ||
* | Have the client pass its stdin fd to the server when identifying itself and | Nicholas Marriott | 2009-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. | ||
* | Infrastructure and commands to manage the environment for processes started | Nicholas Marriott | 2009-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. | ||
* | If select-layout is not given an argument, repply the last layout used in the | Nicholas Marriott | 2009-07-28 |
| | | | | window, if any. | ||
* | window_add_pane cannot fail, so remove the unused cause argument and don't | Nicholas Marriott | 2009-07-22 |
| | | | | bother to check for a NULL return. | ||
* | Make some functions which return unused values void (mostly found by lint) and | Nicholas Marriott | 2009-07-21 |
| | | | | tweak a redundant expression in window_pane_set_mode. |