rpms/kdebase-workspace/F-9 kdebase-workspace-4.0.72-ck-shutdown.patch, NONE, 1.1 kdebase-workspace-4.0.72-klipper-url.patch, NONE, 1.1 kdebase-workspace-4.0.72-plasma-konsole.patch, NONE, 1.1 kdebase-workspace-4.0.72-rootprivs.patch, NONE, 1.1 kdebase-workspace-4.0.72-show-systemsettings.patch, NONE, 1.1 kdebase-workspace-4.0.80-ksysguard-onlyshowin.patch, NONE, 1.1 kdebase-workspace-4.0.85-plasma-default-wallpaper.patch, NONE, 1.1 kdebase-workspace-4.0.98-consolekit-kdm.patch, NONE, 1.1 kdebase-workspace-4.0.98-kickoff-suspend.patch, NONE, 1.1 kdebase-workspace-4.0.99-plasma-tooltips.patch, NONE, 1.1 .cvsignore, 1.10, 1.11 kdebase-workspace.spec, 1.91, 1.92 sources, 1.12, 1.13 kdebase-workspace-4.0.0-consolekit-kdm.patch, 1.1, NONE kdebase-workspace-4.0.2-onlyshowkde.patch, 1.1, NONE kdebase-workspace-4.0.2-plasma-konsole.patch, 1.1, NONE kdebase-workspace-4.0.3-ck-shutdown.patch, 1.1, NONE kdebase-workspace-4.0.3-kde#155362.patch, 1.1, NONE kdebase-workspace-4.0.3-kde#158301.patch, 1.2, NONE kdebase-workspace-4.0.3-menu-switch.patch, 1.2, NONE kdebase-workspace-4.0.3-plasma-default-wallpaper-config.patch, 1.1, NONE kdebase-workspace-4.0.3-plasma-default-wallpaper.patch, 1.2, NONE kdebase-workspace-4.0.3-rh#443610.patch, 1.2, NONE kdebase-workspace-4.0.3-rootprivs.patch, 1.1, NONE kdebase-workspace-4.0.4-klipper-url.patch, 1.1, NONE kdebase-workspace-4.0.5-kickoff-suspend.patch, 1.1, NONE kdebase-workspace-4.0.5-kwin-compositing.patch, 1.1, NONE kdebase-workspace-4.0.5-kwin-shortcuts.patch, 1.1, NONE kdebase-workspace-4.0.5-kwin-stacking.patch, 1.1, NONE kdebase-workspace-4.0.5-plasma-xinerama.patch, 1.1, NONE kdebase-workspace-4.0.5-screensaver-xautolock.patch, 1.1, NONE

Rex Dieter (rdieter) fedora-extras-commits at redhat.com
Sat Jul 19 18:15:57 UTC 2008


Author: rdieter

Update of /cvs/pkgs/rpms/kdebase-workspace/F-9
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv4742

Modified Files:
	.cvsignore kdebase-workspace.spec sources 
Added Files:
	kdebase-workspace-4.0.72-ck-shutdown.patch 
	kdebase-workspace-4.0.72-klipper-url.patch 
	kdebase-workspace-4.0.72-plasma-konsole.patch 
	kdebase-workspace-4.0.72-rootprivs.patch 
	kdebase-workspace-4.0.72-show-systemsettings.patch 
	kdebase-workspace-4.0.80-ksysguard-onlyshowin.patch 
	kdebase-workspace-4.0.85-plasma-default-wallpaper.patch 
	kdebase-workspace-4.0.98-consolekit-kdm.patch 
	kdebase-workspace-4.0.98-kickoff-suspend.patch 
	kdebase-workspace-4.0.99-plasma-tooltips.patch 
Removed Files:
	kdebase-workspace-4.0.0-consolekit-kdm.patch 
	kdebase-workspace-4.0.2-onlyshowkde.patch 
	kdebase-workspace-4.0.2-plasma-konsole.patch 
	kdebase-workspace-4.0.3-ck-shutdown.patch 
	kdebase-workspace-4.0.3-kde#155362.patch 
	kdebase-workspace-4.0.3-kde#158301.patch 
	kdebase-workspace-4.0.3-menu-switch.patch 
	kdebase-workspace-4.0.3-plasma-default-wallpaper-config.patch 
	kdebase-workspace-4.0.3-plasma-default-wallpaper.patch 
	kdebase-workspace-4.0.3-rh#443610.patch 
	kdebase-workspace-4.0.3-rootprivs.patch 
	kdebase-workspace-4.0.4-klipper-url.patch 
	kdebase-workspace-4.0.5-kickoff-suspend.patch 
	kdebase-workspace-4.0.5-kwin-compositing.patch 
	kdebase-workspace-4.0.5-kwin-shortcuts.patch 
	kdebase-workspace-4.0.5-kwin-stacking.patch 
	kdebase-workspace-4.0.5-plasma-xinerama.patch 
	kdebase-workspace-4.0.5-screensaver-xautolock.patch 
Log Message:
sync w/devel (4.0.99)


kdebase-workspace-4.0.72-ck-shutdown.patch:

--- NEW FILE kdebase-workspace-4.0.72-ck-shutdown.patch ---
diff -ur kdebase-workspace-4.0.72/libs/kworkspace/kdisplaymanager.cpp kdebase-workspace-4.0.72-ck-shutdown/libs/kworkspace/kdisplaymanager.cpp
--- kdebase-workspace-4.0.72/libs/kworkspace/kdisplaymanager.cpp	2008-02-21 10:28:02.000000000 +0100
+++ kdebase-workspace-4.0.72-ck-shutdown/libs/kworkspace/kdisplaymanager.cpp	2008-05-07 00:56:17.000000000 +0200
@@ -26,6 +26,7 @@
 #include <QtDBus/QtDBus>
 
 #include <QRegExp>
+#include <QLatin1String>
 
 #include <X11/Xauth.h>
 #include <X11/Xlib.h>
@@ -85,6 +86,7 @@
 				strcpy( sa.sun_path, "/tmp/.gdm_socket" );
 				if (::connect( d->fd, (struct sockaddr *)&sa, sizeof(sa) )) {
 					::close( d->fd );
+					DMType = NoDM;
 					d->fd = -1;
 					break;
 				}
@@ -185,6 +187,21 @@
 bool
 KDisplayManager::canShutdown()
 {
+	if (DMType == NoDM) {
+		// No DM or newest GDM running, we'll try shutting down through ConsoleKit.
+		// Unfortunately, ConsoleKit won't tell us if we're allowed to do that
+		// (it also depends on whether there are other users logged in on the
+		// system), so we can only check if it's running at all.
+		QDBusConnection systemBus = QDBusConnection::systemBus();
+		if (!systemBus.isConnected())
+			return false;
+		QDBusInterface consoleKit( QLatin1String( "org.freedesktop.ConsoleKit" ),
+		                           QLatin1String( "/org/freedesktop/ConsoleKit/Manager" ),
+		                           QLatin1String( "org.freedesktop.ConsoleKit.Manager" ),
+		                           systemBus );
+		return consoleKit.isValid();
+	}
+
 	if (DMType == OldKDM)
 		return strstr( ctl, ",maysd" ) != 0;
 
@@ -204,6 +221,21 @@
 	if (shutdownType == KWorkSpace::ShutdownTypeNone)
 		return;
 
+	if (DMType == NoDM) {
+		// No DM or newest GDM running, try shutting down through ConsoleKit.
+		QDBusConnection systemBus = QDBusConnection::systemBus();
+		if (!systemBus.isConnected())
+			return;
+		QDBusInterface consoleKit( QLatin1String( "org.freedesktop.ConsoleKit" ),
+		                           QLatin1String( "/org/freedesktop/ConsoleKit/Manager" ),
+		                           QLatin1String( "org.freedesktop.ConsoleKit.Manager" ),
+		                           systemBus );
+		if (consoleKit.isValid())
+			consoleKit.call( QLatin1String( shutdownType == KWorkSpace::ShutdownTypeReboot ?
+		                                        "Restart" : "Stop" ) );
+		return;
+	}
+
 	bool cap_ask;
 	if (DMType == NewKDM) {
 		QByteArray re;

kdebase-workspace-4.0.72-klipper-url.patch:

--- NEW FILE kdebase-workspace-4.0.72-klipper-url.patch ---
diff -up kdebase-workspace-4.0.72/klipper/klipperrc.desktop.orig kdebase-workspace-4.0.72/klipper/klipperrc.desktop
--- kdebase-workspace-4.0.72/klipper/klipperrc.desktop.orig	2008-04-18 09:21:50.000000000 +0200
+++ kdebase-workspace-4.0.72/klipper/klipperrc.desktop	2008-05-21 15:58:58.000000000 +0200
@@ -279,7 +279,7 @@ Description[zh_TW]=使用 &Konqueror 開
 Enabled=true
 
 [Action_1/Command_2]
-Commandline=ps x |grep -q '[m]ozilla' && mozilla -remote openURL(%s, new-window) || mozilla %s
+Commandline=ps x |grep -q '[m]ozilla' && mozilla -remote 'openURL(%s, new-window)' || mozilla %s
 Icon=mozilla
 Description=Open with &Mozilla
 Description[af]=Maak oop met Mozilla
@@ -429,7 +429,7 @@ Description[zh_TW]=送出 &URL
 Enabled=true
 
 [Action_1/Command_4]
-Commandline=ps x |grep -q '[f]irefox' && firefox -remote openURL(%s, new-window) || firefox %s
+Commandline=ps x |grep -q '[f]irefox' && firefox -remote 'openURL(%s, new-window)' || firefox %s
 Icon=firefox
 Description=Open with &Firefox
 Description[af]=Maak oop met Firefox
@@ -1533,7 +1533,7 @@ Description[zh_TW]=使用 &Konqueror 開
 Enabled=true
 
 [Action_6/Command_2]
-Commandline=mozilla -remote openURL(%s, new-window)
+Commandline=mozilla -remote 'openURL(%s, new-window)'
 Description=Open with &Mozilla
 Description[af]=Maak oop met Mozilla
 Description[ar]=افتح بواسطة &موزيلا

kdebase-workspace-4.0.72-plasma-konsole.patch:

--- NEW FILE kdebase-workspace-4.0.72-plasma-konsole.patch ---
diff -ur kdebase-workspace-4.0.72/plasma/containments/desktop/desktop.cpp kdebase-workspace-4.0.72-plasma-konsole/plasma/containments/desktop/desktop.cpp
--- kdebase-workspace-4.0.72/plasma/containments/desktop/desktop.cpp	2008-04-30 15:58:29.000000000 +0200
+++ kdebase-workspace-4.0.72-plasma-konsole/plasma/containments/desktop/desktop.cpp	2008-05-07 00:45:34.000000000 +0200
@@ -39,6 +39,7 @@
 #include <KStandardDirs>
 #include <KSvgRenderer>
 #include <KWindowSystem>
+#include <KProcess>
 
 #include "plasma/corona.h"
 #include "plasma/appletbrowser.h"
@@ -62,6 +63,7 @@
       m_lockDesktopAction(0),
       m_appletBrowserAction(0),
       m_addPanelAction(0),
+      m_runKonsoleAction(0),
       m_runCommandAction(0),
       m_lockScreenAction(0),
       m_logoutAction(0),
@@ -341,6 +343,13 @@
     }
 }
 
