From ece36771b620e133eaa7396e382baef132d16b18 Mon Sep 17 00:00:00 2001 From: winston Date: Wed, 4 Feb 2026 13:00:02 +0100 Subject: [PATCH] opentrack: fix desktop icon & window title Patch fixes `app_id` under Wayland for runtime desktop icon. Previously `WAYLAND_DEBUG=client opentrack |& grep app_id` would show `""` New `cmakeFlags` provides `OPENTRACK_COMMIT`, which is usually detected via `git describe`. --- pkgs/by-name/op/opentrack/desktop-filename.patch | 15 +++++++++++++++ pkgs/by-name/op/opentrack/package.nix | 8 +++++++- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 pkgs/by-name/op/opentrack/desktop-filename.patch diff --git a/pkgs/by-name/op/opentrack/desktop-filename.patch b/pkgs/by-name/op/opentrack/desktop-filename.patch new file mode 100644 index 000000000000..9b7fa5c18c50 --- /dev/null +++ b/pkgs/by-name/op/opentrack/desktop-filename.patch @@ -0,0 +1,15 @@ +diff --git a/gui/init.cpp b/gui/init.cpp +index 1647b050db0efe76028000939a7ca8e4047116b7..9114c31c51a69294e0803c15008a824e18da7a09 100644 +--- a/gui/init.cpp ++++ b/gui/init.cpp +@@ -315,6 +315,10 @@ int otr_main(int argc, char** argv, std::function()> co + add_win32_path(); + #endif + ++#ifdef Q_OS_LINUX ++ app.setDesktopFileName("opentrack"); ++#endif ++ + QDir::setCurrent(OPENTRACK_BASE_PATH); + + set_qt_style(); diff --git a/pkgs/by-name/op/opentrack/package.nix b/pkgs/by-name/op/opentrack/package.nix index ff563f2c97bb..2581776135fd 100644 --- a/pkgs/by-name/op/opentrack/package.nix +++ b/pkgs/by-name/op/opentrack/package.nix @@ -40,6 +40,11 @@ stdenv.mkDerivation (finalAttrs: { meta.license = lib.licenses.free; }; + patches = [ + # calls `app.setDesktopFileName("opentrack");` - distros that don't wrap the binary apparently don't need this. + ./desktop-filename.patch + ]; + strictDeps = true; nativeBuildInputs = [ @@ -64,13 +69,14 @@ stdenv.mkDerivation (finalAttrs: { ]; cmakeFlags = [ + (lib.cmakeFeature "OPENTRACK_COMMIT" "opentrack-${finalAttrs.version}") (lib.cmakeBool "SDK_WINE" withWine) (lib.cmakeFeature "SDK_ARUCO_LIBPATH" "${finalAttrs.aruco}/lib/libaruco.a") (lib.cmakeFeature "SDK_XPLANE" finalAttrs.xplaneSdk.outPath) ]; postInstall = '' - install -Dt $out/share/icons/hicolor/256x256 $src/gui/images/opentrack.png + install -Dt $out/share/icons/hicolor/256x256/apps ../gui/images/opentrack.png ''; # manually wrap just the main binary