SUMMARY STEPS TO REPRODUCE 1. Set Settings > Configure Dolphin > General > Confirmations > "When opening an executable file" to "Always ask" 2. Find an executable script and try to open it in Dolphin 3. Choose "Do not ask again" and select Open. 4. Open $XDG_CONFIG_HOME/kiorc and make sure it has "behaviourOnLaunch=open" 5. Open the aforementioned settings tab again. OBSERVED RESULT "When opening an executable file" is shown as "Always ask" when it's "open" in config. EXPECTED RESULT "open" value read as equivalent to behaviourOnLaunch=dontAsk SOFTWARE/OS VERSIONS Linux/KDE Plasma: Kubuntu 20.04 KDE Plasma Version: 5.18.4 KDE Frameworks Version: 5.68.0 Qt Version: 5.12.8
It looks like the "dontAsk" and "open" behaviors are identical? I guess Dolphin should consider the "open" value to be the same as "Open in Application" A secondary problem is that when Dolphin is configured to make KIO always ask, the dialog box still has an option to not ask anymore.
kio doesn't know about "dontAsk", it uses "open" for "Open in application". But dolphin's settings incorrectly use "dontAsk" since https://phabricator.kde.org/D15147, I actually mentioned it there but got ignored...
(In reply to Wolfgang Bauer from comment #2) > kio doesn't know about "dontAsk", it uses "open" for "Open in application". To be more precise, it actually only knows "alwaysAsk" and "execute", all other values are mapped to "open". This is the code that reads the setting (in src/widgets/krun.cpp): KConfigGroup cfgGroup(KSharedConfig::openConfig(QStringLiteral("kiorc")), "Executable scripts"); const QString value = cfgGroup.readEntry("behaviourOnLaunch", "alwaysAsk"); if (value == QLatin1String("alwaysAsk")) { return true; } else { q->setRunExecutables(value == QLatin1String("execute")); } It however does write the values "open" or "execute" though when ticking the "Don't ask again" checkbox: if (isDontAskAgainSet) { QString output = result == ExecutableFileOpenDialog::OpenFile ? QStringLiteral("open") : QStringLiteral("execute"); KConfigGroup cfgGroup(KSharedConfig::openConfig(QStringLiteral("kiorc")), "Executable scripts"); cfgGroup.writeEntry("behaviourOnLaunch", output); }
A possibly relevant merge request was started @ https://invent.kde.org/system/dolphin/-/merge_requests/28
A possibly relevant merge request was started @ https://invent.kde.org/system/dolphin/-/merge_requests/29
A possibly relevant merge request was started @ https://invent.kde.org/system/dolphin/-/merge_requests/30
Git commit 7a6956da997a39a22c1f08138674459c3c3aa32b by Elvis Angelaccio, on behalf of Wolfgang Bauer. Committed on 05/07/2020 at 15:22. Pushed by elvisangelaccio into branch 'release/20.04'. Write correct value for "Open in application" script execution setting KIO actually uses "alwaysAsk", "execute", and "open" as possible values. When reading the setting, map unknown values to "open" like KIO does. That also provides compatibility with older dolphin versions. FIXED-IN: 20.04.3 M +5 -5 src/settings/general/confirmationssettingspage.cpp https://invent.kde.org/system/dolphin/commit/7a6956da997a39a22c1f08138674459c3c3aa32b