diff options
author | nicm <nicm> | 2015-11-13 10:00:26 +0000 |
---|---|---|
committer | nicm <nicm> | 2015-11-13 10:00:26 +0000 |
commit | 531869bd92f0daff3cc3c3cc0ab273846f411dc8 (patch) | |
tree | 717a58746a90959470f7247dc490eb7f295933fb /format.c | |
parent | c5689a5a4031a43769b8b721cafa6d1eab6abc44 (diff) | |
download | rtmux-531869bd92f0daff3cc3c3cc0ab273846f411dc8.tar.gz rtmux-531869bd92f0daff3cc3c3cc0ab273846f411dc8.tar.bz2 rtmux-531869bd92f0daff3cc3c3cc0ab273846f411dc8.zip |
Add window_visible_layout which ignores zoomed panes and use it for
control mode (which needs to know all panes), from George Nachman.
Diffstat (limited to 'format.c')
-rw-r--r-- | format.c | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -48,6 +48,7 @@ void format_cb_host_short(struct format_tree *, struct format_entry *); void format_cb_pid(struct format_tree *, struct format_entry *); void format_cb_session_alerts(struct format_tree *, struct format_entry *); void format_cb_window_layout(struct format_tree *, struct format_entry *); +void format_cb_window_visible_layout(struct format_tree *, struct format_entry *); void format_cb_start_command(struct format_tree *, struct format_entry *); void format_cb_current_command(struct format_tree *, struct format_entry *); void format_cb_history_bytes(struct format_tree *, struct format_entry *); @@ -362,6 +363,18 @@ format_cb_window_layout(struct format_tree *ft, struct format_entry *fe) fe->value = layout_dump(w->layout_root); } +/* Callback for window_visible_layout. */ +void +format_cb_window_visible_layout(struct format_tree *ft, struct format_entry *fe) +{ + struct window *w = ft->w; + + if (w == NULL) + return; + + fe->value = layout_dump(w->layout_root); +} + /* Callback for pane_start_command. */ void format_cb_start_command(struct format_tree *ft, struct format_entry *fe) @@ -1024,6 +1037,8 @@ format_defaults_window(struct format_tree *ft, struct window *w) format_add(ft, "window_width", "%u", w->sx); format_add(ft, "window_height", "%u", w->sy); format_add_cb(ft, "window_layout", format_cb_window_layout); + format_add_cb(ft, "window_visible_layout", + format_cb_window_visible_layout); format_add(ft, "window_panes", "%u", window_count_panes(w)); format_add(ft, "window_zoomed_flag", "%d", !!(w->flags & WINDOW_ZOOMED)); |