File disable-flatpak-check.patch of Package bottles
diff -Naur Bottles-51.21-orig/bottles/frontend/meson.build Bottles-51.21/bottles/frontend/meson.build
--- Bottles-51.21-orig/bottles/frontend/meson.build 2025-03-17 04:14:40.000000000 +0100
+++ Bottles-51.21/bottles/frontend/meson.build 2025-03-31 08:43:07.251987922 +0200
@@ -23,12 +23,6 @@
configuration: conf
)
-fs = import('fs')
-
-if not fs.is_file('/' + '.flatpak-info')
- error('file does not exist')
-endif
-
bottles_sources = [
'__init__.py',
'main.py',
diff -Naur Bottles-51.21-orig/bottles/frontend/views/bottle_dependencies.py Bottles-51.21/bottles/frontend/views/bottle_dependencies.py
--- Bottles-51.21-orig/bottles/frontend/views/bottle_dependencies.py 2025-03-17 04:14:40.000000000 +0100
+++ Bottles-51.21/bottles/frontend/views/bottle_dependencies.py 2025-03-31 08:44:11.492925758 +0200
@@ -138,6 +138,6 @@
for dep in self.config.Installed_Dependencies:
if dep in dependencies:
dep = (dep, dependencies[dep])
- GLib.idle_add(new_dependency, dep, plain=True)
+ GLib.idle_add(new_dependency, dep)
RunAsync(process_dependencies, callback=callback)
diff -Naur Bottles-51.21-orig/bottles/frontend/views/bottle_details.py Bottles-51.21/bottles/frontend/views/bottle_details.py
--- Bottles-51.21-orig/bottles/frontend/views/bottle_details.py 2025-03-17 04:14:40.000000000 +0100
+++ Bottles-51.21/bottles/frontend/views/bottle_details.py 2025-03-31 08:46:27.312936587 +0200
@@ -21,7 +21,7 @@
from gettext import gettext as _
from typing import List, Optional
-from gi.repository import Gtk, Gio, Adw, Gdk, GLib, Xdp
+from gi.repository import Gtk, Gio, Adw, Gdk, GLib
from bottles.backend.managers.backup import BackupManager
from bottles.backend.models.config import BottleConfig
@@ -436,20 +436,20 @@
dialog.connect("response", execute)
dialog.show()
- if Xdp.Portal.running_under_sandbox():
- if self.window.settings.get_boolean("show-sandbox-warning"):
- dialog = Adw.MessageDialog.new(
- self.window,
- _("Be Aware of Sandbox"),
- _(
- "Bottles is running in a sandbox, a restricted permission environment needed to keep you safe. If the program won't run, consider moving inside the bottle (3 dots icon on the top), then launch from there."
- ),
- )
- dialog.add_response("dismiss", _("_Dismiss"))
- dialog.connect("response", show_chooser)
- dialog.present()
- else:
- show_chooser()
+
+ if self.window.settings.get_boolean("show-sandbox-warning"):
+ dialog = Adw.MessageDialog.new(
+ self.window,
+ _("Be Aware of Sandbox"),
+ _(
+ "Bottles is running in a sandbox, a restricted permission environment needed to keep you safe. If the program won't run, consider moving inside the bottle (3 dots icon on the top), then launch from there."
+ ),
+ )
+ dialog.add_response("dismiss", _("_Dismiss"))
+ dialog.connect("response", show_chooser)
+ dialog.present()
+ else:
+ show_chooser()
def __backup(self, widget, backup_type):
"""
diff -Naur Bottles-51.21-orig/bottles/frontend/views/bottle_preferences.py Bottles-51.21/bottles/frontend/views/bottle_preferences.py
--- Bottles-51.21-orig/bottles/frontend/views/bottle_preferences.py 2025-03-17 04:14:40.000000000 +0100
+++ Bottles-51.21/bottles/frontend/views/bottle_preferences.py 2025-03-31 08:46:02.936191286 +0200
@@ -20,7 +20,7 @@
import re
from gettext import gettext as _
-from gi.repository import Gtk, Adw, Xdp
+from gi.repository import Gtk, Adw
from bottles.backend.globals import (
gamemode_available,
@@ -139,7 +139,7 @@
self.queue = details.queue
self.details = details
- if not gamemode_available or not Xdp.Portal.running_under_sandbox():
+ if not gamemode_available:
return
_not_available = _("This feature is unavailable on your system.")
diff -Naur Bottles-51.21-orig/bottles/frontend/views/list.py Bottles-51.21/bottles/frontend/views/list.py
--- Bottles-51.21-orig/bottles/frontend/views/list.py 2025-03-17 04:14:40.000000000 +0100
+++ Bottles-51.21/bottles/frontend/views/list.py 2025-03-31 08:45:42.618221691 +0200
@@ -18,7 +18,7 @@
from datetime import datetime
from gettext import gettext as _
-from gi.repository import Gtk, GLib, Adw, Xdp
+from gi.repository import Gtk, GLib, Adw
from bottles.backend.models.config import BottleConfig
from bottles.backend.models.result import Result
@@ -82,9 +82,6 @@
def run_executable(self, *_args):
"""Display file dialog for executable"""
- if not Xdp.Portal.running_under_sandbox():
- return
-
def set_path(_dialog, response):
if response != Gtk.ResponseType.ACCEPT:
return
diff -Naur Bottles-51.21-orig/bottles/frontend/views/new_bottle_dialog.py Bottles-51.21/bottles/frontend/views/new_bottle_dialog.py
--- Bottles-51.21-orig/bottles/frontend/views/new_bottle_dialog.py 2025-03-17 04:14:40.000000000 +0100
+++ Bottles-51.21/bottles/frontend/views/new_bottle_dialog.py 2025-03-31 08:46:10.821131187 +0200
@@ -17,7 +17,7 @@
from gettext import gettext as _
from typing import Any, Optional
-from gi.repository import Gtk, Adw, Pango, Gio, Xdp, GObject, GLib
+from gi.repository import Gtk, Adw, Pango, Gio, GObject, GLib
from bottles.backend.models.config import BottleConfig
from bottles.backend.utils.threading import RunAsync
@@ -80,7 +80,7 @@
super().__init__(**kwargs)
# common variables and references
self.window = GtkUtils.get_parent_window()
- if not self.window or not Xdp.Portal.running_under_sandbox():
+ if not self.window:
return
self.app = self.window.get_application()
diff -Naur Bottles-51.21-orig/bottles/frontend/windows/window.py Bottles-51.21/bottles/frontend/windows/window.py
--- Bottles-51.21-orig/bottles/frontend/windows/window.py 2025-03-17 04:14:40.000000000 +0100
+++ Bottles-51.21/bottles/frontend/windows/window.py 2025-03-31 08:45:55.288225483 +0200
@@ -21,7 +21,7 @@
from gettext import gettext as _
from typing import Optional
-from gi.repository import Gtk, GLib, Gio, Adw, GObject, Gdk, Xdp
+from gi.repository import Gtk, GLib, Gio, Adw, GObject, Gdk
from bottles.backend.globals import Paths
from bottles.backend.health import HealthChecker
@@ -97,35 +97,6 @@
manager = Adw.StyleManager.get_default()
manager.set_color_scheme(Adw.ColorScheme.FORCE_DARK)
- # Be VERY explicit that non-sandboxed environments are unsupported
- if not Xdp.Portal.running_under_sandbox():
-
- def response(dialog, response, *args):
- if response == "close":
- quit(1)
-
- body = _(
- "Bottles is only supported within a sandboxed environment. Official sources of Bottles are available at"
- )
- download_url = "usebottles.com/download"
-
- error_dialog = Adw.AlertDialog.new(
- _("Unsupported Environment"),
- f"{body} <a href='https://{download_url}' title='https://{download_url}'>{download_url}.</a>",
- )
-
- error_dialog.add_response("close", _("Close"))
- error_dialog.set_body_use_markup(True)
- error_dialog.connect("response", response)
- error_dialog.present(self)
- logging.error(
- _(
- "Bottles is only supported within a sandboxed format. Official sources of Bottles are available at:"
- )
- )
- logging.error("https://usebottles.com/download/")
- return
-
# Loading view
self.page_loading = LoadingView()