KDE + screensaver

Marcin Kierus mkierus w toya.net.pl
Pon, 31 Mar 2003, 21:06:35 CEST


Dnia pon 31. marca 2003 20:24, Adam Gorzkiewicz napisał:
> 3) Gdyby kde nie szukało plików desktop w %{_applnkdir}, tylko jak
> sugerujesz w %{_prefix}/share/applnk, to nie wyświetlało by Ci się w
> ogole menu kde.

Menu działa dzieki patchowi:
kdelibs-directories.patch
--------
--- kdelibs-3.1rc6/kdecore/kstandarddirs.cpp.orig       Sat Nov 23 16:39:26 
2002
+++ kdelibs-3.1rc6/kdecore/kstandarddirs.cpp    Tue Jan 14 03:18:06 2003
@@ -50,6 +50,7 @@
 #include "kinstance.h"
 #include <sys/param.h>
 #include <unistd.h>
+#include "plddirs.h"

 template class QDict<QStringList>;

@@ -1039,6 +1040,9 @@
     addResourceDir("cache", dir);

     addResourceDir("home", QDir::homeDirPath());
+    addResourceDir("apps", kde_appsdir);
+    addResourceDir("html", kde_htmldir);
+    addResourceDir("icon", kde_icondir);
 }

 void KStandardDirs::checkConfig() const
---------

Niestety nie została zapachowana funkcja (o ile wogole jest możliwe przy 
takiej metodzie odnajdowania zasobów KDE, bo zwraca ona relatywne ścieżki do 
prefix'u):

QString KStandardDirs::kde_default(const char *type);

która dalej zwraca standardowe lokalizacje więc aplikacje, które z niej 
korzystają jak na przykład kcontrol rozwiązują błędnie ścieżki do apps.

(paczka kdebase: plik kcontrol/screensaver/scrnsave.cpp, linia 164)
--------
KGlobal::dirs()->addResourceType("scrsav",                                                      
                                     KGlobal::dirs()->kde_default("apps") +                         
                                     relPath);
--------

-- 
pozdrowienia
Marcin Kierus
saruman w saruman.eu.org



Więcej informacji o liście dyskusyjnej pld-users-pl