+void DefaultDesktop::runKonsole()
+{
+    KProcess proc;
+    proc << KStandardDirs::locate("exe", "konsole");
+    proc.execute();
+}
+
 void DefaultDesktop::lockScreen()
 {
     if (!KAuthorized::authorizeKAction("lock_screen")) {
@@ -368,6 +377,10 @@
         connect(m_addPanelAction, SIGNAL(triggered(bool)), this, SLOT(addPanel()));
         m_addPanelAction->setIcon(KIcon("list-add"));
 
+        m_runKonsoleAction = new QAction(i18n("Konsole"), this);
+        connect(m_runKonsoleAction, SIGNAL(triggered(bool)), this, SLOT(runKonsole()));
+        m_runKonsoleAction->setIcon(KIcon("terminal"));
+
         m_runCommandAction = new QAction(i18n("Run Command..."), this);
         connect(m_runCommandAction, SIGNAL(triggered(bool)), this, SLOT(runCommand()));
         m_runCommandAction->setIcon(KIcon("system-run"));
@@ -398,6 +411,8 @@
 
     QList<QAction*> actions;
 
+    actions.append(m_runKonsoleAction);
+
     if (KAuthorized::authorizeKAction("run_command")) {
         actions.append(m_runCommandAction);
     }
diff -ur kdebase-workspace-4.0.72/plasma/containments/desktop/desktop.h kdebase-workspace-4.0.72-plasma-konsole/plasma/containments/desktop/desktop.h
--- kdebase-workspace-4.0.72/plasma/containments/desktop/desktop.h	2008-04-30 15:58:29.000000000 +0200
+++ kdebase-workspace-4.0.72-plasma-konsole/plasma/containments/desktop/desktop.h	2008-05-07 00:44:21.000000000 +0200
@@ -84,6 +84,7 @@
                         const QRect& contentsRect);
 
 protected Q_SLOTS:
+    void runKonsole();
     void runCommand();
     void configure();
     void applyConfig();
@@ -106,6 +107,7 @@
     QAction *m_lockDesktopAction;
     QAction *m_appletBrowserAction;
     QAction *m_addPanelAction;
+    QAction *m_runKonsoleAction;
     QAction *m_runCommandAction;
     QAction *m_setupDesktopAction;
     QAction *m_lockScreenAction;

kdebase-workspace-4.0.72-rootprivs.patch:

--- NEW FILE kdebase-workspace-4.0.72-rootprivs.patch ---
diff -ur kdebase-workspace-4.0.72/systemsettings/mainwindow.cpp kdebase-workspace-4.0.72-rootprivs/systemsettings/mainwindow.cpp
--- kdebase-workspace-4.0.72/systemsettings/mainwindow.cpp	2008-04-30 15:58:34.000000000 +0200
+++ kdebase-workspace-4.0.72-rootprivs/systemsettings/mainwindow.cpp	2008-05-07 01:05:14.000000000 +0200
@@ -27,6 +27,7 @@
 
 #include <QLayout>
 #include <QStackedWidget>
+#include <QProcess>
 
 #include <KAction>
 #include <KActionCollection>
@@ -42,6 +43,7 @@
 #include <KStandardAction>
 #include <KTabWidget>
 #include <kcategorizedsortfilterproxymodel.h>
+#include <KStandardDirs>
 #include <kcategorizedview.h>
 #include <kcategorydrawer.h>
 #include <kiconloader.h>
@@ -297,9 +299,13 @@
         return;
 
     MenuItem * mItem = selected.data( Qt::UserRole ).value<MenuItem*>();
+    bool needsRootPrivs = false;
     if ( mItem ) {
         kDebug() << "Selected item: " << mItem->service->name();
         kDebug() << "Comment:       " << mItem->service->comment();
+
+        needsRootPrivs = mItem->service->property( "X-KDE-RootOnly", QVariant::Bool ).toBool();
+        kDebug() << "Needs root privs:" << needsRootPrivs;
     } else {
         kDebug() << ":'( Got dud pointer from " << selected.data( Qt::DisplayRole ).toString();
         Q_ASSERT(mItem); // Would core dump below. Do it now
@@ -311,6 +317,35 @@
     if ( groupWidget )
         return;
 
+    if ( needsRootPrivs )
+    {
+        QString kdesu = KStandardDirs::findExe( "kdesu" );
+        //kDebug() << "kdesu path:" << kdesu;
+
+        QString cmd = mItem->service->exec().trimmed();
+
+        /* Prepare the process to run the kcmshell */
+        if ( cmd.left(5) == "kdesu" )
+        {
+            cmd = cmd.remove(0,5).trimmed();
+
+            /* Remove all kdesu switches */
+            while ( cmd.length() > 1 && cmd[ 0 ] == '-' )
+                cmd = cmd.remove( 0, cmd.indexOf( ' ' ) ).trimmed();
+        }
+
+        if ( cmd.left(9) == "kcmshell4" )
+            cmd = cmd.remove(0,9).trimmed();
+
+        QStringList args;
+        args << "-c" << QString( "%1 %2 --lang %3" ).arg( KStandardDirs::locate("exe", "kcmshell4") ).arg( cmd ).arg( KGlobal::locale()->language() );
+
+        kDebug() << "Starting root module: " << args;
+        QProcess::execute( kdesu, args );
+
+        return;
+    }
+
     groupWidget = moduleItemToWidgetDict[mItem->service];
 
     if( !groupWidget ) {

kdebase-workspace-4.0.72-show-systemsettings.patch:

--- NEW FILE kdebase-workspace-4.0.72-show-systemsettings.patch ---
diff -ur kdebase-workspace-4.0.72/systemsettings/systemsettings.desktop kdebase-workspace-4.0.72-show-systemsettings/systemsettings/systemsettings.desktop
--- kdebase-workspace-4.0.72/systemsettings/systemsettings.desktop	2008-04-30 15:58:34.000000000 +0200
+++ kdebase-workspace-4.0.72-show-systemsettings/systemsettings/systemsettings.desktop	2008-05-07 00:50:55.000000000 +0200
@@ -114,4 +114,4 @@
 
 X-DBUS-StartupType=Unique
-Categories=Qt;KDE;System;
-NoDisplay=true
+Categories=Qt;KDE;Settings;
+OnlyShowIn=KDE;

kdebase-workspace-4.0.80-ksysguard-onlyshowin.patch:

--- NEW FILE kdebase-workspace-4.0.80-ksysguard-onlyshowin.patch ---
diff -up kdebase-workspace-4.0.80/ksysguard/gui/ksysguard.desktop.orig kdebase-workspace-4.0.80/ksysguard/gui/ksysguard.desktop
--- kdebase-workspace-4.0.80/ksysguard/gui/ksysguard.desktop.orig	2008-06-04 10:34:11.000000000 +0200
+++ kdebase-workspace-4.0.80/ksysguard/gui/ksysguard.desktop	2008-06-04 10:35:58.000000000 +0200
@@ -64,3 +64,4 @@ Terminal=false
 X-KDE-StartupNotify=true
 X-DBUS-StartupType=Multi
 Categories=Qt;KDE;System;
+OnlyShowIn=KDE;

kdebase-workspace-4.0.85-plasma-default-wallpaper.patch:

--- NEW FILE kdebase-workspace-4.0.85-plasma-default-wallpaper.patch ---
diff -ur kdebase-workspace-4.0.85/libs/plasma/theme.cpp kdebase-workspace-4.0.85-plasma-default-wallpaper/libs/plasma/theme.cpp
--- kdebase-workspace-4.0.85/libs/plasma/theme.cpp	2008-07-03 07:05:35.000000000 +0200
+++ kdebase-workspace-4.0.85-plasma-default-wallpaper/libs/plasma/theme.cpp	2008-07-09 23:16:58.000000000 +0200
@@ -94,6 +94,7 @@
     KSharedConfigPtr colors;
     KConfigGroup cfg;
     QFont generalFont;
+    QString globalDefaultWallpaper;
     QString defaultWallpaperTheme;
     QString defaultWallpaperSuffix;
     int defaultWallpaperWidth;
@@ -235,6 +236,10 @@
     //kDebug() << "we're going for..." << colorsFile << "*******************";
 
     // load the wallpaper settings, if any
+    KSharedConfigPtr config = KSharedConfig::openConfig("plasmarc");
+    KConfigGroup group = KConfigGroup(config, "Defaults");
+    d->globalDefaultWallpaper = group.readEntry("wallpaper", (const char *) 0);
+
     KConfig metadata(KStandardDirs::locate("data", "desktoptheme/" + theme + "/metadata.desktop"));
     KConfigGroup cg;
     if (metadata.hasGroup("Wallpaper")) {
@@ -247,8 +252,8 @@
         cg = d->config();
     }
 
-    d->defaultWallpaperTheme = cg.readEntry("defaultWallpaperTheme", DEFAULT_WALLPAPER_THEME);
-    d->defaultWallpaperSuffix = cg.readEntry("defaultFileSuffix", DEFAULT_WALLPAPER_SUFFIX);
+    d->defaultWallpaperTheme = cg.readEntry("defaultWallpaperTheme", d->globalDefaultWallpaper.isEmpty() ? DEFAULT_WALLPAPER_THEME : (const char *) 0);
+    d->defaultWallpaperSuffix = cg.readEntry("defaultFileSuffix", d->globalDefaultWallpaper.isEmpty() ? DEFAULT_WALLPAPER_SUFFIX : (const char *) 0);
     d->defaultWallpaperWidth = cg.readEntry("defaultWidth", DEFAULT_WALLPAPER_WIDTH);
     d->defaultWallpaperHeight = cg.readEntry("defaultHeight", DEFAULT_WALLPAPER_HEIGHT);
 
@@ -300,7 +305,10 @@
     QString fullPath;
     QString image = d->defaultWallpaperTheme;
 
-    image.append("/contents/images/%1x%2").append(d->defaultWallpaperSuffix);
+    if (image.isEmpty() && !d->globalDefaultWallpaper.isEmpty())
+        image = d->globalDefaultWallpaper;
+    else
+        image.append("/contents/images/%1x%2").append(d->defaultWallpaperSuffix);
     QString defaultImage = image.arg(d->defaultWallpaperWidth).arg(d->defaultWallpaperHeight);
 
     if (size.isValid()) {

kdebase-workspace-4.0.98-consolekit-kdm.patch:

--- NEW FILE kdebase-workspace-4.0.98-consolekit-kdm.patch ---
diff -Nur kdebase-workspace-4.0.98/cmake/modules/FindCkConnector.cmake kdebase-workspace-4.0.98-consolekit-kdm/cmake/modules/FindCkConnector.cmake
--- kdebase-workspace-4.0.98/cmake/modules/FindCkConnector.cmake	1970-01-01 01:00:00.000000000 +0100
+++ kdebase-workspace-4.0.98-consolekit-kdm/cmake/modules/FindCkConnector.cmake	2008-07-15 03:31:04.000000000 +0200
@@ -0,0 +1,58 @@
+# - Try to find the ConsoleKit connector library (libck-connector)
+# Once done this will define
+#
+#  CKCONNECTOR_FOUND - system has the CK Connector
+#  CKCONNECTOR_INCLUDE_DIR - the CK Connector include directory
+#  CKCONNECTOR_LIBRARIES - The libraries needed to use CK Connector
+
+# Copyright (c) 2008, Kevin Kofler, <kevin.kofler at chello.at>
+# modeled after FindLibArt.cmake:
+# Copyright (c) 2006, Alexander Neundorf, <neundorf at kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+if (CKCONNECTOR_INCLUDE_DIR AND CKCONNECTOR_LIBRARIES)
+
+  # in cache already
+  SET(CKCONNECTOR_FOUND TRUE)
+
+else (CKCONNECTOR_INCLUDE_DIR AND CKCONNECTOR_LIBRARIES)
+
+  IF (NOT WIN32)
+    INCLUDE(UsePkgConfig)
+    # use pkg-config to get the directories and then use these values
+    # in the FIND_PATH() and FIND_LIBRARY() calls
+    PKGCONFIG(ck-connector _ckConnectorIncDir _ckConnectorLinkDir _ckConnectorLinkFlags _ckConnectorCflags)
+  ENDIF (NOT WIN32)
+
+  FIND_PATH(CKCONNECTOR_INCLUDE_DIR ck-connector.h
+     ${_ckConnectorIncDir}/ConsoleKit/ck-connector
+     ${_ckConnectorIncDir}
+  )
+
+  FIND_LIBRARY(CKCONNECTOR_LIBRARIES NAMES ck-connector
+     PATHS
+     ${_ckConnectorLinkDir}
+  )
+
+
+  if (CKCONNECTOR_INCLUDE_DIR AND CKCONNECTOR_LIBRARIES)
+     set(CKCONNECTOR_FOUND TRUE)
+  endif (CKCONNECTOR_INCLUDE_DIR AND CKCONNECTOR_LIBRARIES)
+
+
+  if (CKCONNECTOR_FOUND)
+     if (NOT CkConnector_FIND_QUIETLY)
+        message(STATUS "Found ck-connector: ${CKCONNECTOR_LIBRARIES}")
+     endif (NOT CkConnector_FIND_QUIETLY)
+  else (CKCONNECTOR_FOUND)
+     if (CkConnector_FIND_REQUIRED)
+        message(FATAL_ERROR "Could NOT find ck-connector")
+     endif (CkConnector_FIND_REQUIRED)
+  endif (CKCONNECTOR_FOUND)
+
+  MARK_AS_ADVANCED(CKCONNECTOR_INCLUDE_DIR CKCONNECTOR_LIBRARIES)
+
+endif (CKCONNECTOR_INCLUDE_DIR AND CKCONNECTOR_LIBRARIES)
diff -Nur kdebase-workspace-4.0.98/cmake/modules/FindDBus.cmake kdebase-workspace-4.0.98-consolekit-kdm/cmake/modules/FindDBus.cmake
--- kdebase-workspace-4.0.98/cmake/modules/FindDBus.cmake	1970-01-01 01:00:00.000000000 +0100
+++ kdebase-workspace-4.0.98-consolekit-kdm/cmake/modules/FindDBus.cmake	2008-07-14 23:56:36.000000000 +0200
@@ -0,0 +1,39 @@
+
+if(DBUS_INCLUDE_DIR AND DBUS_LIBRARY AND DBUS_ARCH_INCLUDE_DIR)
+	# Already in cache, be silent
+	set(DBUS_FIND_QUIETLY TRUE)	
+endif(DBUS_INCLUDE_DIR AND DBUS_LIBRARY AND DBUS_ARCH_INCLUDE_DIR)
+
+set(DBUS_LIBRARY)
+set(DBUS_INCLUDE_DIR)
+set(DBUS_ARCH_INCLUDE_DIR)
+
+FIND_PATH(DBUS_INCLUDE_DIR dbus/dbus.h
+	/usr/include
+	/usr/include/dbus-1.0
+	/usr/local/include
+)
+
+FIND_PATH(DBUS_ARCH_INCLUDE_DIR dbus/dbus-arch-deps.h
+	/usr/lib${LIB_SUFFIX}/include
+	/usr/lib${LIB_SUFFIX}/dbus-1.0/include
+	/usr/lib64/include
+	/usr/lib64/dbus-1.0/include
+	/usr/lib/include
+	/usr/lib/dbus-1.0/include
+)
+
+FIND_LIBRARY(DBUS_LIBRARY NAMES dbus-1 dbus
+	PATHS
+	/usr/lib
+	/usr/local/lib
+)
+
+if(DBUS_INCLUDE_DIR AND DBUS_LIBRARY AND DBUS_ARCH_INCLUDE_DIR)
+   MESSAGE( STATUS "dbus found: includes in ${DBUS_INCLUDE_DIR}, library in ${DBUS_LIBRARY}")
+   set(DBUS_FOUND TRUE)
+else(DBUS_INCLUDE_DIR AND DBUS_LIBRARY AND DBUS_ARCH_INCLUDE_DIR)
+   MESSAGE( STATUS "dbus not found")
+endif(DBUS_INCLUDE_DIR AND DBUS_LIBRARY AND DBUS_ARCH_INCLUDE_DIR)
+
+MARK_AS_ADVANCED(DBUS_INCLUDE_DIR DBUS_LIBRARY DBUS_ARCH_INCLUDE_DIR)
diff -Nur kdebase-workspace-4.0.98/kdm/backend/client.c kdebase-workspace-4.0.98-consolekit-kdm/kdm/backend/client.c
--- kdebase-workspace-4.0.98/kdm/backend/client.c	2008-05-07 11:05:26.000000000 +0200
+++ kdebase-workspace-4.0.98-consolekit-kdm/kdm/backend/client.c	2008-07-14 23:48:35.000000000 +0200
@@ -1180,7 +1180,11 @@
 */
 
 int
+#ifdef HAVE_CKCONNECTOR
+startClient( volatile int *pid, const char *ck_session_cookie )
+#else
 startClient( volatile int *pid )
+#endif
 {
 	const char *home, *sessargs, *desksess;
 	char **env, *xma;
@@ -1269,6 +1273,11 @@
 	if (krbtkfile[0] != '\0')
 		env = setEnv( env, "KRBTKFILE", krbtkfile );
 #endif
+#ifdef HAVE_CKCONNECTOR
+	if (ck_session_cookie != NULL) {
+		env = setEnv ( env, "XDG_SESSION_COOKIE", ck_session_cookie );
+	}
+#endif
 	userEnviron = inheritEnv( env, envvars );
 	env = systemEnv( 0, curuser );
 	systemEnviron = setEnv( env, "HOME", p->pw_dir );
diff -Nur kdebase-workspace-4.0.98/kdm/backend/CMakeLists.txt kdebase-workspace-4.0.98-consolekit-kdm/kdm/backend/CMakeLists.txt
--- kdebase-workspace-4.0.98/kdm/backend/CMakeLists.txt	2008-05-29 13:19:01.000000000 +0200
+++ kdebase-workspace-4.0.98-consolekit-kdm/kdm/backend/CMakeLists.txt	2008-07-15 00:32:29.000000000 +0200
@@ -60,6 +60,10 @@
 	${SOCKET_LIBRARIES}
 	${RESOLV_LIBRARIES}
 )
+if (CKCONNECTOR_FOUND)
+	include_directories(${CKCONNECTOR_INCLUDE_DIR} ${DBUS_INCLUDE_DIR} ${DBUS_ARCH_INCLUDE_DIR})
+	target_link_libraries( kdm ${CKCONNECTOR_LIBRARIES} ${DBUS_LIBRARY} )
+endif (CKCONNECTOR_FOUND)
 if(UTIL_LIBRARIES)
 	target_link_libraries( kdm ${UTIL_LIBRARIES} )
 endif(UTIL_LIBRARIES)
diff -Nur kdebase-workspace-4.0.98/kdm/backend/dm.h kdebase-workspace-4.0.98-consolekit-kdm/kdm/backend/dm.h
--- kdebase-workspace-4.0.98/kdm/backend/dm.h	2008-01-05 00:55:44.000000000 +0100
+++ kdebase-workspace-4.0.98-consolekit-kdm/kdm/backend/dm.h	2008-07-14 23:48:35.000000000 +0200
@@ -504,7 +504,11 @@
 #define GCONV_BINARY  5
 typedef char *(*GConvFunc)( int what, const char *prompt );
 int verify( GConvFunc gconv, int rootok );
+#ifdef HAVE_CKCONNECTOR
+int startClient( volatile int *pid, const char *ck_session_cookie );
+#else
 int startClient( volatile int *pid );
+#endif
 void clientExited( void );
 void sessionExit( int status ) ATTR_NORETURN;
 int readDmrc( void );
diff -Nur kdebase-workspace-4.0.98/kdm/backend/session.c kdebase-workspace-4.0.98-consolekit-kdm/kdm/backend/session.c
--- kdebase-workspace-4.0.98/kdm/backend/session.c	2008-01-05 00:55:44.000000000 +0100
+++ kdebase-workspace-4.0.98-consolekit-kdm/kdm/backend/session.c	2008-07-16 15:26:40.000000000 +0200
@@ -45,6 +45,14 @@
 #include <ctype.h>
 #include <signal.h>
 
+#ifdef HAVE_CKCONNECTOR
+#include <ck-connector.h>
+#include <dbus/dbus.h>
+/* for getpwnam */
+#include <sys/types.h>
+#include <pwd.h>
+#endif
+
 struct display *td;
 const char *td_setup = "auto";
 
@@ -553,6 +561,19 @@
 	volatile time_t tdiff = 0;
 	sigset_t ss;
 
+#ifdef HAVE_CKCONNECTOR
+	DBusError error;
+	CkConnector *connector;
+	char *ck_session_cookie;
+	struct passwd *pwent;
+	char devicebuf[20] = "";
+	char *device = devicebuf;
+	dbus_bool_t is_local;
+#ifdef XDMCP
+	char *remote_host_name = "";
+#endif
+#endif
+
 	td = d;
 	debug( "manageSession %s\n", d->name );
 	if ((ex = Setjmp( abortSession ))) {
@@ -628,7 +649,57 @@
 	if (td_setup)
 		setupDisplay( td_setup );
 
+#ifdef HAVE_CKCONNECTOR
+#ifdef HAVE_VTS
+	if (d->serverVT > 0) {
+		/* FIXME: how does xorg construct this */
+		sprintf(device, "/dev/tty%d", d->serverVT);
+	}	
+#endif
+
+	pwent = getpwnam(curuser);
+	if (pwent == NULL) {
+		debug ("NULL user\n");
+		ck_session_cookie = NULL;
+	} else {
+		connector = ck_connector_new ();
+		if (connector != NULL) {
+			is_local = ((d->displayType & d_location) == dLocal);
+#ifdef XDMCP
+			if (!is_local && d->remoteHost)
+				remote_host_name = d->remoteHost;
+#endif
+
+			dbus_error_init (&error);
+			if ( !(ck_connector_open_session_with_parameters (connector,
+				&error, "unix-user", &(pwent->pw_uid),
+				"x11-display-device", &device,
+				"x11-display", &(d->name),
+				"is-local", &is_local,
+#ifdef XDMCP
+				"remote-host-name", &remote_host_name,
+#endif
+				NULL))) {
+				if (dbus_error_is_set (&error)) {
+					logError( "ConsoleKit open: %s\n", error.message);
+					dbus_error_free (&error);
+				} else {
+					logError("cannot open CK session: OOM, D-Bus system bus not available,\n"
+						"ConsoleKit not available or insufficient privileges.\n");
+				}
+				ck_connector_unref (connector);
+				sessionExit( EX_NORMAL );
+			}
+		} else {
+			debug ("OOM creating CkConnector\n");
+			sessionExit( EX_NORMAL );
+		}
+		ck_session_cookie = ck_connector_get_cookie (connector);
+	}
+	if (!startClient( &clientPid, ck_session_cookie )) {
+#else
 	if (!startClient( &clientPid )) {
+#endif
 		logError( "Client start failed\n" );
 		sessionExit( EX_NORMAL ); /* XXX maybe EX_REMANAGE_DPY? -- enable in dm.c! */
 	}
@@ -650,6 +721,23 @@
 				catchTerm( SIGTERM );
 		}
 	}
+
+/* close consolekit session */
+#ifdef HAVE_CKCONNECTOR
+	if (ck_session_cookie != NULL) {
+		dbus_error_init (&error);
+		if (! ck_connector_close_session (connector, &error)) {
+			if (dbus_error_is_set (&error)) {
+				logError ("ConsoleKit close: %s\n", error.message);
+				 dbus_error_free (&error);
+			} else {
+				logError ("Cannot close CK session: OOM, D-Bus system bus not available,\n"
+				"ConsoleKit not available or insufficient privileges.\n");
+			}
+		}
+		ck_connector_unref (connector);
+	}
+#endif
 	/*
 	 * Sometimes the Xsession somehow manages to exit before
 	 * a server crash is noticed - so we sleep a bit and wait
diff -Nur kdebase-workspace-4.0.98/kdm/backend/xdmcp.c kdebase-workspace-4.0.98-consolekit-kdm/kdm/backend/xdmcp.c
--- kdebase-workspace-4.0.98/kdm/backend/xdmcp.c	2008-01-05 00:55:44.000000000 +0100
+++ kdebase-workspace-4.0.98-consolekit-kdm/kdm/backend/xdmcp.c	2008-07-14 23:48:35.000000000 +0200
@@ -1016,6 +1016,8 @@
 			d->clientAddr = clientAddress;
 			d->clientPort = clientPort;
 			d->connectionType = connectionType;
+			d->remoteHost = networkAddressToHostname (pdpy->connectionType,
+				&pdpy->connectionAddress);
 			if (pdpy->fileAuthorization) {
 				d->authorizations = (Xauth **)Malloc( sizeof(Xauth *) );
 				if (!d->authorizations) {
diff -Nur kdebase-workspace-4.0.98/kdm/CMakeLists.txt kdebase-workspace-4.0.98-consolekit-kdm/kdm/CMakeLists.txt
--- kdebase-workspace-4.0.98/kdm/CMakeLists.txt	2008-02-07 14:19:51.000000000 +0100
+++ kdebase-workspace-4.0.98-consolekit-kdm/kdm/CMakeLists.txt	2008-07-15 00:28:16.000000000 +0200
@@ -4,6 +4,17 @@
 install_pam_service(KDM)
 
 include(ConfigureChecks.cmake)
+
+macro_optional_find_package(CkConnector)
+if(CKCONNECTOR_FOUND)
+  # when building with libck-connector, we also need the low-level D-Bus API
+  find_package(DBus REQUIRED)
+endif(CKCONNECTOR_FOUND)
+
+macro_log_feature(CKCONNECTOR_FOUND "ck-connector" "The ConsoleKit connector library" "http://freedesktop.org/wiki/Software/ConsoleKit" FALSE "" "Provides ConsoleKit integration in KDM")
+
+macro_bool_to_01(CKCONNECTOR_FOUND HAVE_CKCONNECTOR)
+
 configure_file(config-kdm.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kdm.h)
 
 install( FILES README DESTINATION ${DATA_INSTALL_DIR}/doc/kdm )
diff -Nur kdebase-workspace-4.0.98/kdm/config-kdm.h.cmake kdebase-workspace-4.0.98-consolekit-kdm/kdm/config-kdm.h.cmake
--- kdebase-workspace-4.0.98/kdm/config-kdm.h.cmake	2008-01-05 00:55:45.000000000 +0100
+++ kdebase-workspace-4.0.98-consolekit-kdm/kdm/config-kdm.h.cmake	2008-07-14 23:48:35.000000000 +0200
@@ -123,6 +123,9 @@
 /* Define to 1 if you have the <termios.h> header file. */
 #cmakedefine HAVE_TERMIOS_H 1
 
+/* Define to 1 if the ck-connector library is found */
+#cmakedefine HAVE_CKCONNECTOR 1
+
 /* $PATH defaults set by KDM */
 #cmakedefine KDM_DEF_USER_PATH "${KDM_DEF_USER_PATH}"
 #cmakedefine KDM_DEF_SYSTEM_PATH "${KDM_DEF_SYSTEM_PATH}"

kdebase-workspace-4.0.98-kickoff-suspend.patch:

--- NEW FILE kdebase-workspace-4.0.98-kickoff-suspend.patch ---
diff -up kdebase-workspace-4.0.5/plasma/applets/kickoff/CMakeLists.txt.kickoff-suspend kdebase-workspace-4.0.5/plasma/applets/kickoff/CMakeLists.txt
--- kdebase-workspace-4.0.5/plasma/applets/kickoff/CMakeLists.txt.kickoff-suspend	2008-03-27 21:34:51.000000000 +0100
+++ kdebase-workspace-4.0.5/plasma/applets/kickoff/CMakeLists.txt	2008-06-01 13:53:49.000000000 +0200
@@ -55,13 +55,13 @@ ENDIF (CMAKE_BUILD_TYPE MATCHES Debug)
 # Kickoff Plasma Applet
 set ( Applet_SRCS ${Kickoff_SRCS} applet/applet.cpp )
 kde4_add_plugin(plasma_applet_launcher ${Applet_SRCS})
-target_link_libraries(plasma_applet_launcher plasma ${Kickoff_LIBS}) 
+target_link_libraries(plasma_applet_launcher plasma solidcontrol ${Kickoff_LIBS}) 
 install(TARGETS plasma_applet_launcher DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES applet/plasma-applet-launcher.desktop DESTINATION ${SERVICES_INSTALL_DIR})
 
 # Simple KMenu Plasma Applet
 set ( SimpleApplet_SRCS ${Kickoff_SRCS} simpleapplet/menuview.cpp simpleapplet/simpleapplet.cpp )
 kde4_add_plugin(plasma_applet_simplelauncher ${SimpleApplet_SRCS})
-target_link_libraries(plasma_applet_simplelauncher plasma ${Kickoff_LIBS}) 
+target_link_libraries(plasma_applet_simplelauncher plasma solidcontrol ${Kickoff_LIBS}) 
 install(TARGETS plasma_applet_simplelauncher DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES simpleapplet/plasma-applet-simplelauncher.desktop DESTINATION ${SERVICES_INSTALL_DIR})
diff -up kdebase-workspace-4.0.5/plasma/applets/kickoff/core/itemhandlers.cpp.kickoff-suspend kdebase-workspace-4.0.5/plasma/applets/kickoff/core/itemhandlers.cpp
--- kdebase-workspace-4.0.5/plasma/applets/kickoff/core/itemhandlers.cpp.kickoff-suspend	2008-03-27 21:34:51.000000000 +0100
+++ kdebase-workspace-4.0.5/plasma/applets/kickoff/core/itemhandlers.cpp	2008-06-01 13:53:49.000000000 +0200
@@ -29,6 +29,8 @@
 #include <KService>
 #include <KToolInvocation>
 #include <solid/powermanagement.h>
+#include <solid/control/powermanager.h>
+#include <kjob.h>
 
 // KDE Base
 #include <kworkspace/kworkspace.h>
@@ -83,6 +85,18 @@ bool LeaveItemHandler::openUrl(const QUr
         // decouple dbus call, otherwise we'll run into a dead-lock
         QTimer::singleShot(0, this, SLOT(logout()));
         return true;
+    } else if (m_logoutAction == "standby") {
+        // decouple dbus call, otherwise we'll run into a dead-lock
+        QTimer::singleShot(0, this, SLOT(standby()));
+        return true;
+    } else if (m_logoutAction == "suspendram") {
+        // decouple dbus call, otherwise we'll run into a dead-lock
+        QTimer::singleShot(0, this, SLOT(suspendRAM()));
+        return true;
+    } else if (m_logoutAction == "suspenddisk") {
+        // decouple dbus call, otherwise we'll run into a dead-lock
+        QTimer::singleShot(0, this, SLOT(suspendDisk()));
+        return true;
     }
 
     return false;
@@ -128,3 +142,27 @@ void LeaveItemHandler::switchUser()
         krunner.switchUser();
     }
 }
+
+void LeaveItemHandler::standby()
+{
+    Solid::Control::PowerManager::SuspendMethod spdMethod = Solid::Control::PowerManager::Standby;
+    KJob *job = Solid::Control::PowerManager::suspend( spdMethod );
+    if (job != 0)
+       job->start();
+}
+
+void LeaveItemHandler::suspendRAM()
+{
+    Solid::Control::PowerManager::SuspendMethod spdMethod = Solid::Control::PowerManager::ToRam;
+    KJob *job = Solid::Control::PowerManager::suspend( spdMethod );
+    if (job != 0)
+       job->start();
+}
+
+void LeaveItemHandler::suspendDisk()
+{
+    Solid::Control::PowerManager::SuspendMethod spdMethod = Solid::Control::PowerManager::ToDisk;
+    KJob *job = Solid::Control::PowerManager::suspend( spdMethod );
+    if (job != 0)
+       job->start();
+}
diff -up kdebase-workspace-4.0.5/plasma/applets/kickoff/core/itemhandlers.h.kickoff-suspend kdebase-workspace-4.0.5/plasma/applets/kickoff/core/itemhandlers.h
--- kdebase-workspace-4.0.5/plasma/applets/kickoff/core/itemhandlers.h.kickoff-suspend	2008-03-27 21:34:51.000000000 +0100
+++ kdebase-workspace-4.0.5/plasma/applets/kickoff/core/itemhandlers.h	2008-06-01 13:53:49.000000000 +0200
@@ -42,6 +42,9 @@ private Q_SLOTS:
     void logout();
     void lock();
     void switchUser();
+    void standby();
+    void suspendRAM();
+    void suspendDisk();
 
 private:
     QString m_logoutAction;
diff -up kdebase-workspace-4.0.5/plasma/applets/kickoff/core/leavemodel.cpp.kickoff-suspend kdebase-workspace-4.0.5/plasma/applets/kickoff/core/leavemodel.cpp
--- kdebase-workspace-4.0.5/plasma/applets/kickoff/core/leavemodel.cpp.kickoff-suspend	2008-03-27 21:34:51.000000000 +0100
+++ kdebase-workspace-4.0.5/plasma/applets/kickoff/core/leavemodel.cpp	2008-06-01 22:28:23.000000000 +0200
@@ -27,6 +27,7 @@
 #include <KLocalizedString>
 #include <KIcon>
 #include <solid/powermanagement.h>
+#include <solid/control/powermanager.h>
 
 // Local
 #include "core/models.h"
@@ -39,6 +40,7 @@ class LeaveModel::Private
 
 QStandardItem* LeaveModel::createStandardItem(const QString& url)
 {
+    KGlobal::locale()->insertCatalog("ksmserver");
     //Q_ASSERT(KUrl(url).scheme() == "leave");
     QStandardItem *item = new QStandardItem();
     const QString basename = QFileInfo(url).baseName();
@@ -77,6 +79,21 @@ QStandardItem* LeaveModel::createStandar
         item->setIcon(KIcon("system-restart"));
         item->setData(i18n("Restart the computer"),Kickoff::SubTitleRole);
     }
+    else if (basename == "standby") {
+        item->setText(i18n("Standby"));
+        item->setIcon(KIcon("system-suspend"));
+        item->setData(i18n("Pause without logging out"),Kickoff::SubTitleRole);
+    }
+    else if (basename == "suspenddisk") {
+        item->setText(i18n("Suspend to Disk"));
+        item->setIcon(KIcon("system-suspend-hibernate"));
+        item->setData(i18n("Pause without logging out"),Kickoff::SubTitleRole);
+    }
+    else if (basename == "suspendram") {
+        item->setText(i18n("Suspend to RAM"));
+        item->setIcon(KIcon("system-suspend-hibernate"));
+        item->setData(i18n("Pause without logging out"),Kickoff::SubTitleRole);
+    }
     else {
         item->setText(basename);
         item->setData(url,Kickoff::SubTitleRole);
@@ -122,6 +139,22 @@ LeaveModel::LeaveModel(QObject *parent)
             systemOptions->appendRow(hibernateOption);
         }
 
+        Solid::Control::PowerManager::SuspendMethods spdMethods = Solid::Control::PowerManager::supportedSuspendMethods();
+        if( spdMethods & Solid::Control::PowerManager::Standby ) {
+            QStandardItem *standbyOption = createStandardItem("leave:/standby");
+            systemOptions->appendRow(standbyOption);
+        }
+
+        if( spdMethods & Solid::Control::PowerManager::ToRam ) {
+            QStandardItem *suspendramOption = createStandardItem("leave:/suspendram");
+            systemOptions->appendRow(suspendramOption);
+        }
+
+        if( spdMethods & Solid::Control::PowerManager::ToDisk ) {
+            QStandardItem *suspenddiskOption = createStandardItem("leave:/suspenddisk");
+            systemOptions->appendRow(suspenddiskOption);
+        }
+
         // Shutdown
         QStandardItem *shutDownOption = createStandardItem("leave:/shutdown");
         systemOptions->appendRow(shutDownOption);

kdebase-workspace-4.0.99-plasma-tooltips.patch:

--- NEW FILE kdebase-workspace-4.0.99-plasma-tooltips.patch ---
diff -Nur kdebase-workspace-4.0.99/libs/plasma/applet.cpp kdebase-workspace-4.0.99-plasma-tooltips/libs/plasma/applet.cpp
--- kdebase-workspace-4.0.99/libs/plasma/applet.cpp	2008-07-17 23:32:49.000000000 +0200
+++ kdebase-workspace-4.0.99-plasma-tooltips/libs/plasma/applet.cpp	2008-07-19 17:34:22.000000000 +0200
@@ -27,7 +27,6 @@
 
 #include <QAction>
 #include <QApplication>
-#include <QDesktopWidget>
 #include <QEvent>
 #include <QFile>
 #include <QGraphicsGridLayout>
@@ -76,6 +75,7 @@
 #include "plasma/view.h"
 #include "plasma/widgets/label.h"
 #include "plasma/widgets/pushbutton.h"
+#include "plasma/tooltipmanager.h"
 
 //#define DYNAMIC_SHADOWS
 namespace Plasma
@@ -411,13 +411,16 @@
         return 0;
     }
 
+    QGraphicsView *found = 0;
     foreach (QGraphicsView *view, scene()->views()) {
         if (view->sceneRect().intersects(sceneBoundingRect()) ||
             view->sceneRect().contains(scenePos())) {
-            return view;
+            if (!found || view->isActiveWindow()) {
+                found = view;
+            }
         }
     }
-    return 0;
+    return found;
 }
 
 QRectF Applet::mapFromView(const QGraphicsView *view, const QRect &rect) const
