diff options
author | Sefa Eyeoglu <contact@scrumplex.net> | 2023-08-02 18:24:54 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-02 18:24:54 +0200 |
commit | 39d7bc6c24922c2d6e3d6f7eb2ab7efb9b35940a (patch) | |
tree | b933c710d52ecaa8d6fce9f99c91e27419e460db /launcher/DesktopServices.cpp | |
parent | bb039d4bc71863bd068efbadb788e76cf1b7bce3 (diff) | |
parent | 6a7f63166d9d65a48b4bc0b0f1355aba047967ee (diff) | |
download | PrismLauncher-39d7bc6c24922c2d6e3d6f7eb2ab7efb9b35940a.tar.gz PrismLauncher-39d7bc6c24922c2d6e3d6f7eb2ab7efb9b35940a.tar.bz2 PrismLauncher-39d7bc6c24922c2d6e3d6f7eb2ab7efb9b35940a.zip |
Merge pull request #1294 from ashuntu/develop
Diffstat (limited to 'launcher/DesktopServices.cpp')
-rw-r--r-- | launcher/DesktopServices.cpp | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/launcher/DesktopServices.cpp b/launcher/DesktopServices.cpp index 2984a1b4..81362f09 100644 --- a/launcher/DesktopServices.cpp +++ b/launcher/DesktopServices.cpp @@ -118,7 +118,7 @@ bool openDirectory(const QString &path, bool ensureExists) return QDesktopServices::openUrl(QUrl::fromLocalFile(dir.absolutePath())); }; #if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) - if(!isFlatpak()) + if(!isSandbox()) { return IndirectOpen(f); } @@ -139,7 +139,7 @@ bool openFile(const QString &path) return QDesktopServices::openUrl(QUrl::fromLocalFile(path)); }; #if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) - if(!isFlatpak()) + if(!isSandbox()) { return IndirectOpen(f); } @@ -157,7 +157,7 @@ bool openFile(const QString &application, const QString &path, const QString &wo qDebug() << "Opening file" << path << "using" << application; #if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) // FIXME: the pid here is fake. So if something depends on it, it will likely misbehave - if(!isFlatpak()) + if(!isSandbox()) { return IndirectOpen([&]() { @@ -177,7 +177,7 @@ bool run(const QString &application, const QStringList &args, const QString &wor { qDebug() << "Running" << application << "with args" << args.join(' '); #if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) - if(!isFlatpak()) + if(!isSandbox()) { // FIXME: the pid here is fake. So if something depends on it, it will likely misbehave return IndirectOpen([&]() @@ -202,7 +202,7 @@ bool openUrl(const QUrl &url) return QDesktopServices::openUrl(url); }; #if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) - if(!isFlatpak()) + if(!isSandbox()) { return IndirectOpen(f); } @@ -224,4 +224,18 @@ bool isFlatpak() #endif } +bool isSnap() +{ +#ifdef Q_OS_LINUX + return getenv("SNAP"); +#else + return false; +#endif +} + +bool isSandbox() +{ + return isSnap() || isFlatpak(); +} + } |