| Commit message (Collapse) | Author | Age |
|
|
|
| |
issue 2917.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
config file finishes. GitHub issue 2637.
|
|
|
|
| |
gmail dot com in GitHub issue 2322.
|
|
|
|
| |
2206.
|
|
|
|
|
| |
clearer about whether the client is the target client (must have a
session) or not.
|
|
|
|
| |
use more clearly defined and preparation for some future work).
|
| |
|
| |
|
|
|
|
| |
split-window or display-message -I.
|
|
|
|
|
| |
(tree_mode_format and so on) and add a -a flag to display-message to
list variables with values.
|
|
|
|
|
|
| |
is parsed, this gives the user a way to debug problems with formats
rather than just being confronted with (for example) a blank status
line.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
intended as the target client where the message should be displayed but
at some point (perhaps when -p was added), it was used for format
expansion too. This means it can get a bit weird where you have client
formats expanding for a client with a different current session than the
target session.
However, it is nice that display-message can be used to show information
about a specific client. So change so that the -c client will be used if
the session matches the target session (-t or default), otherwise the
best client will be chosen.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and not have to wait for an update when they change pane, we allow
commands to run more than once a second if the expanded form
changes. Unfortunately this can mean them being run far too often
(pretty much continually) when multiple clients exist, because some
formats (including #D) will always differ between clients.
To avoid this, give each client its own tree of jobs which means that
the same command will be different instances for each client - similar
to how we have the tag to separate commands for different panes.
GitHub issue 889; test case reported by Paul Johnson.
|
|
|
|
|
|
| |
CMD_FIND_* flags in the cmd_entry and call it for the command. Commands
with special requirements call it themselves and update the target for
hooks to use.
|
|
|
|
|
|
| |
jobs, this means that if the same job is used for different windows or
panes (for example in pane-border-format), it will be run separately for
each pane.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
confusing, particularly trying to automatically figure out what target
hooks should be using. So simplify it:
- drop before hooks entirely, they don't seem to be very useful;
- commands with special requirements now fire their own after hook (for
example, if they change session or window, or if they have -t and -s
and need to choose which one the hook uses as current target);
- commands with no special requirements can have the CMD_AFTERHOOK flag
added and they will use the -t state.
At the moment new-session, new-window, split-window fire their own hook,
and display-message uses the flag. The remaining commands still need to
be looked at.
|
| |
|
|
|
|
| |
Serge Aleynikov, fix from Thomas Adam.
|
|
|
|
| |
using an enum and simplify the parsing code.
|
|
|
|
| |
about the order.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
command name (will also be used for more later).
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
functions.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
cmd_find_client to tell it whether or not to show errors, sometimes it's
needed and sometimes not.
|
| |
|
|
|
|
| |
from the choose-tree defaults.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
infrastructure, from Thomas Adam.
|
|
|
|
| |
Tiago Cunha.
|
| |
|
|
|
|
| |
for chars.
|
|
|
|
| |
replacements and add -c as target-client.
|