@@ -434,55 +437,7 @@
 
 QPoint Applet::popupPosition(const QSize &s) const
 {
-    QGraphicsView *v = view();
-    Q_ASSERT(v);
-
-    QPoint pos = v->mapFromScene(scenePos());
-    pos = v->mapToGlobal(pos);
-    //kDebug() << "==> position is" << scenePos() << v->mapFromScene(scenePos()) << pos;
-    Plasma::View *pv = dynamic_cast<Plasma::View *>(v);
-
-    Plasma::Location loc = Floating;
-    if (pv) {
-        loc = pv->containment()->location();
-    }
-
-    switch (loc) {
-    case BottomEdge:
-        pos = QPoint(pos.x(), pos.y() - s.height());
-        break;
-    case TopEdge:
-        pos = QPoint(pos.x(), pos.y() + (int)size().height());
-        break;
-    case LeftEdge:
-        pos = QPoint(pos.x() + (int)size().width(), pos.y());
-        break;
-    case RightEdge:
-        pos = QPoint(pos.x() - s.width(), pos.y());
-        break;
-    default:
-        if (pos.y() - s.height() > 0) {
-             pos = QPoint(pos.x(), pos.y() - s.height());
-        } else {
-             pos = QPoint(pos.x(), pos.y() + (int)size().height());
-        }
-    }
-
-    //are we out of screen?
-
-    QRect screenRect = QApplication::desktop()->screenGeometry(pv ? pv->containment()->screen() : -1);
-    //kDebug() << "==> rect for" << (pv ? pv->containment()->screen() : -1) << "is" << screenRect;
-
-    if (pos.rx() + s.width() > screenRect.right()) {
-        pos.rx() -= ((pos.rx() + s.width()) - screenRect.right());
-    }
-
-    if (pos.ry() + s.height() > screenRect.bottom()) {
-        pos.ry() -= ((pos.ry() + s.height()) - screenRect.bottom());
-    }
-    pos.rx() = qMax(0, pos.rx());
-
-    return pos;
+    return Plasma::popupPosition(this, s);
 }
 
 void Applet::updateConstraints(Plasma::Constraints constraints)
