From 0f1f31a1e9f2b45f3b7dbdc3c918137958bd5e66 Mon Sep 17 00:00:00 2001 From: Chris Date: Wed, 7 Oct 2026 21:30:13 -0400 Subject: [PATCH] Show message when no Linux file picker is found (#7339) --- soh/soh/Extractor/Extract.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/soh/soh/Extractor/Extract.cpp b/soh/soh/Extractor/Extract.cpp index 89da6e1b78..e21f83744b 100644 --- a/soh/soh/Extractor/Extract.cpp +++ b/soh/soh/Extractor/Extract.cpp @@ -318,6 +318,18 @@ bool Extractor::GetRomPathFromBox() { } mCurrentRomPath = nameBuffer; #else + if (!pfd::settings::available()) { + std::string msg = + "No file picker was found on your system. Ship of Harkinian needs one of these to select a ROM:\n\n" + " - GNOME, Xfce, Cinnamon and other GTK desktops: install \"zenity\"\n" + " - KDE Plasma: install \"kdialog\"\n\n" + "On other distributions or window managers, search your package manager.\n\n" + "Alternatively, place your ROM in:\n" + + mSearchPath + "\nand restart."; + ShowErrorBox("File Picker Unavailable", msg.c_str()); + return false; + } + auto selection = pfd::open_file("Select a file", mSearchPath, { "N64 Roms", "*.z64 *.n64 *.v64" }).result(); if (selection.empty()) {