diff options
author | Debarshi Ray <debarshir@gnome.org> | 2019-06-11 16:51:44 +0200 |
---|---|---|
committer | Debarshi Ray <debarshir@gnome.org> | 2019-06-11 16:51:44 +0200 |
commit | d7982ccf3dc5fcb8caa6d0d0ef10c54d0e24f8d1 (patch) | |
tree | 6f0fc199497d891af1a3e642c8c0703def645e2f | |
parent | bf70e2b8aaa5356d0f68f3c281bfc925fd773121 (diff) | |
download | vte-wip/rishi/container-escape-sequence.tar.gz |
Test the signals to track the active container inside the terminalwip/rishi/container-escape-sequence
https://gitlab.freedesktop.org/terminal-wg/specifications/issues/17
-rw-r--r-- | bindings/vala/app.vala | 16 | ||||
-rw-r--r-- | src/app/app.cc | 26 |
2 files changed, 42 insertions, 0 deletions
diff --git a/bindings/vala/app.vala b/bindings/vala/app.vala index fc26c2b0..c13bafc9 100644 --- a/bindings/vala/app.vala +++ b/bindings/vala/app.vala @@ -291,6 +291,8 @@ class Window : Gtk.ApplicationWindow terminal.button_press_event.connect(button_press_event_cb); terminal.char_size_changed.connect(char_size_changed_cb); terminal.child_exited.connect(child_exited_cb); + terminal.current_container_popped.connect(container_popped_cb); + terminal.current_container_pushed.connect(container_pushed_cb); terminal.decrease_font_size.connect(decrease_font_size_cb); terminal.deiconify_window.connect(deiconify_window_cb); terminal.icon_title_changed.connect(icon_title_changed_cb); @@ -684,6 +686,20 @@ class Window : Gtk.ApplicationWindow update_paste_sensitivity(); } + private void container_popped_cb(Vte.Terminal terminal) + { + var name = terminal.get_current_container_name(); + var runtime = terminal.get_current_container_runtime(); + print("[container] popped: %s, %s\n", name, runtime); + } + + private void container_pushed_cb(Vte.Terminal terminal) + { + var name = terminal.get_current_container_name(); + var runtime = terminal.get_current_container_runtime(); + print("[container] pushed: %s, %s\n", name, runtime); + } + private void decrease_font_size_cb(Vte.Terminal terminal) { adjust_font_size(1.0 / 1.2); diff --git a/src/app/app.cc b/src/app/app.cc index 529b584d..0512ceb7 100644 --- a/src/app/app.cc +++ b/src/app/app.cc @@ -1621,6 +1621,24 @@ window_clipboard_owner_change_cb(GtkClipboard* clipboard, } static void +window_container_popped_cb (VteTerminal *terminal, + gpointer user_data) +{ + const char *name = vte_terminal_get_current_container_name (terminal); + const char *runtime = vte_terminal_get_current_container_runtime (terminal); + g_print ("[container] popped: %s, %s\n", name, runtime); +} + +static void +window_container_pushed_cb (VteTerminal *terminal, + gpointer user_data) +{ + const char *name = vte_terminal_get_current_container_name (terminal); + const char *runtime = vte_terminal_get_current_container_runtime (terminal); + g_print ("[container] pushed: %s, %s\n", name, runtime); +} + +static void window_decrease_font_size_cb(VteTerminal* terminal, VteappWindow* window) { @@ -1884,6 +1902,14 @@ vteapp_window_constructed(GObject *object) g_signal_connect(window->terminal, "button-press-event", G_CALLBACK(window_button_press_cb), window); g_signal_connect(window->terminal, "char-size-changed", G_CALLBACK(window_cell_size_changed_cb), window); g_signal_connect(window->terminal, "child-exited", G_CALLBACK(window_child_exited_cb), window); + g_signal_connect(window->terminal, + "current-container-popped", + G_CALLBACK(window_container_popped_cb), + window); + g_signal_connect(window->terminal, + "current-container-pushed", + G_CALLBACK(window_container_pushed_cb), + window); g_signal_connect(window->terminal, "decrease-font-size", G_CALLBACK(window_decrease_font_size_cb), window); g_signal_connect(window->terminal, "deiconify-window", G_CALLBACK(window_deiconify_window_cb), window); g_signal_connect(window->terminal, "icon-title-changed", G_CALLBACK(window_icon_title_changed_cb), window); |