diff -Nur kdebase-workspace-4.0.99/libs/plasma/CMakeLists.txt kdebase-workspace-4.0.99-plasma-tooltips/libs/plasma/CMakeLists.txt
--- kdebase-workspace-4.0.99/libs/plasma/CMakeLists.txt	2008-07-17 23:32:49.000000000 +0200
+++ kdebase-workspace-4.0.99-plasma-tooltips/libs/plasma/CMakeLists.txt	2008-07-19 17:33:19.000000000 +0200
@@ -58,6 +58,8 @@
     svg.cpp
     theme.cpp
     toolbox.cpp
+    tooltipmanager.cpp
+    tooltip.cpp
     uiloader.cpp
     version.cpp
     view.cpp
@@ -140,7 +142,9 @@
     servicejob.h
     svg.h
     theme.h
+    tooltipmanager.h
     uiloader.h
+    tooltipmanager.h
     version.h
     view.h)
 
@@ -225,6 +229,7 @@
 includes/SignalPlotter
 includes/Svg
 includes/TextEdit
+includes/ToolTipManager
 includes/Theme
 includes/UiLoader
 includes/View
diff -Nur kdebase-workspace-4.0.99/libs/plasma/containment.cpp kdebase-workspace-4.0.99-plasma-tooltips/libs/plasma/containment.cpp
--- kdebase-workspace-4.0.99/libs/plasma/containment.cpp	2008-07-17 23:32:49.000000000 +0200
+++ kdebase-workspace-4.0.99-plasma-tooltips/libs/plasma/containment.cpp	2008-07-19 17:34:22.000000000 +0200
@@ -1280,6 +1280,9 @@
     // point anymore since we are in the qobject dtor. we don't actually
     // try and do anything with it, we just need the value of the pointer
     // so this unsafe looking code is actually just fine.
