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"),