diff --git a/bottles/frontend/bottles.py b/bottles/frontend/bottles.py index 3063c267438..6c5cbbcd6d3 100644 --- a/bottles/frontend/bottles.py +++ b/bottles/frontend/bottles.py @@ -26,7 +26,8 @@ pkgdatadir = "@pkgdatadir@" localedir = "@localedir@" # noinspection DuplicatedCode -gresource_path = f"{pkgdatadir}/bottles.gresource" +data_gresource_path = f"{pkgdatadir}/data.gresource" +bottles_gresource_path = f"{pkgdatadir}/bottles.gresource" sys.path.insert(1, pkgdatadir) # Remove GTK_THEME variable to prevent breakages @@ -39,9 +40,11 @@ if __name__ == "__main__": from gi.repository import Gio - resource = Gio.Resource.load(gresource_path) + data_resource = Gio.Resource.load(data_gresource_path) + bottles_resource = Gio.Resource.load(bottles_gresource_path) # noinspection PyProtectedMember - resource._register() + data_resource._register() + bottles_resource._register() from bottles.frontend import main diff --git a/bottles/frontend/main.py b/bottles/frontend/main.py index ac4c485174f..f4e66de6f1a 100644 --- a/bottles/frontend/main.py +++ b/bottles/frontend/main.py @@ -82,6 +82,7 @@ class Bottles(Adw.Application): def __init__(self): super().__init__( application_id=APP_ID, + resource_base_path="/com/usebottles/bottles", flags=Gio.ApplicationFlags.HANDLES_COMMAND_LINE, register_session=True, ) diff --git a/bottles/frontend/ui/bottles.gresource.xml b/bottles/frontend/ui/bottles.gresource.xml index b3dd68b490a..4bfe69b3563 100644 --- a/bottles/frontend/ui/bottles.gresource.xml +++ b/bottles/frontend/ui/bottles.gresource.xml @@ -1,89 +1,58 @@ - - style.css - style-dark.css - window.ui - new.ui - list.ui - loading.ui - list-entry.ui - task-entry.ui - dependency-entry.ui - program-entry.ui - importer-entry.ui - state-entry.ui - installer-entry.ui - dll-override-entry.ui - env-var-entry.ui - component-entry.ui - drive-entry.ui - library-entry.ui - local-resource-entry.ui - exclusion-pattern-entry.ui - details.ui - details-bottle.ui - details-dependencies.ui - details-installers.ui - details-preferences.ui - details-versioning.ui - details-taskmanager.ui - preferences.ui - importer.ui - library.ui - dialog-launch-options.ui - dialog-dll-overrides.ui - dialog-env-vars.ui - dialog-crash-report.ui - dialog-duplicate.ui - dialog-rename.ui - dialog-gamescope.ui - dialog-vkbasalt.ui - dialog-fsr.ui - dialog-mangohud.ui - dialog-display.ui - dialog-drives.ui - dialog-journal.ui - dialog-sandbox.ui - dialog-installer.ui - dialog-bottle-picker.ui - dialog-proton-alert.ui - dialog-deps-check.ui - dialog-exclusion-patterns.ui - dialog-upgrade-versioning.ui - dialog-vmtouch.ui - onboard.ui - about.ui - - - - ../../../data/icons/symbolic/scalable/apps/bottles-steam-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/external-link-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/applications-system-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/application-x-addon-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/computer-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/document-save-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/go-next-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/go-previous-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/media-playback-start-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/media-playback-stop-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/preferences-desktop-apps-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/preferences-system-time-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/selection-mode-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/system-run-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/system-shutdown-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/system-software-install-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/view-more-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/open-menu-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/system-search-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/list-add-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/paper-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/info-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/library-symbolic.svg - ../../../data/icons/symbolic/scalable/actions/warning-symbolic.svg - - - ../../../data/images/bottles-welcome.svg - ../../../data/images/bottles-welcome-night.svg - + + style.css + style-dark.css + window.ui + new.ui + list.ui + loading.ui + list-entry.ui + task-entry.ui + dependency-entry.ui + program-entry.ui + importer-entry.ui + state-entry.ui + installer-entry.ui + dll-override-entry.ui + env-var-entry.ui + component-entry.ui + drive-entry.ui + library-entry.ui + local-resource-entry.ui + exclusion-pattern-entry.ui + details.ui + details-bottle.ui + details-dependencies.ui + details-installers.ui + details-preferences.ui + details-versioning.ui + details-taskmanager.ui + preferences.ui + importer.ui + library.ui + dialog-launch-options.ui + dialog-dll-overrides.ui + dialog-env-vars.ui + dialog-crash-report.ui + dialog-duplicate.ui + dialog-rename.ui + dialog-gamescope.ui + dialog-vkbasalt.ui + dialog-fsr.ui + dialog-mangohud.ui + dialog-display.ui + dialog-drives.ui + dialog-journal.ui + dialog-sandbox.ui + dialog-installer.ui + dialog-bottle-picker.ui + dialog-proton-alert.ui + dialog-deps-check.ui + dialog-exclusion-patterns.ui + dialog-upgrade-versioning.ui + dialog-vmtouch.ui + onboard.ui + about.ui + diff --git a/data/data.gresource.xml b/data/data.gresource.xml new file mode 100644 index 00000000000..ebf102fb604 --- /dev/null +++ b/data/data.gresource.xml @@ -0,0 +1,33 @@ + + + + icons/hicolor/symbolic/apps/bottles-steam-symbolic.svg + icons/hicolor/symbolic/actions/external-link-symbolic.svg + icons/hicolor/symbolic/actions/applications-system-symbolic.svg + icons/hicolor/symbolic/actions/application-x-addon-symbolic.svg + icons/hicolor/symbolic/actions/computer-symbolic.svg + icons/hicolor/symbolic/actions/document-save-symbolic.svg + icons/hicolor/symbolic/actions/go-next-symbolic.svg + icons/hicolor/symbolic/actions/go-previous-symbolic.svg + icons/hicolor/symbolic/actions/media-playback-start-symbolic.svg + icons/hicolor/symbolic/actions/media-playback-stop-symbolic.svg + icons/hicolor/symbolic/actions/preferences-desktop-apps-symbolic.svg + icons/hicolor/symbolic/actions/preferences-system-time-symbolic.svg + icons/hicolor/symbolic/actions/selection-mode-symbolic.svg + icons/hicolor/symbolic/actions/system-run-symbolic.svg + icons/hicolor/symbolic/actions/system-shutdown-symbolic.svg + icons/hicolor/symbolic/actions/system-software-install-symbolic.svg + icons/hicolor/symbolic/actions/view-more-symbolic.svg + icons/hicolor/symbolic/actions/open-menu-symbolic.svg + icons/hicolor/symbolic/actions/system-search-symbolic.svg + icons/hicolor/symbolic/actions/list-add-symbolic.svg + icons/hicolor/symbolic/actions/paper-symbolic.svg + icons/hicolor/symbolic/actions/info-symbolic.svg + icons/hicolor/symbolic/actions/library-symbolic.svg + icons/hicolor/symbolic/actions/warning-symbolic.svg + + + images/bottles-welcome.svg + images/bottles-welcome-night.svg + + diff --git a/data/icons/hicolor/48/apps/com.usebottles.bottles.Devel.svg b/data/icons/hicolor/48/apps/com.usebottles.bottles.Devel.svg deleted file mode 100644 index 08f715d2ee9..00000000000 --- a/data/icons/hicolor/48/apps/com.usebottles.bottles.Devel.svg +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/data/icons/hicolor/48/apps/com.usebottles.bottles.svg b/data/icons/hicolor/48/apps/com.usebottles.bottles.svg deleted file mode 100644 index 55e6ad5c40b..00000000000 --- a/data/icons/hicolor/48/apps/com.usebottles.bottles.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/data/icons/hicolor/48/apps/com.usebottles.bottles_old.svg b/data/icons/hicolor/48/apps/com.usebottles.bottles_old.svg deleted file mode 100644 index c6620b530a4..00000000000 --- a/data/icons/hicolor/48/apps/com.usebottles.bottles_old.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/data/icons/symbolic/scalable/actions/application-x-addon-symbolic.svg b/data/icons/hicolor/symbolic/actions/application-x-addon-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/application-x-addon-symbolic.svg rename to data/icons/hicolor/symbolic/actions/application-x-addon-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/applications-system-symbolic.svg b/data/icons/hicolor/symbolic/actions/applications-system-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/applications-system-symbolic.svg rename to data/icons/hicolor/symbolic/actions/applications-system-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/computer-symbolic.svg b/data/icons/hicolor/symbolic/actions/computer-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/computer-symbolic.svg rename to data/icons/hicolor/symbolic/actions/computer-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/document-save-symbolic.svg b/data/icons/hicolor/symbolic/actions/document-save-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/document-save-symbolic.svg rename to data/icons/hicolor/symbolic/actions/document-save-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/external-link-symbolic.svg b/data/icons/hicolor/symbolic/actions/external-link-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/external-link-symbolic.svg rename to data/icons/hicolor/symbolic/actions/external-link-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/go-next-symbolic.svg b/data/icons/hicolor/symbolic/actions/go-next-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/go-next-symbolic.svg rename to data/icons/hicolor/symbolic/actions/go-next-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/go-previous-symbolic.svg b/data/icons/hicolor/symbolic/actions/go-previous-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/go-previous-symbolic.svg rename to data/icons/hicolor/symbolic/actions/go-previous-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/info-symbolic.svg b/data/icons/hicolor/symbolic/actions/info-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/info-symbolic.svg rename to data/icons/hicolor/symbolic/actions/info-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/library-symbolic.svg b/data/icons/hicolor/symbolic/actions/library-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/library-symbolic.svg rename to data/icons/hicolor/symbolic/actions/library-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/list-add-symbolic.svg b/data/icons/hicolor/symbolic/actions/list-add-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/list-add-symbolic.svg rename to data/icons/hicolor/symbolic/actions/list-add-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/media-playback-start-symbolic.svg b/data/icons/hicolor/symbolic/actions/media-playback-start-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/media-playback-start-symbolic.svg rename to data/icons/hicolor/symbolic/actions/media-playback-start-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/media-playback-stop-symbolic.svg b/data/icons/hicolor/symbolic/actions/media-playback-stop-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/media-playback-stop-symbolic.svg rename to data/icons/hicolor/symbolic/actions/media-playback-stop-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/open-menu-symbolic.svg b/data/icons/hicolor/symbolic/actions/open-menu-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/open-menu-symbolic.svg rename to data/icons/hicolor/symbolic/actions/open-menu-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/paper-symbolic.svg b/data/icons/hicolor/symbolic/actions/paper-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/paper-symbolic.svg rename to data/icons/hicolor/symbolic/actions/paper-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/preferences-desktop-apps-symbolic.svg b/data/icons/hicolor/symbolic/actions/preferences-desktop-apps-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/preferences-desktop-apps-symbolic.svg rename to data/icons/hicolor/symbolic/actions/preferences-desktop-apps-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/preferences-system-time-symbolic.svg b/data/icons/hicolor/symbolic/actions/preferences-system-time-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/preferences-system-time-symbolic.svg rename to data/icons/hicolor/symbolic/actions/preferences-system-time-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/selection-mode-symbolic.svg b/data/icons/hicolor/symbolic/actions/selection-mode-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/selection-mode-symbolic.svg rename to data/icons/hicolor/symbolic/actions/selection-mode-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/system-run-symbolic.svg b/data/icons/hicolor/symbolic/actions/system-run-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/system-run-symbolic.svg rename to data/icons/hicolor/symbolic/actions/system-run-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/system-search-symbolic.svg b/data/icons/hicolor/symbolic/actions/system-search-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/system-search-symbolic.svg rename to data/icons/hicolor/symbolic/actions/system-search-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/system-shutdown-symbolic.svg b/data/icons/hicolor/symbolic/actions/system-shutdown-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/system-shutdown-symbolic.svg rename to data/icons/hicolor/symbolic/actions/system-shutdown-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/system-software-install-symbolic.svg b/data/icons/hicolor/symbolic/actions/system-software-install-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/system-software-install-symbolic.svg rename to data/icons/hicolor/symbolic/actions/system-software-install-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/view-more-symbolic.svg b/data/icons/hicolor/symbolic/actions/view-more-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/view-more-symbolic.svg rename to data/icons/hicolor/symbolic/actions/view-more-symbolic.svg diff --git a/data/icons/symbolic/scalable/actions/warning-symbolic.svg b/data/icons/hicolor/symbolic/actions/warning-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/actions/warning-symbolic.svg rename to data/icons/hicolor/symbolic/actions/warning-symbolic.svg diff --git a/data/icons/symbolic/scalable/apps/bottle-symbolic.svg b/data/icons/hicolor/symbolic/apps/bottle-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/apps/bottle-symbolic.svg rename to data/icons/hicolor/symbolic/apps/bottle-symbolic.svg diff --git a/data/icons/symbolic/scalable/apps/bottles-steam-symbolic.svg b/data/icons/hicolor/symbolic/apps/bottles-steam-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/apps/bottles-steam-symbolic.svg rename to data/icons/hicolor/symbolic/apps/bottles-steam-symbolic.svg diff --git a/data/icons/symbolic/48/apps/com.usebottles.bottles-symbolic.svg b/data/icons/hicolor/symbolic/apps/com.usebottles.bottles-symbolic.svg similarity index 100% rename from data/icons/symbolic/48/apps/com.usebottles.bottles-symbolic.svg rename to data/icons/hicolor/symbolic/apps/com.usebottles.bottles-symbolic.svg diff --git a/data/icons/symbolic/scalable/apps/com.usebottles.bottles-symbolic.svg b/data/icons/hicolor/symbolic/apps/com.usebottles.bottles.Devel-symbolic.svg similarity index 100% rename from data/icons/symbolic/scalable/apps/com.usebottles.bottles-symbolic.svg rename to data/icons/hicolor/symbolic/apps/com.usebottles.bottles.Devel-symbolic.svg diff --git a/data/icons/meson.build b/data/icons/meson.build new file mode 100644 index 00000000000..d9f3f0383b8 --- /dev/null +++ b/data/icons/meson.build @@ -0,0 +1,11 @@ +scalable_dir = 'hicolor' / 'scalable' / 'apps' +install_data( + scalable_dir / ('@0@.svg').format(APP_ID), + install_dir: get_option('datadir') / 'icons' / scalable_dir +) + +symbolic_dir = 'hicolor' / 'symbolic' / 'apps' +install_data( + symbolic_dir / ('@0@-symbolic.svg').format(APP_ID), + install_dir: get_option('datadir') / 'icons' / symbolic_dir +) diff --git a/data/meson.build b/data/meson.build index 8dd51eaa372..29545befa72 100644 --- a/data/meson.build +++ b/data/meson.build @@ -36,6 +36,13 @@ appstream_file = i18n.merge_file( install_dir: get_option('datadir') / 'metainfo' ) +gnome.compile_resources('data', + 'data.gresource.xml', + gresource_bundle: true, + install: true, + install_dir: pkgdatadir +) + appstream_util = find_program('appstream-util', required: false) if appstream_util.found() test('Validate appstream file', appstream_util, @@ -54,27 +61,4 @@ if compile_schemas.found() ) endif -install_data( - join_paths('icons/hicolor/scalable/apps', APP_ID + '.' + 'svg'), - install_dir: join_paths(get_option('prefix'), get_option('datadir'), 'icons/hicolor/scalable/apps') -) - -install_data( - join_paths('icons/symbolic/scalable/apps/com.usebottles.bottles-symbolic.svg'), - install_dir: join_paths(get_option('prefix'), get_option('datadir'), 'icons/hicolor/symbolic/apps') -) - -install_data( - join_paths('icons/hicolor/scalable/apps/com.usebottles.bottles-program.svg'), - install_dir: join_paths(get_option('prefix'), get_option('datadir'), 'icons/hicolor/scalable/apps') -) - -install_data( - join_paths('icons/symbolic/scalable/apps/bottle-symbolic.svg'), - install_dir: join_paths(get_option('prefix'), get_option('datadir'), 'icons/hicolor/symbolic/apps') -) - -install_data( - join_paths('icons/symbolic/scalable/apps/bottles-steam-symbolic.svg'), - install_dir: join_paths(get_option('prefix'), get_option('datadir'), 'icons/hicolor/symbolic/apps') -) \ No newline at end of file +subdir('icons') \ No newline at end of file