+    //
+    // NOTE: DO NOT USE THE applet VARIABLE FOR ANYTHING OTHER THAN COMPARING
+    //       THE ADDRESS! ACTUALLY USING THE OBJECT WILL RESULT IN A CRASH!!!
     Applet* applet = static_cast<Plasma::Applet*>(object);
     applets.removeAll(applet);
     if (focusedApplet == applet) {
diff -Nur kdebase-workspace-4.0.99/libs/plasma/includes/ToolTipManager kdebase-workspace-4.0.99-plasma-tooltips/libs/plasma/includes/ToolTipManager
--- kdebase-workspace-4.0.99/libs/plasma/includes/ToolTipManager	1970-01-01 01:00:00.000000000 +0100
+++ kdebase-workspace-4.0.99-plasma-tooltips/libs/plasma/includes/ToolTipManager	2008-07-19 17:33:19.000000000 +0200
@@ -0,0 +1 @@
+#include "../../plasma/tooltipmanager.h"
diff -Nur kdebase-workspace-4.0.99/libs/plasma/plasma.cpp kdebase-workspace-4.0.99-plasma-tooltips/libs/plasma/plasma.cpp
--- kdebase-workspace-4.0.99/libs/plasma/plasma.cpp	2008-07-08 11:26:23.000000000 +0200
+++ kdebase-workspace-4.0.99-plasma-tooltips/libs/plasma/plasma.cpp	2008-07-19 17:34:22.000000000 +0200
@@ -17,7 +17,14 @@
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 
-#include <plasma.h>
+#include <plasma/plasma.h>
+
+#include <QDesktopWidget>
+#include <QGraphicsScene>
+#include <QGraphicsView>
+
+#include <plasma/containment.h>
+#include <plasma/view.h>
 
 namespace Plasma
 {
@@ -62,4 +69,78 @@
     return Down;
 }
 
+QPoint popupPosition(const QGraphicsItem * item, const QSize &s)
+{
+    QGraphicsView *v = viewFor(item);
+
+    if (!v) {
+        return QPoint(0,0);
+    }
+
+    QPoint pos = v->mapFromScene(item->scenePos());
+    pos = v->mapToGlobal(pos);
+    //kDebug() << "==> position is" << scenePos() << v->mapFromScene(scenePos()) << pos;
+    Plasma::View *pv = dynamic_cast<Plasma::View *>(v);
+
+    Plasma::Location loc = Floating;
+    if (pv) {
+        loc = pv->containment()->location();
+    }
+
+    switch (loc) {
+    case BottomEdge:
+        pos = QPoint(pos.x(), pos.y() - s.height());
+        break;
+    case TopEdge:
+        pos = QPoint(pos.x(), pos.y() + (int)item->boundingRect().size().height());
+        break;
+    case LeftEdge:
+        pos = QPoint(pos.x() + (int)item->boundingRect().size().width(), pos.y());
+        break;
+    case RightEdge:
+        pos = QPoint(pos.x() - s.width(), pos.y());
+        break;
+    default:
+        if (pos.y() - s.height() > 0) {
[...1822 lines suppressed...]
             m_icon->setDrawBackground(false);
         }
     }
diff -Nur kdebase-workspace-4.0.99/plasma/applets/tasks/windowtaskitem.cpp kdebase-workspace-4.0.99-plasma-tooltips/plasma/applets/tasks/windowtaskitem.cpp
--- kdebase-workspace-4.0.99/plasma/applets/tasks/windowtaskitem.cpp	2008-07-15 21:48:49.000000000 +0200
+++ kdebase-workspace-4.0.99-plasma-tooltips/plasma/applets/tasks/windowtaskitem.cpp	2008-07-19 17:34:22.000000000 +0200
@@ -41,6 +41,7 @@
 #include "plasma/theme.h"
 #include "plasma/paintutils.h"
 #include "plasma/panelsvg.h"
+#include "plasma/tooltipmanager.h"
 
 #include "tasks.h"
 
@@ -61,12 +62,18 @@
     setAcceptsHoverEvents(true);
     setAcceptDrops(true);
 
+    Plasma::ToolTipManager::self()->registerWidget(this);
+
     QFontMetrics fm(KGlobalSettings::taskbarFont());
     QSize mSize = fm.size(0, "M");
     setPreferredSize(QSize(mSize.width()*15 + m_applet->itemLeftMargin() + m_applet->itemRightMargin() + IconSize(KIconLoader::Panel),
                            mSize.height()*3 + m_applet->itemTopMargin() + m_applet->itemBottomMargin()));
 }
 
+WindowTaskItem::~WindowTaskItem()
+{
+}
+
 void WindowTaskItem::activate()
 {
     // the Task class has a method called activateRaiseOrIconify() which
@@ -552,19 +559,18 @@
     taskIcon.addPixmap(m_task->icon(KIconLoader::SizeMedium, KIconLoader::SizeMedium, false));
     taskIcon.addPixmap(m_task->icon(KIconLoader::SizeLarge, KIconLoader::SizeLarge, false));
 
-#ifdef TOOLTIP_MANAGER
     if (m_showTooltip) {
-      Plasma::ToolTipData data;
+      Plasma::ToolTipManager::ToolTipContent data;
       data.mainText = m_task->visibleName();
       data.subText = i18nc("Which virtual desktop a window is currently on", "On %1", KWindowSystem::desktopName(m_task->desktop()));
-      data.image = iconPixmap;
+      data.image = m_task->icon(KIconLoader::SizeSmall, KIconLoader::SizeSmall, false);
       data.windowToPreview = m_task->window();
-      setToolTip(data);
-    } else {
-        Plasma::ToolTipData data;
-        setToolTip(data); // Clear
+
+      Plasma::ToolTipManager::self()->setToolTipContent(this,data);
+    }
+    else {
+      Plasma::ToolTipManager::self()->unregisterWidget(this);
     }
-#endif
     setIcon(taskIcon);
     setText(m_task->visibleName());
     //redraw
@@ -722,4 +728,5 @@
                                      size, bounds.toRect());
 }
 
