Hi,

This is V2 of the hook support patches from before.  Hopefully I've
addressed all of the feedback points, Nicholas.  I'm expecting nit-picking
to take place now.  :)

Not many functional changes from the original patches -- a bug fix or two
perhaps.  I've also added a special "on-bell" hook which will get run after
tmux has rung a bell for things like activity, silence, content, etc.  I
have not bothered to separate out the bell event in to the specific reason
why the bell occurred.  It is unclear whether this is wanted or not.

As always comments welcome, as well as much testing.

Thomas Adam (3):
  Define hooks infrasructure
  Convert commands to use prepare()
  Define on-bell hook.

 Makefile.am            |   3 ++
 cmd-attach-session.c   |  14 ++++++-
 cmd-bind-key.c         |   3 +-
 cmd-break-pane.c       |  17 +++++++-
 cmd-capture-pane.c     |  15 ++++++-
 cmd-choose-buffer.c    |  17 ++++++--
 cmd-choose-client.c    |  17 ++++++--
 cmd-choose-list.c      |  17 ++++++--
 cmd-choose-tree.c      |  26 +++++++++---
 cmd-clear-history.c    |  17 ++++++--
 cmd-clock-mode.c       |  17 ++++++--
 cmd-command-prompt.c   |  14 ++++++-
 cmd-confirm-before.c   |  14 ++++++-
 cmd-copy-mode.c        |  15 +++++--
 cmd-delete-buffer.c    |   3 +-
 cmd-detach-client.c    |  24 ++++++++---
 cmd-display-message.c  |  42 +++++++++++++------
 cmd-display-panes.c    |  17 ++++++--
 cmd-find-window.c      |  17 ++++++--
 cmd-has-session.c      |  17 +++++---
 cmd-if-shell.c         |  34 ++++++++++-----
 cmd-join-pane.c        |  27 +++++++++---
 cmd-kill-pane.c        |  17 ++++++--
 cmd-kill-server.c      |   3 +-
 cmd-kill-session.c     |  14 ++++++-
 cmd-kill-window.c      |  17 +++++++-
 cmd-link-window.c      |  23 +++++++++--
 cmd-list-buffers.c     |   3 +-
 cmd-list-clients.c     |  21 ++++++----
 cmd-list-commands.c    |   3 +-
 cmd-list-keys.c        |   3 +-
 cmd-list-panes.c       |  24 +++++++++--
 cmd-list-sessions.c    |   3 +-
 cmd-list-windows.c     |  18 ++++++--
 cmd-load-buffer.c      |   3 +-
 cmd-lock-server.c      |  31 ++++++++++----
 cmd-move-window.c      |  28 +++++++++++--
 cmd-new-session.c      |   4 +-
 cmd-new-window.c       |  24 +++++++++--
 cmd-paste-buffer.c     |  18 ++++++--
 cmd-pipe-pane.c        |  16 ++++++-
 cmd-queue.c            |  45 +++++++++++++++++++-
 cmd-refresh-client.c   |  14 ++++++-
 cmd-rename-session.c   |  14 ++++++-
 cmd-rename-window.c    |  16 +++++--
 cmd-resize-pane.c      |  16 ++++++-
 cmd-respawn-pane.c     |  17 +++++++-
 cmd-respawn-window.c   |  16 ++++++-
 cmd-rotate-window.c    |  15 +++++--
 cmd-run-shell.c        |  19 ++++++++-
 cmd-save-buffer.c      |   6 ++-
 cmd-select-layout.c    |  20 +++++++--
 cmd-select-pane.c      |  28 ++++++++++---
 cmd-select-window.c    |  46 +++++++++++++++++----
 cmd-send-keys.c        |  20 +++++++--
 cmd-server-info.c      |   3 +-
 cmd-set-buffer.c       |   3 +-
 cmd-set-environment.c  |  14 ++++++-
 cmd-set-hook.c         | 100 ++++++++++++++++++++++++++++++++++++++++++++
 cmd-set-option.c       |   6 ++-
 cmd-show-environment.c |  14 ++++++-
 cmd-show-hooks.c       |  71 +++++++++++++++++++++++++++++++
 cmd-show-messages.c    |  17 ++++++--
 cmd-show-options.c     |  28 ++++++++++---
 cmd-source-file.c      |   3 +-
 cmd-split-window.c     |  17 +++++++-
 cmd-start-server.c     |   3 +-
 cmd-suspend-client.c   |  17 ++++++--
 cmd-swap-pane.c        |  17 ++++++--
 cmd-swap-window.c      |  25 +++++++----
 cmd-switch-client.c    |  20 ++++++---
 cmd-unbind-key.c       |   3 +-
 cmd-unlink-window.c    |  17 ++++++--
 cmd-wait-for.c         |   3 +-
 cmd.c                  |  16 +++++++
 hooks.c                | 110 +++++++++++++++++++++++++++++++++++++++++++++++++
 server-window.c        |  11 ++++-
 session.c              |   2 +
 tmux.c                 |   2 +
 tmux.h                 |  81 ++++++++++++++++++++++++++++--------
 80 files changed, 1312 insertions(+), 243 deletions(-)
 create mode 100644 cmd-set-hook.c
 create mode 100644 cmd-show-hooks.c
 create mode 100644 hooks.c

-- 
1.7.11.4


------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users

Reply via email to