diff --git a/.DS_Store b/.DS_Store index 7ee15e3..401b761 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/gui/main_window.py b/gui/main_window.py index 5255a4b..89572ac 100644 --- a/gui/main_window.py +++ b/gui/main_window.py @@ -127,6 +127,7 @@ class MainWindow(QtWidgets.QMainWindow): self.ui.iphone16SettingsChk.clicked.connect(self.on_iphone16SettingsChk_clicked) self.ui.parallaxChk.clicked.connect(self.on_parallaxChk_clicked) self.ui.stageManagerChk.clicked.connect(self.on_stageManagerChk_clicked) + self.ui.enableMedusaChk.clicked.connect(self.on_enableMedusaChk_clicked) self.ui.ipadAppsChk.clicked.connect(self.on_ipadAppsChk_clicked) self.ui.shutterChk.clicked.connect(self.on_shutterChk_clicked) self.ui.findMyFriendsChk.clicked.connect(self.on_findMyFriendsChk_clicked) @@ -235,6 +236,7 @@ class MainWindow(QtWidgets.QMainWindow): self.ui.spoofModelChk.hide() if Version(self.device_manager.data_singleton.current_device.version) >= Version("18.0"): self.ui.aodChk.show() + self.ui.iphone16SettingsChk.show() self.ui.sleepApneaChk.show() self.ui.featureFlagsPageBtn.show() # show the other dynamic island options @@ -242,6 +244,7 @@ class MainWindow(QtWidgets.QMainWindow): self.ui.dynamicIslandDrp.addItem("2868 (iPhone 16 Pro Max Dynamic Island)") else: self.ui.aodChk.hide() + self.ui.iphone16SettingsChk.hide() self.ui.sleepApneaChk.hide() self.ui.featureFlagsPageBtn.hide() else: @@ -380,6 +383,8 @@ class MainWindow(QtWidgets.QMainWindow): def on_stageManagerChk_clicked(self, checked: bool): tweaks["StageManager"].set_enabled(checked) + def on_enableMedusaChk_clicked(self, checked: bool): + tweaks["Medusa"].set_enabled(checked) def on_ipadAppsChk_clicked(self, checked: bool): tweaks["iPadApps"].set_enabled(checked) def on_shutterChk_clicked(self, checked: bool): diff --git a/qt/mainwindow.ui b/qt/mainwindow.ui index c7c93e7..e9fc454 100644 --- a/qt/mainwindow.ui +++ b/qt/mainwindow.ui @@ -1566,7 +1566,7 @@ QToolButton:pressed { - Nugget GUI - Version 3.0 (beta 4) + Nugget GUI - Version 3.0 Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -1971,6 +1971,13 @@ QComboBox QAbstractItemView::item:hover { + + + + Enable Medusa (iPad Multitasking) (WARNING: may be risky on some phones) + + + diff --git a/qt/mainwindow_ui.py b/qt/mainwindow_ui.py index cec3f55..43f1fe7 100644 --- a/qt/mainwindow_ui.py +++ b/qt/mainwindow_ui.py @@ -1072,6 +1072,11 @@ class Ui_Nugget(object): self.verticalLayout_8.addWidget(self.stageManagerChk) + self.enableMedusaChk = QCheckBox(self.gestaltPageContent) + self.enableMedusaChk.setObjectName(u"enableMedusaChk") + + self.verticalLayout_8.addWidget(self.enableMedusaChk) + self.ipadAppsChk = QCheckBox(self.gestaltPageContent) self.ipadAppsChk.setObjectName(u"ipadAppsChk") @@ -2554,7 +2559,7 @@ class Ui_Nugget(object): self.toolButton_15.setText(QCoreApplication.translate("Nugget", u"Additional Thanks", None)) self.libiBtn.setText(QCoreApplication.translate("Nugget", u"pymobiledevice3", None)) self.qtBtn.setText(QCoreApplication.translate("Nugget", u"Qt Creator", None)) - self.label.setText(QCoreApplication.translate("Nugget", u"Nugget GUI - Version 3.0 (beta 4)", None)) + self.label.setText(QCoreApplication.translate("Nugget", u"Nugget GUI - Version 3.0", None)) self.statusBarLbl.setText(QCoreApplication.translate("Nugget", u"Mobile Gestalt", None)) self.label_9.setText(QCoreApplication.translate("Nugget", u"Device Subtype Preset", None)) self.dynamicIslandDrp.setItemText(0, QCoreApplication.translate("Nugget", u"None", None)) @@ -2575,6 +2580,7 @@ class Ui_Nugget(object): self.iphone16SettingsChk.setText(QCoreApplication.translate("Nugget", u"Enable iPhone 16 Settings", None)) self.parallaxChk.setText(QCoreApplication.translate("Nugget", u"Disable Wallpaper Parallax", None)) self.stageManagerChk.setText(QCoreApplication.translate("Nugget", u"Enable Stage Manager Supported (WARNING: risky on some devices, mainly phones)", None)) + self.enableMedusaChk.setText(QCoreApplication.translate("Nugget", u"Enable Medusa (iPad Multitasking) (WARNING: may be risky on some phones)", None)) self.ipadAppsChk.setText(QCoreApplication.translate("Nugget", u"Allow iPad Apps on iPhone", None)) self.shutterChk.setText(QCoreApplication.translate("Nugget", u"Disable Region Restrictions (ie. Shutter Sound)", None)) self.findMyFriendsChk.setText(QCoreApplication.translate("Nugget", u"Enable Find My Friends", None)) diff --git a/qt/ui_mainwindow.py b/qt/ui_mainwindow.py index 460c2a4..6cb1b07 100644 --- a/qt/ui_mainwindow.py +++ b/qt/ui_mainwindow.py @@ -1072,6 +1072,11 @@ class Ui_Nugget(object): self.verticalLayout_8.addWidget(self.stageManagerChk) + self.enableMedusaChk = QCheckBox(self.gestaltPageContent) + self.enableMedusaChk.setObjectName(u"enableMedusaChk") + + self.verticalLayout_8.addWidget(self.enableMedusaChk) + self.ipadAppsChk = QCheckBox(self.gestaltPageContent) self.ipadAppsChk.setObjectName(u"ipadAppsChk") @@ -2554,7 +2559,7 @@ class Ui_Nugget(object): self.toolButton_15.setText(QCoreApplication.translate("Nugget", u"Additional Thanks", None)) self.libiBtn.setText(QCoreApplication.translate("Nugget", u"pymobiledevice3", None)) self.qtBtn.setText(QCoreApplication.translate("Nugget", u"Qt Creator", None)) - self.label.setText(QCoreApplication.translate("Nugget", u"Nugget GUI - Version 3.0 (beta 4)", None)) + self.label.setText(QCoreApplication.translate("Nugget", u"Nugget GUI - Version 3.0", None)) self.statusBarLbl.setText(QCoreApplication.translate("Nugget", u"Mobile Gestalt", None)) self.label_9.setText(QCoreApplication.translate("Nugget", u"Device Subtype Preset", None)) self.dynamicIslandDrp.setItemText(0, QCoreApplication.translate("Nugget", u"None", None)) @@ -2575,6 +2580,7 @@ class Ui_Nugget(object): self.iphone16SettingsChk.setText(QCoreApplication.translate("Nugget", u"Enable iPhone 16 Settings", None)) self.parallaxChk.setText(QCoreApplication.translate("Nugget", u"Disable Wallpaper Parallax", None)) self.stageManagerChk.setText(QCoreApplication.translate("Nugget", u"Enable Stage Manager Supported (WARNING: risky on some devices, mainly phones)", None)) + self.enableMedusaChk.setText(QCoreApplication.translate("Nugget", u"Enable Medusa (iPad Multitasking) (WARNING: may be risky on some phones)", None)) self.ipadAppsChk.setText(QCoreApplication.translate("Nugget", u"Allow iPad Apps on iPhone", None)) self.shutterChk.setText(QCoreApplication.translate("Nugget", u"Disable Region Restrictions (ie. Shutter Sound)", None)) self.findMyFriendsChk.setText(QCoreApplication.translate("Nugget", u"Enable Find My Friends", None)) diff --git a/tweaks/tweaks.py b/tweaks/tweaks.py index 775dd49..e4de5c1 100644 --- a/tweaks/tweaks.py +++ b/tweaks/tweaks.py @@ -16,6 +16,7 @@ tweaks = { "CameraButton": MobileGestaltMultiTweak("Toggle iPhone 16 Settings", {"CwvKxM2cEogD3p+HYgaW0Q": 1, "oOV1jhJbdV3AddkcCg0AEA": 1}, min_version=Version("18.0")), "Parallax": MobileGestaltTweak("Disable Wallpaper Parallax", "UIParallaxCapability", value=0), "StageManager": MobileGestaltTweak("Toggle Stage Manager Supported (WARNING: risky on some devices, mainly phones)", "qeaj75wk3HF4DwQ8qbIi7g", value=1), + "Medusa": MobileGestaltMultiTweak("Toggle Medusa (iPad Multitasking) (WARNING: may be risky on some phones)", {"mG0AnH/Vy1veoqoLRAIgTA": 1, "UCG5MkVahJxG1YULbbd5Bg": 1, "ZYqko/XM5zD3XBfN5RmaXA": 1, "nVh/gwNpy7Jv1NOk00CMrw": 1, "uKc7FPnEO++lVhHWHFlGbQ": 1}), "iPadApps": MobileGestaltTweak("Allow iPad Apps on iPhone", "9MZ5AdH43csAUajl/dU+IQ", value=[1, 2]), "Shutter": MobileGestaltMultiTweak("Disable Region Restrictions (ie. Shutter Sound)", {"h63QSdBCiT/z0WU6rdQv6Q": "US", "zHeENZu+wbg7PUprwNwBWg": "LL/A"}), "FindMyFriends": MobileGestaltTweak("Toggle Find My Friends", "Y2Y67z0Nq/XdDXgW2EeaVg"),