Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37894394
en ru br
Репозитории ALT
5.1: 3.5.10-alt20.M51.2
4.1: 3.5.10-alt16.M41.1
4.0: 3.5.9-alt1.M40.1
3.0: 3.4.1-alt12
+updates:3.4.1-alt12.1.M30
+backports:3.5.6-alt7.0.M30
www.altlinux.org/Changes

Группа :: Графические оболочки/KDE
Пакет: kdebase

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: kdm-3.3.0-wmsession.patch
Скачать


--- kdebase-3.4.0/kdm/kfrontend/kgreeter.cpp~	2005-03-23 13:46:17 +0300
+++ kdebase-3.4.0/kdm/kfrontend/kgreeter.cpp	2005-03-23 13:52:10 +0300
@@ -331,6 +331,7 @@ KGreeter::putSession( const QString &typ
 void
 KGreeter::insertSessions()
 {
+#if 0
 	for (char **dit = _sessionsDirs; *dit; ++dit) {
 		QStringList ents = QDir( *dit ).entryList();
 		for (QStringList::ConstIterator it = ents.begin(); it != ents.end(); ++it)
@@ -349,6 +350,29 @@ KGreeter::insertSessions()
 	putSession( "custom", i18n("Custom"), false, "custom" );
 	putSession( "failsafe", i18n("Failsafe"), false, "failsafe" );
 	qBubbleSort( sessionTypes );
+#endif
+  char *sesslist = "runwm --list";
+  FILE *status = popen(sesslist, "r");
+  if (status)
+  {
+    while (!feof(status))
+    {
+	char tmp[64];
+	QString tmpSess;
+	fgets(tmp, 63, status);
+	tmpSess = QString::fromLatin1(tmp).stripWhiteSpace();
+	if( tmpSess == "default" )
+	    putSession( "default", i18n("Default"), false, "default" );
+	else
+	    putSession( tmpSess, tmpSess, false, "custom" );
+    }
+  }
+  else
+  {
+     putSession( "default", i18n("Default"), false, "default" );
+  }
+  pclose(status);
+  putSession( "failsafe", i18n("Failsafe"), false, "failsafe" );
 	for (uint i = 0; i < sessionTypes.size() && !sessionTypes[i].hid; i++) {
 		sessMenu->insertItem( sessionTypes[i].name, i );
 		switch (sessionTypes[i].prio) {
--- kdebase-3.4.0/kdm/backend/client.c~	2005-03-23 13:57:55 +0300
+++ kdebase-3.4.0/kdm/backend/client.c	2005-03-23 14:00:34 +0300
@@ -1427,6 +1427,7 @@ StartClient()
 		GSendStr( desksess );
 		close( mstrtalk.pipe->wfd );
 		userEnviron = setEnv( userEnviron, "DESKTOP_SESSION", desksess );
+#if 0
 		for (i = 0; td->sessionsDirs[i]; i++) {
 			fname = 0;
 			if (StrApp( &fname, td->sessionsDirs[i], "/", desksess, ".desktop", (char *)0 )) {
@@ -1447,6 +1448,8 @@ StartClient()
 			sessargs = desksess;
 		else
 			sessargs = "";
+#endif
+			sessargs = desksess;
 	  gotit:
 		if (!(argv = parseArgs( (char **)0, td->session )) ||
 		    !(argv = addStrArr( argv, sessargs, -1 )))
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin