aboutsummaryrefslogtreecommitdiff
path: root/cmd.c
Commit message (Collapse)AuthorAge
...
| * Remove the cmd_find_{session,window,pane,index} functions (which arenicm2015-12-13
| | | | | | | | | | just wrappers around cmd_find_target) and just use cmd_find_target directly.
| * Move logging into cmd_find_target rather than each function.nicm2015-12-13
| |
| * Instead of every command resolving the target (-t or -s) itself, preparenicm2015-12-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the state (client, session, winlink, pane) for it it before entering the command. Each command provides some flags that tell the prepare step what it is expecting. This is a requirement for having hooks on commands (for example, if you hook "select-window -t1:2", the hook command should to operate on window 1:2 not whatever it thinks is the current window), and should allow some other target improvements. The old cmd_find_* functions remain for the moment but that layer will be dropped later. Joint work with Thomas Adam.
* | Conflicts:Thomas Adam2015-12-08
|\| | | | | | | Makefile
| * 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.
* | Merge branch 'obsd-master'Thomas Adam2015-11-27
|\|
| * Do not set a limit on the length of commands when printing them.nicm2015-11-27
| |
* | Merge branch 'obsd-master'Thomas Adam2015-09-06
|\| | | | | | | | | | | Conflicts: cfg.c tmux.c
| * All the cmd_*_entry declarations do not need to be in tmux.h.nicm2015-09-01
| |
* | Merge branch 'obsd-master'Thomas Adam2015-04-27
|\| | | | | | | | | | | Conflicts: Makefile tmux.1
| * 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 branch 'obsd-master'Thomas Adam2015-04-25
|\|
| * Make message log a TAILQ.nicm2015-04-25
| |
| * Move the functions to convert ids from strings into session.c and window.c.nicm2015-04-25
| |
* | Merge branch 'obsd-master'Thomas Adam2015-04-25
|\|
| * Convert clients list into a TAILQ.nicm2015-04-24
| |
* | Merge branch 'obsd-master'Thomas Adam2015-04-22
|\|
| * Look up indexes as number before name, makes more sense if windows arenicm2015-04-21
| | | | | | | | named starting with numbers. From Thomas Adam.
* | Merge branch 'obsd-master'Thomas Adam2015-04-20
|\|
| * Rewrite of tmux mouse support which was a mess. Instead of havingnicm2015-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on). See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event). The default builtin bindings for the mouse are: bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M To get the effect of turning mode-mouse off, do: unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
* | No need for $Id$ now.Nicholas Marriott2014-11-08
| |
* | Merge branch 'obsd-master'Thomas Adam2014-10-21
|\| | | | | | | | | | | | | | | | | | | Conflicts: Makefile cmd-list-commands.c cmd-suspend-client.c job.c tmux.h xmalloc.c
| * Add xreallocarray and remove nmemb argument from xrealloc.nicm2014-10-08
| |
| * Support using pane id as part of session or window specifier (so %1nicm2014-09-25
| | | | | | | | | | means session-of-%1 or window-of-%1) and window id as part of session (so @1 means session-of-@1).
| * Support ! for last pane.nicm2014-09-25
| |
* | Merge branch 'obsd-master'Thomas Adam2014-08-09
|\| | | | | | | | | Conflicts: client.c
| * Show an error if cmd_find_session can't find the current session, likenicm2014-07-13
| | | | | | | | the other functions.
* | Merge branch 'obsd-master'Thomas Adam2014-05-13
|\| | | | | | | | | | | Conflicts: format.c window.c
| * If multiple arguments are given to new-session, new-window,nicm2014-05-13
| | | | | | | | | | | | split-window, respawn-window or respawn-pane, pass them directly to execvp() to help avoid quoting problems. One argument still goes to "sh -c" like before. Requested by many over the years. Patch from J Raynor.
| * Just use char ** for argv like normal people, not char *const *.nicm2014-05-09
| |
* | Merge branch 'obsd-master'Thomas Adam2014-04-23
|\| | | | | | | | | | | | | Conflicts: Makefile tmux.1 window.c
| * Remove the choose-list command to prepare for some later choose-* work.nicm2014-04-16
| |
| * Don't write into buffer if no arguments, reported by Filipe Rosset.nicm2014-03-31
| |
* | Don't write into buffer if no arguments, reported by Filipe Rosset.Nicholas Marriott2014-02-26
| |
* | Merge branch 'obsd-master'Thomas2014-01-20
|\|
| * Allow attach-session -t to accept a window and pane to select them onnicm2014-01-09
| | | | | | | | attach. Based on a diff from J Raynor.
| * We accidentally haven't been using $TMUX to work out the session for anicm2013-10-10
| | | | | | | | | | | | while and in fact it is less useful that using the client ttyname. So don't bother and don't pass it from the client. If we need it in future it is in c->environ.
| * Remove now unused cmd_get_default_path.nicm2013-10-10
| |
| * Support -c for new-session, based on code from J Raynor.nicm2013-10-10
| |
* | We accidentally haven't been using $TMUX to work out the session for a whileNicholas Marriott2013-10-06
| | | | | | | | | | and in fact it is less useful that using the client ttyname. So don't bother and don't pass it from the client. If we need it in future it is in c->environ.
* | Remove now unused cmd_get_default_path.Nicholas Marriott2013-10-06
| |
* | Support -c for new-session, based on code from J Raynor.Nicholas Marriott2013-10-01
| |
* | Remove the barely-used and unnecessary command check() function.Nicholas Marriott2013-08-21
| |
* | Merge branch 'obsd-master'Thomas Adam2013-05-25
|\| | | | | | | | | Conflicts: tmux.h
| * Reserve space for \0 in cmd_print, from George Nachman.Nicholas Marriott2013-05-15
| |
| * Sort includes and fix spaces.Nicholas Marriott2013-03-25
| |
| * Rename session idx to session id throughout and add $ prefix to targetsNicholas Marriott2013-03-25
| | | | | | | | to use it, extended from a diff from George Nachman.
| * 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.
| * Fix error reporting for client commands by adding a flag toNicholas Marriott2013-03-24
| | | | | | | | | | cmd_find_client to tell it whether or not to show errors, sometimes it's needed and sometimes not.