Репозитории 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 |
Группа :: Графические оболочки/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 )))