public static SafeProcess GetClientProcess(Beagle.Hit hit) { string client = null; SafeProcess p = null; if (hit.ParentUri != null) { client = Utils.GetFirstPropertyOfParent(hit, "fixme:client"); } else { client = hit.GetFirstProperty("fixme:client"); } if (client == "evolution") { p = new SafeProcess(); p.Arguments = new string [2]; p.Arguments [0] = "evolution"; p.Arguments [1] = (hit.ParentUri != null ? hit.EscapedParentUri : hit.EscapedUri); } #if ENABLE_THUNDERBIRD else if (client == "thunderbird") { p = Thunderbird.GetSafeProcess("-viewbeagle", hit.GetFirstProperty("fixme:uri")); } #endif return(p); }
public override void Open() { // If we are not a feed from Thunderbird just open based on mime if (Hit.GetFirstProperty("fixme:client") != "thunderbird") { base.OpenFromUri(Hit ["dc:identifier"]); return; } #if ENABLE_THUNDERBIRD // Here's the Thunderbird specific part SafeProcess p = Thunderbird.GetSafeProcess("-viewbeagle", Hit.GetFirstProperty("fixme:uri")); try { p.Start(); } catch (SafeProcessException e) { Console.WriteLine("Unable to run {0}: {1}", p.Arguments [0], e.Message); } #endif }