The branch, master has been updated
via 48750022c092396e1b9259119fcb9772d6e125f1 (commit)
via 17bbf90393a5599cfe82becdc5c29a7ad48012c4 (commit)
via 0d0b3cf9a42f7d9cae2a1c150698a6ed9d9634cf (commit)
from ce0b285aad74bae8b7e4d8fff1b63749cf6ddf84 (commit)
- Log -----------------------------------------------------------------
commit 48750022c092396e1b9259119fcb9772d6e125f1
Merge: ce0b285 17bbf90
Author: Thomas Adam <[email protected]>
Commit: Thomas Adam <[email protected]>
Merge branch 'obsd-master'
Sync from OpenBSD.
control-notify.c | 29 +++++++++++++++++++++++++++++
input.c | 1 +
notify.c | 20 ++++++++++++++++++++
tmux.h | 3 +++
window-copy.c | 2 +-
5 files changed, 54 insertions(+), 1 deletions(-)
commit 17bbf90393a5599cfe82becdc5c29a7ad48012c4
Author: Nicholas Marriott <[email protected]>
Commit: Nicholas Marriott <[email protected]>
Add notification for input from a pane, from George Nachman.
---
control-notify.c | 29 +++++++++++++++++++++++++++++
input.c | 1 +
notify.c | 20 ++++++++++++++++++++
tmux.h | 3 +++
4 files changed, 53 insertions(+), 0 deletions(-)
diff --git a/control-notify.c b/control-notify.c
index 254f1f5..87a25bb 100644
--- a/control-notify.c
+++ b/control-notify.c
@@ -25,6 +25,35 @@
((c) != NULL && ((c)->flags & CLIENT_CONTROL))
void
+control_notify_input(struct client *c, struct window_pane *wp,
+ struct evbuffer *input)
+{
+ u_char *buf;
+ size_t len;
+ struct evbuffer *message;
+ u_int i;
+
+ if (c->session == NULL)
+ return;
+
+ buf = EVBUFFER_DATA(input);
+ len = EVBUFFER_LENGTH(input);
+
+ /*
+ * Only write input if the window pane is linked to a window belonging
+ * to the client's session.
+ */
+ if (winlink_find_by_window(&c->session->windows, wp->window) != NULL) {
+ message = evbuffer_new();
+ evbuffer_add_printf(message, "%%output %%%u ", wp->id);
+ for (i = 0; i < len; i++)
+ evbuffer_add_printf(message, "%02hhx", buf[i]);
+ control_write_buffer(c, message);
+ evbuffer_free(message);
+ }
+}
+
+void
control_notify_window_layout_changed(struct window *w)
{
struct client *c;
diff --git a/input.c b/input.c
index 7a9f0e4..bc4af1f 100644
--- a/input.c
+++ b/input.c
@@ -752,6 +752,7 @@ input_parse(struct window_pane *wp)
buf = EVBUFFER_DATA(evb);
len = EVBUFFER_LENGTH(evb);
+ notify_input(wp, evb);
off = 0;
/* Parse the input. */
diff --git a/notify.c b/notify.c
index 8fe792c..75a16de 100644
--- a/notify.c
+++ b/notify.c
@@ -133,6 +133,26 @@ notify_drain(void)
}
void
+notify_input(struct window_pane *wp, struct evbuffer *input)
+{
+ struct client *c;
+ u_int i;
+
+ /*
+ * notify_input() is not queued and only does anything when
+ * notifications are enabled.
+ */
+ if (!notify_enabled)
+ return;
+
+ for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
+ c = ARRAY_ITEM(&clients, i);
+ if (c != NULL && (c->flags & CLIENT_CONTROL))
+ control_notify_input(c, wp, input);
+ }
+}
+
+void
notify_window_layout_changed(struct window *w)
{
notify_add(NOTIFY_WINDOW_LAYOUT_CHANGED, NULL, NULL, w);
diff --git a/tmux.h b/tmux.h
index b1e1eee..1fbad94 100644
--- a/tmux.h
+++ b/tmux.h
@@ -1531,6 +1531,7 @@ enum mode_key_cmd mode_key_lookup(struct mode_key_data *,
int);
/* notify.c */
void notify_enable(void);
void notify_disable(void);
+void notify_input(struct window_pane *, struct evbuffer *);
void notify_window_layout_changed(struct window *);
void notify_window_unlinked(struct session *, struct window *);
void notify_window_linked(struct session *, struct window *);
@@ -2224,6 +2225,8 @@ void printflike2 control_write(struct client *, const
char *, ...);
void control_write_buffer(struct client *, struct evbuffer *);
/* control-notify.c */
+void control_notify_input(struct client *, struct window_pane *,
+ struct evbuffer *);
void control_notify_window_layout_changed(struct window *);
void control_notify_window_unlinked(struct session *, struct window *);
void control_notify_window_linked(struct session *, struct window *);
commit 0d0b3cf9a42f7d9cae2a1c150698a6ed9d9634cf
Author: Nicholas Marriott <[email protected]>
Commit: Nicholas Marriott <[email protected]>
Fix search forward so it can match strings on the last line, SF bug
3571114 from "LiJunLe".
---
window-copy.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/window-copy.c b/window-copy.c
index 2c10861..bed645f 100644
--- a/window-copy.c
+++ b/window-copy.c
@@ -1068,7 +1068,7 @@ window_copy_search_down(struct window_pane *wp, const
char *searchstr)
retry:
sgd = ss.grid;
- for (i = fy + 1; i < gd->hsize + gd->sy; i++) {
+ for (i = fy + 1; i < gd->hsize + gd->sy + 1; i++) {
first = 0;
if (i == fy + 1)
first = fx;
-----------------------------------------------------------------------
Summary of changes:
control-notify.c | 29 +++++++++++++++++++++++++++++
input.c | 1 +
notify.c | 20 ++++++++++++++++++++
tmux.h | 3 +++
window-copy.c | 2 +-
5 files changed, 54 insertions(+), 1 deletions(-)
hooks/post-receive
--
tmux
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
tmux-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tmux-cvs