blob: fa3d4d480c5189ec67448229937feb4fca1dc9a2 [file] [log] [blame]
using System;
using System.Diagnostics;
using Gtk;
using Avahi.UI;
public class EntryPoint {
public static void Main () {
Application.Init ();
ServiceDialog dialog = new ServiceDialog ("Choose SSH Server", null,
Stock.Cancel, ResponseType.Cancel,
Stock.Connect, ResponseType.Accept);
dialog.BrowseServiceTypes = new string[] { "_ssh._tcp" };
dialog.ResolveServiceEnabled = true;
if (dialog.Run () == (int) ResponseType.Accept) {
Console.WriteLine ("Connecting to {0}:{1}", dialog.Address, dialog.Port);
string user = Environment.UserName;
foreach (byte[] txtBytes in dialog.TxtData) {
string txt = System.Text.Encoding.UTF8.GetString (txtBytes);
string[] splitTxt = txt.Split(new char[] { '=' }, 2);
if (splitTxt.Length != 2)
continue;
if (splitTxt[0] == "u") {
user = splitTxt[1];
}
string args = String.Format ("gnome-terminal -t {0} -x ssh -p {1} -l {2} {3}",
dialog.HostName, dialog.Port, user, dialog.Address.ToString ());
Console.WriteLine ("Launching: " + args);
Process.Start (args);
}
}
}
}