diff --git a/modules/XRLinuxDriver b/modules/XRLinuxDriver index 27f102e..dd27242 160000 --- a/modules/XRLinuxDriver +++ b/modules/XRLinuxDriver @@ -1 +1 @@ -Subproject commit 27f102ea97ddc015bf340a5627a7957fc6d39378 +Subproject commit dd272422d665ec2f6d7d7006f94837fad73e1553 diff --git a/ui/src/licensedialog.py b/ui/src/licensedialog.py index 769ab05..52a2c64 100644 --- a/ui/src/licensedialog.py +++ b/ui/src/licensedialog.py @@ -1,4 +1,5 @@ from gi.repository import Adw, Gtk, GLib +from .nolicense import NoLicense from .statemanager import StateManager from .licensetierrow import LicenseTierRow from .licensefeaturerow import LicenseFeatureRow @@ -29,6 +30,8 @@ class LicenseDialog(Gtk.Dialog): self.verify_token.connect('apply', self._on_verify_token) self.refresh_license_button.connect('clicked', self._refresh_license) + self.no_license = NoLicense(hide_refresh_button = True) + def _refresh_license(self, widget): self.refresh_license_button.set_sensitive(False) self.ipc.write_control_flags({'refresh_device_license': True}) @@ -46,19 +49,24 @@ class LicenseDialog(Gtk.Dialog): for child in self.tiers: self.tiers.remove(child) - tiers_group = Adw.PreferencesGroup(title=_("Paid Tier Status"), margin_top=20) - self.tiers.append(tiers_group) - - for tier_name, tier_details in license_view['tiers'].items(): - tiers_group.add(LicenseTierRow(tier_name, tier_details)) for child in self.features: self.features.remove(child) - features_group = Adw.PreferencesGroup(title=_("Feature Availability"), margin_top=20) - self.features.append(features_group) - for feature_name, feature_details in license_view['features'].items(): - features_group.add(LicenseFeatureRow(feature_name, feature_details)) + if license_view: + tiers_group = Adw.PreferencesGroup(title=_("Paid Tier Status"), margin_top=20) + self.tiers.append(tiers_group) + + for tier_name, tier_details in license_view['tiers'].items(): + tiers_group.add(LicenseTierRow(tier_name, tier_details)) + + features_group = Adw.PreferencesGroup(title=_("Feature Availability"), margin_top=20) + self.features.append(features_group) + + for feature_name, feature_details in license_view['features'].items(): + features_group.add(LicenseFeatureRow(feature_name, feature_details)) + else: + self.tiers.append(self.no_license) self.refresh_license_button.set_sensitive(True) diff --git a/ui/src/main.py b/ui/src/main.py index dc0b0d7..4f4a1c1 100644 --- a/ui/src/main.py +++ b/ui/src/main.py @@ -106,7 +106,7 @@ class BreezydesktopApplication(Adw.Application): modal=True, program_name='Breezy Desktop', logo_icon_name='com.xronlinux.BreezyDesktop', - version='0.12.0', + version='1.0.0', authors=['Wayne Heaney'], copyright='© 2024 Wayne Heaney') about.present() diff --git a/ui/src/nolicense.py b/ui/src/nolicense.py index afe059b..c09112d 100644 --- a/ui/src/nolicense.py +++ b/ui/src/nolicense.py @@ -8,13 +8,16 @@ class NoLicense(Gtk.Box): refresh_license_button = Gtk.Template.Child() - def __init__(self, **kwargs): + def __init__(self, hide_refresh_button = False, **kwargs): super(Gtk.Box, self).__init__() self.init_template() self.ipc = XRDriverIPC.get_instance() - self.refresh_license_button.connect("clicked", self.on_refresh_license_button_clicked) + if hide_refresh_button: + self.refresh_license_button.hide() + else: + self.refresh_license_button.connect("clicked", self.on_refresh_license_button_clicked) def on_refresh_license_button_clicked(self, button): self.ipc.write_control_flags({'refresh_device_license': True}) \ No newline at end of file diff --git a/ui/src/window.py b/ui/src/window.py index 372255a..aeddeb4 100644 --- a/ui/src/window.py +++ b/ui/src/window.py @@ -79,10 +79,10 @@ class BreezydesktopWindow(Gtk.ApplicationWindow): self.main_content.append(self.failed_verification) elif not self.state_manager.driver_running: self.main_content.append(self.no_driver) - elif not state_manager.connected_device_name: - self.main_content.append(self.no_device) elif not self.state_manager.license_present: self.main_content.append(self.no_license) + elif not state_manager.connected_device_name: + self.main_content.append(self.no_device) elif not ExtensionsManager.get_instance().is_installed(): self.main_content.append(self.no_extension) else: diff --git a/vulkan/bin/setup b/vulkan/bin/setup index 5d47841..87170fc 100755 --- a/vulkan/bin/setup +++ b/vulkan/bin/setup @@ -20,6 +20,10 @@ fi VULKAN_DATA_DIR="$XDG_DATA_HOME/vulkan" XR_DRIVER_DATA_DIR="$XDG_DATA_HOME/xr_driver" +GAMESCOPE_DATA_DIR="$XDG_DATA_HOME/gamescope" +GAMESCOPE_RESHADE_SHADERS_DIR="$GAMESCOPE_DATA_DIR/reshade/Shaders" +GAMESCOPE_RESHADE_TEXTURES_DIR="$GAMESCOPE_DATA_DIR/reshade/Textures" + if [ -z "$XDG_CONFIG_HOME" ]; then XDG_CONFIG_HOME="$USER_HOME/.config" fi @@ -127,14 +131,21 @@ sed -e "s|/path/to/reshade-shaders|${RESHADE_CONFIG_DIR}|" \ -e "s|/path/to/sombrero|${RESHADE_CONFIG_DIR}/Shaders/Sombrero.frag|" \ config/vkBasalt.conf > $VKBASALT_CONFIG_DIR/vkBasalt.conf -echo "Installing the Sombrero shaders and texture files to ${RESHADE_CONFIG_DIR}/{Shaders,Textures}" +echo "Installing the Sombrero shader and texture files to ${RESHADE_CONFIG_DIR}/{Shaders,Textures} and ${GAMESCOPE_DATA_DIR}/reshade/{Shaders,Textures}" cp *.frag $RESHADE_CONFIG_DIR/Shaders cp *.fx* $RESHADE_CONFIG_DIR/Shaders cp *.png $RESHADE_CONFIG_DIR/Textures +mkdir -p $GAMESCOPE_RESHADE_SHADERS_DIR +mkdir -p $GAMESCOPE_RESHADE_TEXTURES_DIR +cp *.frag $GAMESCOPE_RESHADE_SHADERS_DIR +cp *.fx* $GAMESCOPE_RESHADE_SHADERS_DIR +cp *.png $GAMESCOPE_RESHADE_TEXTURES_DIR + chown -R $USER:$GROUP $LIB_DIR chown -R $USER:$GROUP $LIB32_DIR chown -R $USER:$GROUP $DATA_DIR +chown -R $USER:$GROUP $GAMESCOPE_DATA_DIR chown -R $USER:$GROUP $VULKAN_DATA_DIR chown -R $USER:$GROUP $RESHADE_CONFIG_DIR chown -R $USER:$GROUP $VKBASALT_CONFIG_DIR