summaryrefslogtreecommitdiff
path: root/src/window.vala
diff options
context:
space:
mode:
authorLibravatar Mubashshir <ahm@jadupc.com>2023-10-08 18:07:04 +0600
committerLibravatar Mubashshir <ahm@jadupc.com>2023-10-08 18:07:04 +0600
commit6aaf6e6766906cf37a87bffc171b92b74df8095e (patch)
tree3f412b0b83c7af33c7feaf436e7a643bcb076730 /src/window.vala
parent735d125f79fc8bb8234bb255ccd8573d010c13a1 (diff)
downloadjadupc-remote-support-console-6aaf6e6766906cf37a87bffc171b92b74df8095e.tar.gz
jadupc-remote-support-console-6aaf6e6766906cf37a87bffc171b92b74df8095e.zip
API: Use Stdout Parser to generate events
Signed-off-by: Mubashshir <ahm@jadupc.com>
Diffstat (limited to 'src/window.vala')
-rw-r--r--src/window.vala20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/window.vala b/src/window.vala
index 640e287..8a9eeaa 100644
--- a/src/window.vala
+++ b/src/window.vala
@@ -32,9 +32,7 @@ namespace JadupcSupport
[GtkChild] private unowned Gtk.Label infobarText;
[GtkChild] private unowned Gtk.Image infobarIcon;
- private Tmate.Config configFactory;
private Tmate.Session tmate;
- private ulong? session_handler = null;
public Window (Gtk.Application app)
{
@@ -42,17 +40,21 @@ namespace JadupcSupport
utils.realize_all(this); // Realize all children to pacify Gtk.
icon_name = "com.jadupc.support";
- configFactory = new Tmate.Config();
tmate = new Tmate.Session();
infobar.response.connect(() => infobar.set_revealed(false));
+ delete_event.connect(() => {
+ tmate.delete_config();
+ tmate.stop();
+ return false;
+ });
- tmate.network_error.connect((message) => {
+ tmate.error.connect((message) => {
show_in_infobar(ERROR, message);
});
tmate.stopped.connect(reset_window);
- tmate.address.connect((stype, addr) => {
+ tmate.address_changed.connect((stype, addr) => {
if(Tmate.SessionType.SSH in stype)
on_session_connect(addr);
});
@@ -63,13 +65,7 @@ namespace JadupcSupport
session.label = _("Connecting...");
view.visible_child_name = "inprogress";
- var config = configFactory.get();
- session_handler = tmate.started.connect(() => {
- configFactory.delete(config);
- tmate.disconnect(session_handler);
- });
-
- tmate.start(config);
+ tmate.start(new Tmate.Config());
});
terminal.child_exited.connect(status => {