diff --git a/PKGBUILD b/PKGBUILD index 7171392..0a3294e 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -61,5 +61,6 @@ package() { install -Dm755 ${_pkgbase}/ui/build/src/breezydesktop.gresource "${pkgdir}"/usr/local/share/breezydesktop/breezydesktop.gresource install -Dm755 ${_pkgbase}/ui/build/data/com.xronlinux.BreezyDesktop.desktop "${pkgdir}"/usr/share/applications/com.xronlinux.BreezyDesktop.desktop + sed -i '/Exec/c\Exec=start-breezy-desktop --skip-verification' "${pkgdir}"/usr/share/applications/com.xronlinux.BreezyDesktop.desktop } diff --git a/ui/src/main.py b/ui/src/main.py index f77a4dc..a609e85 100644 --- a/ui/src/main.py +++ b/ui/src/main.py @@ -21,6 +21,7 @@ import gi import logging import os import sys +import argparse from logging.handlers import TimedRotatingFileHandler @@ -58,12 +59,13 @@ XRDriverIPC.set_instance(XRDriverIPC(logger)) class BreezydesktopApplication(Adw.Application): """The main application singleton class.""" - def __init__(self): + def __init__(self, skip_verification): super().__init__(application_id='com.xronlinux.BreezyDesktop', flags=Gio.ApplicationFlags.DEFAULT_FLAGS) self.create_action('quit', self.on_quit_action, ['q']) self.create_action('about', self.on_about_action) self.create_action('license', self.on_license_action) + self._skip_verification = skip_verification def do_activate(self): """Called when the application is activated. @@ -73,7 +75,7 @@ class BreezydesktopApplication(Adw.Application): """ win = self.props.active_window if not win: - win = BreezydesktopWindow(application=self) + win = BreezydesktopWindow(self._skip_verification, application=self) win.connect('close-request', lambda *_: self.on_quit_action()) win.connect('destroy', lambda *_: self.on_quit_action()) win.present() @@ -119,5 +121,9 @@ class BreezydesktopApplication(Adw.Application): def main(version): - app = BreezydesktopApplication() + parser = argparse.ArgumentParser() + parser.add_argument("-sv", "--skip-verification", action="store_true") + parser.parse_args() + + app = BreezydesktopApplication(parser.skip-verification) return app.run(sys.argv) diff --git a/ui/src/window.py b/ui/src/window.py index 2c4f45e..1b14066 100644 --- a/ui/src/window.py +++ b/ui/src/window.py @@ -37,7 +37,7 @@ class BreezydesktopWindow(Gtk.ApplicationWindow): license_action_needed_banner = Gtk.Template.Child() missing_breezy_features_banner = Gtk.Template.Child() - def __init__(self, **kwargs): + def __init__(self, skip_verification, **kwargs): super().__init__(**kwargs) self.state_manager = StateManager.get_instance() @@ -57,6 +57,8 @@ class BreezydesktopWindow(Gtk.ApplicationWindow): self._handle_state_update(self.state_manager, None) + self._skip_verification = skip_verification + self.connect("destroy", self._on_window_destroy) def _handle_state_update(self, state_manager, val): @@ -71,9 +73,11 @@ class BreezydesktopWindow(Gtk.ApplicationWindow): for child in self.main_content: self.main_content.remove(child) - if not verify_installation(): - self.main_content.append(self.failed_verification) - elif not self.state_manager.get_property('license-present'): + if not self._skip_verification: + if not verify_installation(): + self.main_content.append(self.failed_verification) + + if not self.state_manager.get_property('license-present'): self.main_content.append(self.no_license) elif not ExtensionsManager.get_instance().is_installed(): self.main_content.append(self.no_extension)