+
 #include "windowtaskitem.moc"
diff -Nur kdebase-workspace-4.0.99/plasma/applets/tasks/windowtaskitem.h kdebase-workspace-4.0.99-plasma-tooltips/plasma/applets/tasks/windowtaskitem.h
--- kdebase-workspace-4.0.99/plasma/applets/tasks/windowtaskitem.h	2008-06-18 14:41:39.000000000 +0200
+++ kdebase-workspace-4.0.99-plasma-tooltips/plasma/applets/tasks/windowtaskitem.h	2008-07-19 17:34:22.000000000 +0200
@@ -57,6 +57,9 @@
     /** Constructs a new representation for a window task. */
     WindowTaskItem(Tasks *parent, const bool showTooltip);
 
+    /**Destruct the representation of the window task */
+    ~WindowTaskItem();
+
     /** Sets the starting task represented by this item. */
     void setStartupTask(TaskManager::StartupPtr task);
 
diff -Nur kdebase-workspace-4.0.99/plasma/applets/trash/trash.cpp kdebase-workspace-4.0.99-plasma-tooltips/plasma/applets/trash/trash.cpp
--- kdebase-workspace-4.0.99/plasma/applets/trash/trash.cpp	2008-07-15 21:48:49.000000000 +0200
+++ kdebase-workspace-4.0.99-plasma-tooltips/plasma/applets/trash/trash.cpp	2008-07-19 17:35:30.000000000 +0200
@@ -45,6 +45,7 @@
 //Plasma
 #include <plasma/widgets/icon.h>
 #include <plasma/containment.h>
+#include <plasma/tooltipmanager.h>
 
 //Solid
 #include <solid/devicenotifier.h>
@@ -100,10 +101,6 @@
 
     registerAsDragHandle(m_icon);
 
-    //setMinimumSize(m_icon->sizeFromIconSize(IconSize(KIconLoader::Small)));
-    //FIXME PORT TO TOOLTIP MANAGER
-    //m_data.mainText = i18n("Trash");
-
     connect(m_icon, SIGNAL(activated()), this, SLOT(slotOpen()));
     connect(&m_menu, SIGNAL(aboutToHide()),
             m_icon, SLOT(setUnpressed()));
@@ -201,17 +198,20 @@
 
 void Trash::setIcon()
 {
+    Plasma::ToolTipManager::ToolTipContent data;
+    data.mainText = i18n("Trash");
+
     if (m_count > 0) {
         m_icon->setIcon(KIcon("user-trash-full"));
-	//FIXME PORT TO TOOLTIP MANAGER
-        //m_data.subText = i18np("One item", "%1 items", m_count);
+
+        data.subText = i18np("One item", "%1 items", m_count);
         if (m_showText) {
             m_icon->setInfoText(i18np("One item", "%1 items", m_count));
         }
     } else {
         m_icon->setIcon(KIcon("user-trash"));
-        //FIXME PORT TO TOOLTIP MANAGER
-	//m_data.subText = i18nc("The trash is empty. This is not an action, but a state", "Empty");
+
+        data.subText = i18nc("The trash is empty. This is not an action, but a state", "Empty");
         if (m_showText){
             m_icon->setInfoText(i18nc("The trash is empty. This is not an action, but a state", "Empty"));
         }
@@ -219,14 +219,13 @@
 
     m_icon->update();
     
-    //FIXME TOOLTIP MANAGER
-    /*m_data.image = m_icon->icon().pixmap(IconSize(KIconLoader::Desktop));
+    data.image = m_icon->icon().pixmap(IconSize(KIconLoader::Desktop));
 
     if (!m_showText) {
-        m_icon->setToolTip(m_data);
+        Plasma::ToolTipManager::self()->setToolTipContent(this, data);
     } else {
-        m_icon->setToolTip(Plasma::ToolTipData());
-    }*/
+        Plasma::ToolTipManager::self()->setToolTipContent(this, Plasma::ToolTipManager::ToolTipContent());
+    }
 
     emptyTrash->setEnabled(m_count>0);
 }
diff -Nur kdebase-workspace-4.0.99/plasma/applets/trash/trash.h kdebase-workspace-4.0.99-plasma-tooltips/plasma/applets/trash/trash.h
--- kdebase-workspace-4.0.99/plasma/applets/trash/trash.h	2008-04-30 15:58:26.000000000 +0200
+++ kdebase-workspace-4.0.99-plasma-tooltips/plasma/applets/trash/trash.h	2008-07-19 17:35:30.000000000 +0200
@@ -75,8 +75,6 @@
         QAction *emptyTrash;
         int m_count;
         bool m_showText;
-        //FIXME PORT TO TOOLTIP MANAGER
-	//Plasma::ToolTipData m_data;
         KFilePlacesModel *m_places;
 };
 
