File autostart-spec.diff of Package kdelibs3
--- kdecore/kstandarddirs.cpp 2006/03/21 12:53:37 1.79
+++ kdecore/kstandarddirs.cpp 2006/03/21 14:26:20
@@ -100,7 +100,7 @@
"wallpaper", "lib", "pixmap", "templates",
"module", "qtplugins",
"xdgdata-apps", "xdgdata-dirs", "xdgconf-menu",
- "kcfg", "emoticons", 0 };
+ "kcfg", "emoticons", "xdgconf-autostart", 0 };
static int tokenize( QStringList& token, const QString& str,
const QString& delim );
@@ -1062,6 +1062,8 @@
return "desktop-directories/";
if (!strcmp(type, "xdgconf-menu"))
return "menus/";
+ if (!strcmp(type, "xdgconf-autostart"))
+ return "autostart/";
if (!strcmp(type, "kcfg"))
return "share/config.kcfg";
if (!strcmp(type, "emoticons"))
--- kinit/autostart.cpp 2006/03/21 12:53:09 1.63
+++ kinit/autostart.cpp 2006/03/21 16:03:04
@@ -104,7 +104,9 @@
void
AutoStart::loadAutoStartList()
{
- QStringList files = KGlobal::dirs()->findAllResources("autostart", "*.desktop", false, true);
+ QStringList files = KGlobal::dirs()->findAllResources("xdgconf-autostart", "*.desktop", false, true);
+ QStringList kdefiles = KGlobal::dirs()->findAllResources("autostart", "*.desktop", false, true);
+ files += kdefiles;
for(QStringList::ConstIterator it = files.begin();
it != files.end();
@@ -118,6 +120,17 @@
if (config.readBoolEntry("Hidden", false))
continue;
+ if (config.hasKey("OnlyShowIn"))
+ {
+ if (!config.readListEntry("OnlyShowIn", ';').contains("KDE"))
+ continue;
+ }
+ if (config.hasKey("NotShowIn"))
+ {
+ if (config.readListEntry("NotShowIn", ';').contains("KDE"))
+ continue;
+ }
+
AutoStartItem *item = new AutoStartItem;
item->name = extractName(*it);
item->service = *it;