#
8eb95462 |
| 19-Apr-2017 |
nicm <nicm@openbsd.org> |
Style nits and a missing cast.
|
#
4caf08d8 |
| 15-Jan-2017 |
nicm <nicm@openbsd.org> |
It is silly for cmd_list_parse to return an integer error when it could just return NULL.
|
#
07a4101d |
| 06-Jan-2017 |
nicm <nicm@openbsd.org> |
Nits found with clang.
|
#
edd3b079 |
| 06-Jan-2017 |
nicm <nicm@openbsd.org> |
Incremental search in copy mode (on for emacs keys by default) - much the same as normal searching but updates the cursor position and marked search terms as you type. C-r and C-s in the prompt repea
Incremental search in copy mode (on for emacs keys by default) - much the same as normal searching but updates the cursor position and marked search terms as you type. C-r and C-s in the prompt repeat the search, once finished searching (with Enter), N and n work as before.
show more ...
|
#
68e0a7f2 |
| 16-Oct-2016 |
nicm <nicm@openbsd.org> |
Mass rename struct cmd_q to struct cmdq_item and related.
|
#
765b9a58 |
| 16-Oct-2016 |
nicm <nicm@openbsd.org> |
Rewrite command queue handling. Each client still has a command queue, but there is also now a global command queue. Instead of command queues being dispatched on demand from wherever the command hap
Rewrite command queue handling. Each client still has a command queue, but there is also now a global command queue. Instead of command queues being dispatched on demand from wherever the command happens to be added, they are now all dispatched from the top level server loop. Command queues may now also include callbacks as well as commands, and items may be inserted after the current command as well as at the end.
This all makes command queues significantly more predictable and easier to use, and avoids the complex multiple nested command queues used by source-file, if-shell and friends.
A mass rename of struct cmdq to a better name (cmdq_item probably) is coming.
show more ...
|
#
a3806a61 |
| 12-Oct-2016 |
nicm <nicm@openbsd.org> |
The repeat prompt in both emacs and vi (and the old one in tmux) doesn't support line editing and instead executes a command as soon as a non-number key is pressed. Add a -N flag to command-prompt fo
The repeat prompt in both emacs and vi (and the old one in tmux) doesn't support line editing and instead executes a command as soon as a non-number key is pressed. Add a -N flag to command-prompt for the same in copy mode. Reported by Theo Buehler.
show more ...
|
#
576538d5 |
| 11-Oct-2016 |
nicm <nicm@openbsd.org> |
Fundamental change to how copy mode key bindings work:
The vi-copy and emacs-copy mode key tables are gone, and instead copy mode commands are bound in one of two normal key tables ("copy-mode" or "
Fundamental change to how copy mode key bindings work:
The vi-copy and emacs-copy mode key tables are gone, and instead copy mode commands are bound in one of two normal key tables ("copy-mode" or "copy-mode-vi"). Keys are bound to "send-keys -X copy-mode-command". So:
bind -temacs-copy C-Up scroll-up bind -temacs-copy -R5 WheelUpPane scroll-up
Becomes:
bind -Tcopy-mode C-Up send -X scroll-up bind -Tcopy-mode WheelUpPane send -N5 -X scroll-up
This allows the full command parser and command set to be used - for example, we can use the normal command prompt for searching, jumping, and so on instead of a custom one:
bind -Tcopy-mode C-r command-prompt -p'search up' "send -X search-backward '%%'"
command-prompt also gets a -1 option to only require on key press, which is needed for jumping.
The plan is to get rid of mode keys entirely, so more to come eventually.
show more ...
|
#
dc1f0f5f |
| 10-Oct-2016 |
nicm <nicm@openbsd.org> |
Add static in cmd-* and fix a few other nits.
|
#
98ca8272 |
| 19-Jan-2016 |
nicm <nicm@openbsd.org> |
I no longer use my SourceForge address so replace it.
|
#
8d471e80 |
| 14-Dec-2015 |
nicm <nicm@openbsd.org> |
Instead of combined flags for -c, -s, -t, split into different sets using an enum and simplify the parsing code.
|
#
c057646b |
| 13-Dec-2015 |
nicm <nicm@openbsd.org> |
Use member names in cmd_entry definitions so I stop getting confused about the order.
|
#
3447b427 |
| 13-Dec-2015 |
nicm <nicm@openbsd.org> |
Instead of every command resolving the target (-t or -s) itself, prepare the state (client, session, winlink, pane) for it it before entering the command. Each command provides some flags that tell t
Instead of every command resolving the target (-t or -s) itself, prepare 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.
show more ...
|
#
e048bb79 |
| 19-Apr-2015 |
nicm <nicm@openbsd.org> |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse supp
Rewrite of tmux mouse support which was a mess. Instead of having 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.
show more ...
|
#
f0dcb22a |
| 20-Oct-2014 |
nicm <nicm@openbsd.org> |
Instead of setting up the default keys by building the key struct directly with a helper function in the cmd_entry, include a table of bind-key commands and pass them through the command parser and a
Instead of setting up the default keys by building the key struct directly with a helper function in the cmd_entry, include a table of bind-key commands and pass them through the command parser and a temporary cmd_q.
As well as being smaller, this will allow default bindings to be command sequences which will probably be needed soon.
show more ...
|
#
1fe07f53 |
| 10-Oct-2013 |
nicm <nicm@openbsd.org> |
Remove the barely-used and unnecessary command check() function.
|
#
175d36cc |
| 24-Mar-2013 |
nicm <nicm@openbsd.org> |
Add a command queue to standardize and simplify commands that call other commands and allow a command to block execution of subsequent commands. This allows run-shell and if-shell to be synchronous w
Add a command queue to standardize and simplify commands that call other 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.
show more ...
|
#
039128ee |
| 24-Mar-2013 |
nicm <nicm@openbsd.org> |
Fix error reporting for client commands by adding a flag to cmd_find_client to tell it whether or not to show errors, sometimes it's needed and sometimes not.
|
#
523db3cc |
| 22-Mar-2013 |
nicm <nicm@openbsd.org> |
Need to set clients in context before changing their reference count.
|
#
c225004c |
| 22-Mar-2013 |
nicm <nicm@openbsd.org> |
Remove unnecessary initializers of cmd_ctx.
|
#
de9a15de |
| 22-Mar-2013 |
nicm <nicm@openbsd.org> |
Add functions to allocate and free command contexts rather than doing it all on the stack.
|
#
a224d0d3 |
| 11-Jul-2012 |
nicm <nicm@openbsd.org> |
Make command exec functions return an enum rather than -1/0/1 values and add a new value to mean "leave client running but don't attach" to fix problems with using some commands in a command sequence
Make command exec functions return an enum rather than -1/0/1 values and add a new value to mean "leave client running but don't attach" to fix problems with using some commands in a command sequence. Most of the work by Thomas Adam, problem reported by "jspenguin" on SF bug 3535531.
show more ...
|
#
7d053cf9 |
| 10-Jul-2012 |
nicm <nicm@openbsd.org> |
xfree is not particularly helpful, remove it. From Thomas Adam.
|
#
3041f374 |
| 08-Jul-2011 |
nicm <nicm@openbsd.org> |
Make confirm-before prompt customizable with -p option like command-prompt. Also move responsibility for calling status_replace into status_prompt_{set,update} and add #W and #P to the default kill-w
Make confirm-before prompt customizable with -p option like command-prompt. Also move responsibility for calling status_replace into status_prompt_{set,update} and add #W and #P to the default kill-window and kill-pane prompts. By Tiago Cunha.
show more ...
|
#
0bb9f373 |
| 03-Jul-2011 |
nicm <nicm@openbsd.org> |
Include the existing window and session name in the prompt when renaming and add a new key binding ($) for rename session. From Tiago Cunha.
|