diff -Nur kdebase-workspace-4.0.99/plasma/design/tooltips kdebase-workspace-4.0.99-plasma-tooltips/plasma/design/tooltips
--- kdebase-workspace-4.0.99/plasma/design/tooltips	1970-01-01 01:00:00.000000000 +0100
+++ kdebase-workspace-4.0.99-plasma-tooltips/plasma/design/tooltips	2008-07-19 17:34:22.000000000 +0200
@@ -0,0 +1,39 @@
+Tooltips
+==========
+
+Overview
+--------
+libplasma provides facilities to manage tooltips that display extended information in a visually pleasing and consistent manner for QGraphicsWidgets. These tooltip windows are themed using Plasma::Theme.
+
+Timeline
+--------
+Introduced in: libplasma 2.1 (KDE 4.2.0)
+
+Component Type
+--------------
+ToolTipManager is a QObject subclass in libplasma.
+ToolTip is an internal QWidget subclass in libplasma.
+
+Registering Tooltips
+--------------------
+ToolTipManger is quite simple to use: simply call setWidgetToolTipContent using the struct ToolTipContent. This causes the widget to be registered if it isn't already. Alternatively, for widgets that fill the data on demand, call registerWidget directly.
+
+Widgets are unregistered automatically upon destruction, but can also be manually unregsitered by calling ToolTipMnager::unregisterWidget.
+
+An event filter is registered on each registered widget and hover events that occur trigger calls to showToolTip and hideToolTip. The hover events are not, however, filtered out. 
+
+Note: If another event filter is placed on registered widget that filters out these events, it may be necessary to manually call showToolTip and hideToolTip.
+
+ToolTip Updates
+---------------
+Updating tooltip data is supported by means of invoking slots on the associated widget if they exist. In particular, just prior to being shown the toolTipAboutToShow method is invoked and when hiding the toolTipHidden method is invoked.
+
+ToolTip Visualization
+---------------------
+The internal (non-exported) ToolTip class is used to actually display the tooltips. These are associated with widgets and created as necessary.
+
+ToolTip displays are only created when data is set, and are deleted if an empty ToolTipData struct is passed in. This keeps memory usage due to ToolTip objects down.
+
+Future Work
+-----------
+N/A


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/kdebase-workspace/F-9/.cvsignore,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- .cvsignore	1 Jun 2008 19:18:06 -0000	1.10
+++ .cvsignore	19 Jul 2008 18:15:11 -0000	1.11
@@ -1,2 +1 @@
-kdebase-workspace-4.0.4.tar.bz2
-kdebase-workspace-4.0.5.tar.bz2
+kdebase-workspace-4.0.99.tar.bz2


Index: kdebase-workspace.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kdebase-workspace/F-9/kdebase-workspace.spec,v
retrieving revision 1.91
retrieving revision 1.92
diff -u -r1.91 -r1.92
--- kdebase-workspace.spec	8 Jul 2008 22:12:16 -0000	1.91
+++ kdebase-workspace.spec	19 Jul 2008 18:15:11 -0000	1.92
@@ -1,74 +1,43 @@
-
-# FIXME, currently incompat with nm >= 0.7
-%define _without_nm -DWITH_NetworkManager=off
+%define _default_patch_fuzz 2
 
 Summary: K Desktop Environment - Workspace
 Name: kdebase-workspace
-Version: 4.0.5
+Version: 4.0.99
 
-Release: 4%{?dist}
-Source0: ftp://ftp.kde.org/pub/kde/stable/%{version}/src/kdebase-workspace-%{version}.tar.bz2
+Release: 2%{?dist}
+Source0: ftp://ftp.kde.org/pub/kde/unstable/%{version}/src/kdebase-workspace-%{version}.tar.bz2
 License: GPLv2
 Group: User Interface/Desktops
 URL: http://www.kde.org/
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 Patch1: kdebase-workspace-4.0.3-redhat-startkde.patch
-Patch2: kdebase-workspace-4.0.0-consolekit-kdm.patch
-Patch3: kdebase-workspace-4.0.2-plasma-konsole.patch
-Patch4: kdebase-workspace-4.0.2-onlyshowkde.patch
-Patch5: kdebase-workspace-4.0.3-ck-shutdown.patch
+Patch2: kdebase-workspace-4.0.98-consolekit-kdm.patch
+Patch3: kdebase-workspace-4.0.72-plasma-konsole.patch
+Patch4: kdebase-workspace-4.0.72-show-systemsettings.patch
+Patch5: kdebase-workspace-4.0.72-ck-shutdown.patch
 # 434824: KDE4 System Settings - No Method To Enter Administrative Mode
-Patch6: kdebase-workspace-4.0.3-rootprivs.patch
+Patch6: kdebase-workspace-4.0.72-rootprivs.patch
 Patch7: kdebase-workspace-4.0.3-timedate-kcm.patch
 # 441062: packagekit tools do not show icons correctly on KDE
 Patch8: kdebase-workspace-4.0.3-krdb.patch
-Patch10: kdebase-workspace-4.0.4-klipper-url.patch
-# kdebug:163146: Kwin on maximize doesn't respect the panel size with 2 monitors 
-Patch11: kdebase-workspace-4.0.5-plasma-xinerama.patch
-# fix disappearing windows with KWin compositing on
-Patch12: kdebase-workspace-4.0.5-kwin-compositing.patch
-# kdebug:161342 make per-window shortcut not crash and make it work
-Patch13: kdebase-workspace-4.0.5-kwin-shortcuts.patch
-# http://websvn.kde.org/?view=rev&revision=822345
-# fix screensaver idle detection
-Patch14: kdebase-workspace-4.0.5-screensaver-xautolock.patch
-# http://websvn.kde.org/?view=rev&revision=828061
-# kdebug:161436 other desktops' windows not drawn with effects like desktop grid and present windows
-Patch15: kdebase-workspace-4.0.5-kwin-stacking.patch
+Patch10: kdebase-workspace-4.0.72-klipper-url.patch
+# allows to define a default wallpaper via plasmarc:wallpaper
+Patch11: kdebase-workspace-4.0.85-plasma-default-wallpaper.patch
 
 # upstream patches:
-# http://bugs.kde.org/155362 (show Name in addition to GenericName in simple menu)
-# backported from trunk (KDE 4.1): http://websvn.kde.org/?view=rev&revision=762886
-# This has been merged into 4.0.3 in http://websvn.kde.org/?view=rev&revision=790059
-# and the config parts reverted in http://websvn.kde.org/?view=rev&revision=790454
-# due to new strings. This patch reverts rev 790454 and restores the full backport.
-Patch100: kdebase-workspace-4.0.3-kde#155362.patch
-# backport of http://websvn.kde.org/?view=rev&revision=780495 from 4.1
-# (fixed version of http://websvn.kde.org/?view=rev&revision=790063
-# which was reverted in http://websvn.kde.org/?view=rev&revision=790104)
-Patch101: kdebase-workspace-4.0.3-menu-switch.patch
+# backport Plasma tooltip manager from KDE 4.2 (fixes regression from 4.0)
+# This is a cumulative patch from the following revision pairs: 833271:833299,
+# 833385:833386, 833479:833545, 833580:833581, 833587:833620, 834651:834652
+# This is backwards BC wrt 4.1, but the API of the new classes is not finalized.
+Patch100: kdebase-workspace-4.0.99-plasma-tooltips.patch
 
 # plasma-4.0-openSUSE patches:
-# http://websvn.kde.org/?view=rev&revision=795438
-# allows to define a default wallpaper via plasmarc:wallpaper
-Patch200: kdebase-workspace-4.0.3-plasma-default-wallpaper.patch
-# http://websvn.kde.org/?view=rev&revision=791852
-# from Plasma review board: http://mattr.info/r/261/
-# allows moving plasmoids on panels (#439587, kde#158301)
-Patch201: kdebase-workspace-4.0.3-kde#158301.patch
-# http://websvn.kde.org/?view=rev&revision=794496
-# don't show "Zoom Out" toolbox action (not working in 4.0)
-Patch202: kdebase-workspace-4.0.3-rh#443610.patch
-# #444141: Initial wallpaper chooser has "EOS" preselected but wallpaper is "Fedora Waves"
-# http://websvn.kde.org/?view=rev&revision=801651
-Patch203: kdebase-workspace-4.0.3-plasma-default-wallpaper-config.patch
-# suspend in kickoff
-Patch204: kdebase-workspace-4.0.5-kickoff-suspend.patch
+Patch204: kdebase-workspace-4.0.98-kickoff-suspend.patch
+# FIXME: "inconsistent naming System Monitor vs KSysGuard" http://bugs.kde.org/162151
 
-# upgrade path for former kde-redhat'ers
-Obsoletes: kdebase-kdm < 6:%{version}-%{release}
 Provides: kdebase-kdm = 6:%{version}-%{release}
+Provides: kdm = %{version}-%{release}
 
 # upgrade path: kdebase(3) -> kdebase-workspace
 Obsoletes: kdebase < 6:4
@@ -80,15 +49,16 @@
 
 BuildRequires: bluez-libs-devel
 BuildRequires: cmake
-BuildRequires: dbus-devel
+BuildRequires: ConsoleKit-devel
 BuildRequires: glib2-devel
 BuildRequires: kde-filesystem >= 4
 BuildRequires: kdelibs4-devel >= %{version}
+BuildRequires: libcaptury-devel
 BuildRequires: libraw1394-devel
 BuildRequires: libxklavier-devel
 BuildRequires: libXres-devel
 BuildRequires: lm_sensors-devel
-%{!?_without_nm:BuildRequires: NetworkManager-devel}
+BuildRequires: NetworkManager-devel
 BuildRequires: pam-devel
 BuildRequires: qimageblitz-devel
 
@@ -161,38 +131,30 @@
 
 # RH/Fedora-specific startkde changes
 %patch1 -p1 -b .redhat-startkde
-# ConsoleKit support for KDM (#228111, kde#147790)
+# ConsoleKit support for KDM (#228111, #430388, kde#147790)
 %patch2 -p1 -b .consolekit
 %patch3 -p1 -b .plasma-konsole
-%patch4 -p1 -b .onlyshowkde
+%patch4 -p1 -b .show-systemsettings
 # ConsoleKit >= 0.2.4 shutdown/reboot support (needed for GDM 2.22)
 %patch5 -p1 -b .ck-shutdown
-%patch6 -p0 -b .rootprivs
+%patch6 -p1 -b .rootprivs
 %patch7 -p0 -b .timedate-kcm
 %patch8 -p0 -b .krdb
 %patch10 -p1 -b .klipper-url
-%patch11 -p0 -b .plasma-xinerama
-%patch12 -p0 -b .kwin-compositing
-%patch13 -p0 -b .kwin-shortcuts
-%patch14 -p0 -b .screensaver-xautolock
-%patch15 -p0 -b .kwin-stacking
+%patch11 -p1 -b .plasma-default-wallpaper
 
 # upstream patches
-%patch101 -p1 -b .menu-switch
-%patch100 -p0 -b .kde#155362
+%patch100 -p1 -b .plasma-tooltips
 
 # plasma-4.0-openSUSE patches:
-%patch200 -p0 -b .plasma-default-wallpaper
-%patch201 -p1 -b .kde#158301
-%patch202 -p1 -b .rh#443610
-%patch203 -p0 -b .plasma-default-wallpaper-config
 %patch204 -p1 -b .kickoff-suspend
 
+
 %build
 
 mkdir -p %{_target_platform}
 pushd %{_target_platform}
