summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDebarshi Ray <debarshir@gnome.org>2019-06-11 16:51:44 +0200
committerDebarshi Ray <debarshir@gnome.org>2019-06-11 16:51:44 +0200
commitd7982ccf3dc5fcb8caa6d0d0ef10c54d0e24f8d1 (patch)
tree6f0fc199497d891af1a3e642c8c0703def645e2f
parentbf70e2b8aaa5356d0f68f3c281bfc925fd773121 (diff)
downloadvte-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.vala16
-rw-r--r--src/app/app.cc26
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);