From b3f812688c6c30a2a02f6047523ef51afb40df7d Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 27 Apr 2020 16:39:11 -0500 Subject: [PATCH] kde/{kate,konqueror,okular}: decrease text mimetype preference These .desktop files set InitialPreference>1 which will override other associations even the .desktop appears first in XDG_DATA_DIRS. This applies to: - org.kde.kate.desktop - org.kde.kwrite.desktop - kfmclient_html.desktop - okularApplication_txt.desktop Fixes #86137 --- pkgs/applications/kde/kate.nix | 10 ++++++++++ pkgs/applications/kde/konqueror.nix | 10 +++++++++- pkgs/applications/kde/okular.nix | 9 +++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/kde/kate.nix b/pkgs/applications/kde/kate.nix index f01a57a55d4d..e0d0273efde1 100644 --- a/pkgs/applications/kde/kate.nix +++ b/pkgs/applications/kde/kate.nix @@ -14,6 +14,16 @@ mkDerivation { maintainers = [ lib.maintainers.ttuegel ]; }; + # InitialPreference values are too high and end up making kate & + # kwrite defaults for anything considered text/plain. Resetting to + # 1, which is the default. + postPatch = '' + substituteInPlace kate/data/org.kde.kate.desktop \ + --replace InitialPreference=9 InitialPreference=1 + substituteInPlace kwrite/data/org.kde.kwrite.desktop \ + --replace InitialPreference=8 InitialPreference=1 + ''; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ libgit2 diff --git a/pkgs/applications/kde/konqueror.nix b/pkgs/applications/kde/konqueror.nix index e6442fea2f9d..62ed3db063ea 100644 --- a/pkgs/applications/kde/konqueror.nix +++ b/pkgs/applications/kde/konqueror.nix @@ -12,9 +12,17 @@ mkDerivation { kdelibs4support kcmutils khtml kdesu qtwebkit qtwebengine qtx11extras qtscript qtwayland ]; + + # InitialPreference values are too high and any text/html ends up + # opening konqueror, even if firefox or chromium are also available. + # Resetting to 1, which is the default. + postPatch = '' + substituteInPlace kfmclient_html.desktop \ + --replace InitialPreference=9 InitialPreference=1 + ''; + meta = { license = with lib.licenses; [ gpl2 ]; maintainers = with lib.maintainers; [ ]; }; } - diff --git a/pkgs/applications/kde/okular.nix b/pkgs/applications/kde/okular.nix index f07df73a2556..3bcdb9ca8424 100644 --- a/pkgs/applications/kde/okular.nix +++ b/pkgs/applications/kde/okular.nix @@ -18,6 +18,15 @@ mkDerivation { kwindowsystem libkexiv2 libspectre libzip phonon poppler qca-qt5 qtdeclarative qtsvg threadweaver kcrash ] ++ lib.optional (!stdenv.isAarch64) chmlib; + + # InitialPreference values are too high and end up making okular + # default for anything considered text/plain. Resetting to 1, which + # is the default. + postPatch = '' + substituteInPlace generators/txt/okularApplication_txt.desktop \ + --replace InitialPreference=3 InitialPreference=1 + ''; + meta = with lib; { homepage = "http://www.kde.org"; license = with licenses; [ gpl2 lgpl21 fdl12 bsd3 ];