-%{cmake_kde4} %{?_without_nm} \
+%{cmake_kde4} \
   -DKDE4_KDM_PAM_SERVICE=kdm \
   -DKDE4_KCHECKPASS_PAM_SERVICE=kcheckpass \
   -DKDE4_KSCREENSAVER_PAM_SERVICE=kscreensaver ..
@@ -274,15 +236,24 @@
 %{_kde4_datadir}/kde4/servicetypes/*
 %{_kde4_datadir}/wallpapers/*
 %{_kde4_datadir}/sounds/*
-%{_kde4_datadir}/desktop-directories/*
 %{_kde4_datadir}/autostart/*
 %{_kde4_datadir}/applications/kde4/*
 %{_datadir}/dbus-1/interfaces/*
 %{_kde4_datadir}/config.kcfg/*
 %{_datadir}/xsessions/*
 %{_kde4_docdir}/HTML/en/*
-%{_kde4_iconsdir}/oxygen/*/*/*
 %{_kde4_iconsdir}/hicolor/*/*/*
+%{_kde4_iconsdir}/oxygen/*/*/*
+%{_kde4_iconsdir}/Oxygen_Black/
+%{_kde4_iconsdir}/Oxygen_Black_Big/
+%{_kde4_iconsdir}/Oxygen_Blue/
+%{_kde4_iconsdir}/Oxygen_Blue_Big/
+%{_kde4_iconsdir}/Oxygen_White/
+%{_kde4_iconsdir}/Oxygen_White_Big/
+%{_kde4_iconsdir}/Oxygen_Yellow/
+%{_kde4_iconsdir}/Oxygen_Yellow_Big/
+%{_kde4_iconsdir}/Oxygen_Zion/
+%{_kde4_iconsdir}/Oxygen_Zion_Big/
 %{_kde4_libdir}/kde4/*.so
 %{_kde4_libexecdir}/*
 
@@ -309,40 +280,97 @@
 
 
 %changelog
-* Wed Jul  9 2008 Lukáš Tinkl <ltinkl at redhat.com> - 4.0.5-4
-- fix windows not being drawn on other desktops with effects like desktop
-  grid or present windows (kdebug:161436)
-
-* Fri Jun 20 2008 Lukáš Tinkl <ltinkl at redhat.com> - 4.0.5-3
-- fix screensaver idle detection (#448183, kdebug:163006)
-
-* Mon Jun 16 2008 Lukáš Tinkl <ltinkl at redhat.com> - 4.0.5-2
-- KWin on maximize doesn't respect the panel size with 2 monitors (kdebug#163146)
-- fix disappearing windows with KWin compositing on
-- make per-window shortcuts not crash kwin and make them work (kdebug:161342)
-
-* Sun Jun 01 2008 Than Ngo <than at redhat.com> - 4.0.5-1
-- 4.0.5
-
-* Sat May 24 2008 Than Ngo <than at redhat.com> -  4.0.4-6
-- fix kdm session commands
-- suspend in kickoff
+* Sat Jul 19 2008 Kevin Kofler <Kevin at tigcc.ticalc.org> 4.0.99-2
+- backport Plasma tooltip manager from KDE 4.2 (fixes regression from 4.0)
+  WARNING: Adds some new APIs from 4.2 (Plasma::popupPosition, Plasma::viewFor,
+           Plasma::ToolTip*), use at your own risk, we have no control to
+           guarantee that they will not change!
 
-* Wed May 21 2008 Than Ngo <than at redhat.com> 4.0.4-5
-- fix #447030, hyperlinks do not open correctly in firefox
+* Fri Jul 18 2008 Rex Dieter <rdieter at fedoraproject.org> 4.0.99-1
+- 4.0.99
+
+* Wed Jul 16 2008 Kevin Kofler <Kevin at tigcc.ticalc.org> 4.0.98-8
+- fix KDM ConsoleKit patch to use x11-display-device instead of display-device
+
+* Wed Jul 16 2008 Kevin Kofler <Kevin at tigcc.ticalc.org> 4.0.98-7
+- fix segfault in KDM ConsoleKit patch (#455562)
+
+* Tue Jul 15 2008 Kevin Kofler <Kevin at tigcc.ticalc.org> 4.0.98-6
+- move systemsettings back from System to Settings in the menu
+
+* Mon Jul 14 2008 Kevin Kofler <Kevin at tigcc.ticalc.org> 4.0.98-5
+- new consolekit-kdm patch using libck-connector, BR ConsoleKit-devel (#430388)
+
+* Mon Jul 14 2008 Rex Dieter <rdieter at fedorproject.org> 4.0.98-4
+- install circles kdm theme
+
+* Sun Jul 13 2008 Kevin Kofler <Kevin at tigcc.ticalc.org> 4.0.98-3
+- sync kickoff-suspend patch from F9 (loads ksmserver translations)
+
+* Fri Jul 11 2008 Rex Dieter <rdieter at fedoraproject.org> 4.0.98-2
+- respun tarball (with systray patch)
 
-* Mon May 12 2008 Rex Dieter <rdieter at fedoraproject.org> 4.0.4-4
-- kwin memleak (kde#161794)
+* Thu Jul 10 2008 Rex Dieter <rdieter at fedoraproject.org> 4.0.98-1
+- 4.0.98
+
+* Wed Jul 09 2008 Kevin Kofler <Kevin at tigcc.ticalc.org> 4.0.85-3
+- rewrite and reapply plasma-default-wallpaper patch
+- (no more separate plasma-default-wallpaper-config part)
+- rediff kde#154119 patch one last time
+
+* Wed Jul 09 2008 Rex Dieter <rdieter at fedoraproject.org> 4.0.85-2
+- systray icon patch (kde#164786)
+
+* Sun Jul 06 2008 Rex Dieter <rdieter at fedoraproject.org> 4.0.85-1
+- 4.0.85
+
+* Fri Jun 27 2008 Rex Dieter <rdieter at fedoraproject.org> 4.0.84-1
+- 4.0.84
+
+* Fri Jun 27 2008 Kevin Kofler <Kevin at tigcc.ticalc.org> 4.0.83-2
+- port and apply kde#154119/kde#158301 patch for moving icons on panel (#439587)
+
+* Thu Jun 19 2008 Than Ngo <than at redhat.com> 4.0.83-1
+- 4.0.83 (beta2)
+
+* Tue Jun 17 2008 Rex Dieter <rdieter at fedoraproject.org> 4.0.82-2
+- +Provides: kdm
+
+* Sat Jun 14 2008 Rex Dieter <rdieter at fedoraproject.org> 4.0.82-1
+- 4.0.82
+
+* Wed Jun 04 2008 Than Ngo <than at redhat.com> 4.0.80-4
+- fix #449881, ksysguard OnlyShowIn=KDE
+
+* Tue Jun 03 2008 Kevin Kofler <Kevin at tigcc.ticalc.org> 4.0.80-3
+- enable NetworkManager support, now compatible with NM 0.7
+
+* Thu May 29 2008 Rex Dieter <rdieter at fedoraproject.org> 4.0.80-2
+- BR: libcaptury-devel
+
+* Mon May 26 2008 Than Ngo <than at redhat.com> 4.0.80-1
+- 4.1 beta1
+
+* Wed May 21 2008 Than Ngo <than at redhat.com> 4.0.72-4
+- fix #447030, hyperlinks do not open correctly in firefox
 
-* Thu May 08 2008 Rex Dieter <rdieter at fedoraproject.org> 4.0.4-3
+* Thu May 08 2008 Rex Dieter <rdieter at fedoraproject.org> 4.0.72-3
 - ksysguardd subpkg (#426543)
 - %%config(noreplace) systemsettingsrc
 
-* Thu May 08 2008 Rex Dieter <rdieter at fedoraproject.org> 4.0.4-2
+* Thu May 08 2008 Rex Dieter <rdieter at fedoraproject.org> 4.0.72-2
 - gtkrc patch (rh#443309, kde#146779)
 
-* Tue May 06 2008 Rex Dieter <rdieter at fedoraproject.org> 4.0.4-1
-- kde-4.0.4
+* Wed May 07 2008 Kevin Kofler <Kevin at tigcc.ticalc.org> 4.0.72-1
+- update to 4.0.72
+- update file list (Lorenzo Villani)
+- port plasma-konsole, ck-shutdown, rootprivs, plasma-default-wallpaper patches
+- remove NoDisplay=true in systemsettings onlyshowkde patch (still add
+  OnlyShowIn=KDE), rename to show-systemsettings
+- drop upstreamed suspend patch
+- drop backported kde#155362 and menu-switch patches
+- drop rh#443610 patch, "Zoom Out" should be working in 4.1
+- disable kde#158301 patch for now (fails to apply, looks hard to port)
 
 * Fri May 02 2008 Rex Dieter <rdieter at fedoraproject.org> 4.0.3-20
 - Requires: kdebase , so it doesn't go missing on upgrades from kde3 (#444928)


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/kdebase-workspace/F-9/sources,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- sources	1 Jun 2008 19:18:06 -0000	1.12
+++ sources	19 Jul 2008 18:15:11 -0000	1.13
@@ -1 +1 @@
-02112644bd5c011b10c5ca70d03a18ae  kdebase-workspace-4.0.5.tar.bz2
+eec3d9d9886a0436672007ab2568a20a  kdebase-workspace-4.0.99.tar.bz2


--- kdebase-workspace-4.0.0-consolekit-kdm.patch DELETED ---


--- kdebase-workspace-4.0.2-onlyshowkde.patch DELETED ---


--- kdebase-workspace-4.0.2-plasma-konsole.patch DELETED ---


--- kdebase-workspace-4.0.3-ck-shutdown.patch DELETED ---


--- kdebase-workspace-4.0.3-kde#155362.patch DELETED ---


--- kdebase-workspace-4.0.3-kde#158301.patch DELETED ---


--- kdebase-workspace-4.0.3-menu-switch.patch DELETED ---


--- kdebase-workspace-4.0.3-plasma-default-wallpaper-config.patch DELETED ---


--- kdebase-workspace-4.0.3-plasma-default-wallpaper.patch DELETED ---


--- kdebase-workspace-4.0.3-rh#443610.patch DELETED ---


--- kdebase-workspace-4.0.3-rootprivs.patch DELETED ---


--- kdebase-workspace-4.0.4-klipper-url.patch DELETED ---


--- kdebase-workspace-4.0.5-kickoff-suspend.patch DELETED ---


--- kdebase-workspace-4.0.5-kwin-compositing.patch DELETED ---


--- kdebase-workspace-4.0.5-kwin-shortcuts.patch DELETED ---


--- kdebase-workspace-4.0.5-kwin-stacking.patch DELETED ---


--- kdebase-workspace-4.0.5-plasma-xinerama.patch DELETED ---


--- kdebase-workspace-4.0.5-screensaver-xautolock.patch DELETED ---




More information about the fedora-extras-commits mailing list