aboutsummaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAge
* Remove the choose-list command to prepare for some later choose-* work.nicm2014-04-16
|
* Having three *clock* files is ridiculous, remove clock.c.nicm2014-03-31
|
* Allow replacing each of the many sets of separate foo-{fg,bg,attr}nicm2014-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | options with a single foo-style option. For example: set -g status-fg yellow set -g status-bg red set -g status-attr blink Becomes: set -g status-style fg=yellow,bg=red,blink The -a flag to set can be used to add to rather than replace a style. So: set -g status-bg red Becomes: set -ag status-style bg=red Currently this is fully backwards compatible (all *-{fg,bg,attr} options remain) but the plan is to deprecate them over time. From Tiago Cunha.
* Merge start-server into kill-server.nicm2014-01-27
|
* Merge server-info into show-messages and remove some not useful output.nicm2014-01-22
|
* Add a wait-for command which blocks a client on a named channel until itNicholas Marriott2013-03-25
| | | | is woken up again (with wait-for -S). From Thiago Padilha.
* Add a command queue to standardize and simplify commands that call otherNicholas Marriott2013-03-24
| | | | | | | | | | | | | | | | | | | | | | commands and allow a command to block execution of subsequent commands. This allows run-shell and if-shell to be synchronous which has been much requested. Each client has a default command queue and commands are consumed one at a time from it. A command may suspend execution from the queue by returning CMD_RETURN_WAIT and then resume it by calling cmd_continue() - for example run-shell does this from the callback that is fired after the job is freed. When the command queue becomes empty, command clients are automatically exited (unless attaching). A callback is also fired - this is used for nested commands in, for example, if-shell which can block execution of the client's cmdq until a new cmdq becomes empty. Also merge all the old error/info/print functions together and lose the old curclient/cmdclient distinction - a cmdq is bound to one client (or none if in the configuration file), this is a command client if c->session is NULL otherwise an attached client.
* Rather than having two grids for each pane, one for ASCII and one forNicholas Marriott2013-01-18
| | | | | UTF-8, collapse the two together. Simplifies the code at the expense of more memory (which can probably be reduced again later).
* add cmd-choose-list to allow arbitrary options to be selected. FromNicholas Marriott2012-09-03
| | | | Thomas Adam.
* Send notifications to control clients. Also don't redraw client whenNicholas Marriott2012-09-03
| | | | suspended.
* Add choose-tree command to show windows and sessions in the sameNicholas Marriott2012-07-08
| | | | | list. Change choose-window and -session to use the same code. From Thomas Adam.
* Sort SRCS list.Nicholas Marriott2012-07-08
|
* Add a skeleton mode to tmux (called "control mode") that let's tmuxNicholas Marriott2012-06-18
| | | | | | | commands be sent and output received on stdout. This can be used to integrate with other terminal emulators and should allow some other things to be made simpler later. More to come so doesn't do much yet and deliberately not documented.
* Add notify hooks for various events, the functions are currently emptyNicholas Marriott2012-03-17
| | | | stubs but will be filled in for control mode later. From George Nachman.
* Add initial framework for more powerful formatting of command output andNicholas Marriott2011-08-26
| | | | | | | | use it for list-{panes,windows,sessions}. This allows more descriptive replacements (such as #{session_name}) and conditionals. Later this will be used for status_replace and list-keys and other places.
* -lm is no longer needed, from Tiago Cunha.Nicholas Marriott2011-08-25
|
* Add a respawn-pane command, from Marcel Partap.Nicholas Marriott2011-06-05
|
* Get rid of the layout string code which tries to walk through the layoutNicholas Marriott2011-06-05
| | | | hierarchy and instead just look at what panes are actually in the window.
* Accept colours of the hex form #ffffff and translate to the nearest fromNicholas Marriott2011-01-08
| | | | the xterm(1) 256-colour set.
* Now that parsing is common, merge some of the small, related commandsNicholas Marriott2011-01-04
| | | | | | | together to use the same code. Also add some arguments (such as -n and -p) to some commands to match existing commands.
* Clean up and simplify tmux command argument parsing.Nicholas Marriott2011-01-04
| | | | | | | | | | | | | | | | | | | Originally, tmux commands were parsed in the client process into a struct with the command data which was then serialised and sent to the server to be executed. The parsing was later moved into the server (an argv was sent from the client), but the parse step and intermediate struct was kept. This change removes that struct and the separate parse step. Argument parsing and printing is now common to all commands (in arguments.c) with each command left with just an optional check function (to validate the arguments at parse time), the exec function and a function to set up any key bindings (renamed from the old init function). This is overall more simple and consistent. There should be no changes to any commands behaviour or syntax although as this touches every command please watch for any unexpected changes.
* Move the user-visible parts of all options (names, types, limit, defaultNicholas Marriott2011-01-01
| | | | | | values) together into one set of tables in options-table.c. Also clean up and simplify cmd-set-options.c and move a common print function into option-table.c.
* 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 last-pane command (bound to ; by default). Requested ages ago byNicholas Marriott2010-10-23
| | | | somebody whose name I have forgotten.
* 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.
* 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.
* Add a choose-buffer command for easier use of the paste buffer stack.Nicholas Marriott2010-06-21
|
* 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
* 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.
* 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 :.-.
* Fix DPADD, from Brad.Nicholas Marriott2010-01-31
|
* New command, join-pane, to split and move an existing pane into the space (likeNicholas Marriott2010-01-07
| | | | splitw then movep, or the reverse of breakp).
* Permit panes to be referred to as "top", "bottom", "top-left" etc, if the rightNicholas Marriott2009-12-08
| | | | pane can be identified.
* Eliminate duplicate code and ease the passage for server-wide options by addingNicholas Marriott2009-12-03
| | | | | | | a -w flag to set-option and show-options and making setw and showw aliases to set -w and show -w. Note: setw and showw are still there, but now aliases for set -w and show -w.
* New command, capture-pane, which copies the entire pane contents to a pasteNicholas Marriott2009-12-01
| | | | buffer. From Jonathan Alvarado.
* Cleanup by moving various (mostly horrible) little bits handling UTF-8 gridNicholas Marriott2009-11-18
| | | | | | | data into functions in a new file, grid-utf8.c, and use sizeof intead of UTF8_DATA. Also nuke trailing whitespace from tmux.1, reminded by jmc.
* Add a per-client log of status line messages displayed while that clientNicholas Marriott2009-11-18
| | | | | | | | exists. A new message-limit session option sets the maximum number of entries and a command, show-messages, shows the log (bound to ~ by default). This (and prompt history) might be better as a single global log but until there are global options it is easier for them to be per client.
* Bye-bye buffer*.c.Nicholas Marriott2009-11-04
|
* Switch jobs over to use a bufferevent.Nicholas Marriott2009-11-04
|
* Initial changes to move tmux to libevent.Nicholas Marriott2009-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.
* Rewrite xterm-keys code (both input and output) so that works (doesn't alwaysNicholas Marriott2009-10-26
| | | | | output the same modifiers, accepts all the possible input keys) and is more understandable.
* Split the server code handling clients, jobs and windows off into separateNicholas Marriott2009-10-22
| | | | | | | | | files from server.c (merging server-msg.c into the client file) and rather than iterating over each set after poll(), allow a callback to be specified when the fd is added and just walk once over the returned pollfds calling each callback where needed. More to come, getting this in so it is tested.
* Client tidying: get rid of client_ctx struct in favour of two variables inNicholas Marriott2009-10-21
| | | | client.c, and move the functions in client-fn.c into other files.
* Add a pipe-pane command to allow a pane to be piped to a shell command, forNicholas Marriott2009-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@.
* Split list-panes off from list-windows.Nicholas Marriott2009-10-10
|
* Rather than running status-left, status-right and window title #() with popenNicholas Marriott2009-10-10
| | | | | | | | | | | | | | | | | immediately every redraw, queue them up and run them in the background, starting each once every status-interval. The actual status line uses the output from the last run. This brings several advantages: - tmux itself may be called from inside #() without causing the server to hang; - likewise, sleep or similar doesn't cause the server to block; - commands aren't run excessively often when redrawing; - commands shared by status-left and status-right, or used multiple times, will only be run once. run-shell and if-shell still use system()/popen() but will be changed over to use this too later.