From 6514d71190ce9c1dd7e2eb6b6efaf0f8dbaa290a Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Sun, 11 Feb 2018 19:55:38 +0000 Subject: [PATCH] linux: Only use Gtk.ShowUri in flatpaks --- SparkleShare/Linux/About.cs | 2 +- SparkleShare/Linux/Controller.cs | 5 ++++- SparkleShare/Linux/UserInterface.cs | 1 + Sparkles/InstallationInfo.cs | 7 +++++++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/SparkleShare/Linux/About.cs b/SparkleShare/Linux/About.cs index a46f013d..3dbe5f06 100755 --- a/SparkleShare/Linux/About.cs +++ b/SparkleShare/Linux/About.cs @@ -103,7 +103,7 @@ namespace SparkleShare { Xalign = 0, Xpad = 0 }; - if (InstallationInfo.Directory.StartsWith ("/app", StringComparison.InvariantCulture)) + if (InstallationInfo.IsFlatpak) version.Text += " (Flatpak)"; updates = new Label ("Checking for updates…") { diff --git a/SparkleShare/Linux/Controller.cs b/SparkleShare/Linux/Controller.cs index 5156a1b6..cc55e6d7 100644 --- a/SparkleShare/Linux/Controller.cs +++ b/SparkleShare/Linux/Controller.cs @@ -98,7 +98,10 @@ namespace SparkleShare { public override void OpenFile (string path) { - Global.ShowUri (Gdk.Screen.Default, path); + if (InstallationInfo.IsFlatpak) + Global.ShowUri (Gdk.Screen.Default, path); + else + new Command ("xdg-open", string.Format ("\"{0}\"", path)).Start (); } diff --git a/SparkleShare/Linux/UserInterface.cs b/SparkleShare/Linux/UserInterface.cs index d1eb32d8..33c0731e 100644 --- a/SparkleShare/Linux/UserInterface.cs +++ b/SparkleShare/Linux/UserInterface.cs @@ -120,3 +120,4 @@ namespace SparkleShare } } } + diff --git a/Sparkles/InstallationInfo.cs b/Sparkles/InstallationInfo.cs index 274eddcd..73679131 100644 --- a/Sparkles/InstallationInfo.cs +++ b/Sparkles/InstallationInfo.cs @@ -95,5 +95,12 @@ namespace Sparkles { return version.Substring (0, version.Length - 2); } } + + + public static bool IsFlatpak { + get { + return Directory.StartsWith ("/app", StringComparison.InvariantCulture); + } + } } }