diff --git a/dank-qml-common b/dank-qml-common index 4288c8663..63bc92b97 160000 --- a/dank-qml-common +++ b/dank-qml-common @@ -1 +1 @@ -Subproject commit 4288c86638fbc403fa1992c9b5eaa09a505d0734 +Subproject commit 63bc92b97ea5e91c553c4d2df7592b3c78a71ec7 diff --git a/flake.lock b/flake.lock index c5aa997a8..341da01b7 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "dank-qml-common": { "flake": false, "locked": { - "lastModified": 1789688403, - "narHash": "sha256-ob7P1Y7GZBAGVBu/8eugS8MJb9leSPJQfg9AbxCc9Qs=", + "lastModified": 1789688760, + "narHash": "sha256-RGc+qYJNN4ZveKv7NuWud3Ad2Qzg2Z3fvxpByG3gQLY=", "owner": "AvengeMedia", "repo": "dank-qml-common", - "rev": "4288c86638fbc403fa1992c9b5eaa09a505d0734", + "rev": "63bc92b97ea5e91c553c4d2df7592b3c78a71ec7", "type": "github" }, "original": { diff --git a/quickshell/Modals/PowerMenuModal.qml b/quickshell/Modals/PowerMenuModal.qml index bfae9ae34..905df33b3 100644 --- a/quickshell/Modals/PowerMenuModal.qml +++ b/quickshell/Modals/PowerMenuModal.qml @@ -11,7 +11,6 @@ DankModal { layerNamespace: "dms:power-menu" keepPopoutsOpen: true useOverlayLayer: true - backgroundColor: Theme.surfaceContainerHigh animationType: "fade" animationDuration: LockMetrics.effectsDuration animationEnterCurve: Theme.expressiveCurves.expressiveEffects diff --git a/quickshell/Modules/PowerMenu/PowerMenuContent.qml b/quickshell/Modules/PowerMenu/PowerMenuContent.qml index 60d12c6da..6187fc80a 100644 --- a/quickshell/Modules/PowerMenu/PowerMenuContent.qml +++ b/quickshell/Modules/PowerMenu/PowerMenuContent.qml @@ -431,6 +431,8 @@ FocusScope { PowerMenuView { id: powerView anchors.fill: parent + color: "transparent" + buttonColor: Theme.floatingWindowNestedSurface actions: root.visibleActions actionProvider: root.getActionData gridLayout: SettingsData.powerMenuGridLayout diff --git a/quickshell/tests/run-surface-fixture.py b/quickshell/tests/run-surface-fixture.py index da7981f33..749791a09 100644 --- a/quickshell/tests/run-surface-fixture.py +++ b/quickshell/tests/run-surface-fixture.py @@ -23,6 +23,18 @@ def read_line(fd): return data.decode().strip() +def mesa_egl_vendor(): + for directory in ["/etc/glvnd/egl_vendor.d", "/usr/share/glvnd/egl_vendor.d"]: + for path in sorted(Path(directory).glob("*.json")): + try: + library = json.loads(path.read_text())["ICD"]["library_path"] + except (OSError, ValueError, KeyError): + continue + if "libEGL_mesa" in library: + return str(path) + return None + + suite = len(sys.argv) > 1 and sys.argv[1] == "--suite" fixtures = [name for name in sys.argv[2:] if not name.startswith("--")] if suite else [sys.argv[1] if len(sys.argv) > 1 else "quickshell/tests/qml/instance-routing.qml"] if not fixtures: @@ -71,6 +83,10 @@ with tempfile.TemporaryDirectory(prefix="dms-surface-test-") as temporary: for name in ["runtime", "config", "cache", "state", "data"]: env["XDG_" + name.upper() + ("_DIR" if name == "runtime" else "_HOME")] = str(root / name) env.update(QT_QPA_PLATFORM="wayland", QT_LOGGING_RULES="qml.debug=true", LIBGL_ALWAYS_SOFTWARE="1", DMS_DISABLE_HOT_RELOAD="1", DMS_DISABLE_MATUGEN="1", DBUS_SESSION_BUS_ADDRESS="unix:path=" + str(root / "no-session-bus"), DBUS_SYSTEM_BUS_ADDRESS="unix:path=" + str(root / "no-system-bus"), PULSE_SERVER="unix:" + str(root / "no-pulse"), PIPEWIRE_REMOTE="no-pipewire") + # glvnd loads the nvidia vendor first, which powers up a sleeping dGPU + mesa_vendor = mesa_egl_vendor() + if mesa_vendor: + env["__EGL_VENDOR_LIBRARY_FILENAMES"] = mesa_vendor if "--capture" in sys.argv: env["DMS_FIXTURE_CAPTURE"] = "1" if "--corners" in sys.argv: