aboutsummaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAge
* Open /dev/ptm before pledge() and save it to be used for PTMGET laternicm2017-01-23
| | | | | | (this means inlining forkpty()). ok deraadt
* Add hooks infrastructure, basic commands (set-hook, show-hooks) and anicm2015-12-08
| | | | | | couple of not very useful client hooks. This will eventually let commands be run at various points and on notifications. Joint work with Thomas Adam.
* Long overdue change to the way we store cells in the grid: now, insteadnicm2015-11-13
| | | | | | | | | | | | | | | of storing a full grid_cell with UTF-8 data and everything, store a new type grid_cell_entry. This can either be the cell itself (for ASCII cells), or an offset into an extended array (per line) for UTF-8 data. This avoid a large (8 byte) overhead on non-UTF-8 cells (by far the majority for most users) without the complexity of the shadow array we had before. Grid memory without any UTF-8 is about half. The disadvantage that cells can no longer be modified in place and need to be copied out of the grid and back but it turned out to be lot less complicated than I expected.
* Break the common process set up, event loop and imsg dispatch codenicm2015-10-27
| | | | | between server and client out into a separate internal API. This will make it easier to add another process.
* Merge delete-buffer into cmd-set-buffer.c and change the paste buffernicm2015-09-11
| | | | | API so it has one paste_free() rather than free_top and free_name (everywhere that uses it already has the right pointer).
* Move alerts onto events rather than checking every loop.nicm2015-08-29
|
* Rewrite of the target resolution internals to be simpler and morenicm2015-04-27
| | | | | | | consistent but with much less duplication, but keeping the same internal API. Also adds more readable aliases for some of the special tokens used in targets (eg "{start}" instead of "^"). Some behaviours may have changed, for example prefix matches now happen before fnmatch.
* Merge clock-mode command into copy-mode.nicm2015-02-09
|
* Merge linkw and movew which are virtually identical.nicm2014-10-27
|
* Merge unlink-window into kill-window.nicm2014-10-22
|
* Move suspend-client code into detach-client.nicm2014-10-20
|
* Move list-commands into list-keys.nicm2014-10-20
|
* 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.