diff -Nurd kdebase-workspace-4.4.1/ConfigureChecks.cmake kdebase-workspace-4.4.1-new/ConfigureChecks.cmake
--- kdebase-workspace-4.4.1/ConfigureChecks.cmake	2009-11-21 04:44:36.000000000 -0500
+++ kdebase-workspace-4.4.1-new/ConfigureChecks.cmake	2010-03-05 14:53:30.000000000 -0500
@@ -1,8 +1,10 @@
 include(UnixAuth)
 include(CheckTypeSize)
 include(FindPkgConfig)
+include(CheckTypeSize)
 
 macro_optional_find_package(XKB) # kxkb, kdm
+macro_optional_find_package(Fontconfig)
 
 if (PAM_FOUND)
     set(KDE4_COMMON_PAM_SERVICE "kde" CACHE STRING "The PAM service to use unless overridden for a particular app.")
diff -Nurd kdebase-workspace-4.4.1/kcontrol/CMakeLists.txt kdebase-workspace-4.4.1-new/kcontrol/CMakeLists.txt
--- kdebase-workspace-4.4.1/kcontrol/CMakeLists.txt	2009-12-31 08:28:13.000000000 -0500
+++ kdebase-workspace-4.4.1-new/kcontrol/CMakeLists.txt	2010-03-05 14:53:30.000000000 -0500
@@ -6,9 +6,9 @@
 set(libkxftconfig_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/fonts/kxftconfig.cpp )
 
 
-if( X11_Xrandr_FOUND )
+if( X11_Xrandr_FOUND AND NOT APPLE )
    add_subdirectory( randr )
-endif(X11_Xrandr_FOUND )
+endif(X11_Xrandr_FOUND AND NOT APPLE )
 
 if(X11_Xkb_FOUND)
     add_subdirectory( kxkb )
diff -Nurd kdebase-workspace-4.4.1/kcontrol/input/xcursor/thememodel.cpp kdebase-workspace-4.4.1-new/kcontrol/input/xcursor/thememodel.cpp
--- kdebase-workspace-4.4.1/kcontrol/input/xcursor/thememodel.cpp	2008-08-07 11:21:08.000000000 -0400
+++ kdebase-workspace-4.4.1-new/kcontrol/input/xcursor/thememodel.cpp	2010-03-05 14:53:30.000000000 -0500
@@ -165,7 +165,7 @@
     QString path("~/.icons:/usr/share/icons:/usr/share/pixmaps:/usr/X11R6/lib/X11/icons");
 
     // If XCURSOR_PATH is set, use that instead of the default path
-    char *xcursorPath = std::getenv("XCURSOR_PATH");
+    char *xcursorPath = ::getenv("XCURSOR_PATH");
     if (xcursorPath)
         path = xcursorPath;
 #else
diff -Nurd kdebase-workspace-4.4.1/kcontrol/kxkb/x11helper.cpp kdebase-workspace-4.4.1-new/kcontrol/kxkb/x11helper.cpp
--- kdebase-workspace-4.4.1/kcontrol/kxkb/x11helper.cpp	2009-07-17 17:44:56.000000000 -0400
+++ kdebase-workspace-4.4.1-new/kcontrol/kxkb/x11helper.cpp	2010-03-05 14:53:30.000000000 -0500
@@ -36,7 +36,7 @@
 #undef explicit
 #include <X11/extensions/XKBrules.h>
 
-#ifdef HAVE_XINPUT
+#if HAVE_XINPUT
 #include <X11/extensions/XInput.h>
 #endif
 
@@ -369,7 +369,7 @@
 
 #endif  /* HAVE_XKLAVIER*/
 
-#ifdef HAVE_XINPUT
+#if HAVE_XINPUT
 
 int X11Helper::m_xinputEventType = -1;
 
@@ -425,7 +425,7 @@
 int
 X11Helper::registerForNewDeviceEvent(Display* display)
 {
-    kWarn() << "Kxkb is compiled without XInput, xkb configuration will be reset when new keyboard device is plugged in!";
+    kWarning() << "Kxkb is compiled without XInput, xkb configuration will be reset when new keyboard device is plugged in!";
     return -1;
 }
 #endif
diff -Nurd kdebase-workspace-4.4.1/kcontrol/kxkb/x11helper.h kdebase-workspace-4.4.1-new/kcontrol/kxkb/x11helper.h
--- kdebase-workspace-4.4.1/kcontrol/kxkb/x11helper.h	2008-12-21 15:19:16.000000000 -0500
+++ kdebase-workspace-4.4.1-new/kcontrol/kxkb/x11helper.h	2010-03-05 14:53:30.000000000 -0500
@@ -64,11 +64,9 @@
 
 	static QString getWindowClass(Window winId, Display* dpy);
 
-#ifdef HAVE_XINPUT
-        static int registerForNewDeviceEvent(Display* dpy);
-        static int isNewDeviceEvent(XEvent* event);
-        static int m_xinputEventType;
-#endif
+   static int registerForNewDeviceEvent(Display* dpy);
+   static int isNewDeviceEvent(XEvent* event);
+   static int m_xinputEventType;
 
 #ifndef HAVE_XKLAVIER
 	static const QString findX11Dir();
diff -Nurd kdebase-workspace-4.4.1/kdm/kfrontend/genkdmconf.c kdebase-workspace-4.4.1-new/kdm/kfrontend/genkdmconf.c
--- kdebase-workspace-4.4.1/kdm/kfrontend/genkdmconf.c	2009-10-26 05:14:48.000000000 -0400
+++ kdebase-workspace-4.4.1-new/kdm/kfrontend/genkdmconf.c	2012-04-02 00:03:06.000000000 -0400
@@ -1586,16 +1586,25 @@
 	if (!(sa = splitArgs( ce->value )))
 		return;
 	ASPrintf( &svr, "%s -help 2>&1", sa->str );
+	/*
+	// running "X" may hang if already running, so
+	// hardcode likely results instead of instrospecting
 	if (!(fp = popen( svr, "r" )))
 		return;
 	buf[fread( buf, 1, sizeof(buf) - 1, fp )] = 0;
 	pclose( fp );
 	if (strstr( buf, "\n-br " ))
+	*/
+	  // mentioned in Xserver manpage back at least to 10.4's x11
 		addStr( &sa, "-br" );
+	/*
 	if (strstr( buf, "\n-novtswitch " ))
+	  // not available as of 10.6 x11
 		addStr( &sa, "-novtswitch" );
 	if (strstr( buf, "\n-quiet " ))
+	  // not available as of 10.6 x11
 		addStr( &sa, "-quiet" );
+	*/
 	ce->value = joinArgs( sa );
 	ce->written = True;
 }
diff -Nurd kdebase-workspace-4.4.1/ksmserver/server.cpp kdebase-workspace-4.4.1-new/ksmserver/server.cpp
--- kdebase-workspace-4.4.1/ksmserver/server.cpp	2009-07-28 15:44:41.000000000 -0400
+++ kdebase-workspace-4.4.1-new/ksmserver/server.cpp	2010-03-05 14:53:30.000000000 -0500
@@ -658,6 +658,8 @@
         int i;
         while( (i = display.indexOf(':')) >= 0)
            display[i] = '_';
+        while( (i = display.indexOf('/')) >= 0)
+           display[i] = '_';
 
         fName += '_'+display.toLocal8Bit();
         FILE *f;
@@ -728,6 +730,8 @@
     int i;
     while( (i = display.indexOf(':')) >= 0)
          display[i] = '_';
+    while( (i = display.indexOf('/')) >= 0)
+         display[i] = '_';
 
     fName += '_'+display.toLocal8Bit();
     ::unlink(fName.data());
diff -Nurd kdebase-workspace-4.4.1/ksplash/ksplashx/qpngio.cpp kdebase-workspace-4.4.1-new/ksplash/ksplashx/qpngio.cpp
--- kdebase-workspace-4.4.1/ksplash/ksplashx/qpngio.cpp	2009-08-28 12:01:29.000000000 -0400
+++ kdebase-workspace-4.4.1-new/ksplash/ksplashx/qpngio.cpp	2012-04-01 15:10:02.000000000 -0400
@@ -112,12 +112,16 @@
     png_uint_32 height;
     int bit_depth;
     int color_type;
-    png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type,
-	0, 0, 0);
+    png_bytep trans_alpha = 0;
+    png_color_16p trans_color_p = 0;
+    int num_trans;
+    png_colorp palette = 0;
+    int num_palette;
+    png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, 0, 0, 0);
 
     if ( color_type == PNG_COLOR_TYPE_GRAY ) {
 	// Black & White or 8-bit grayscale
-	if ( bit_depth == 1 && info_ptr->channels == 1 ) {
+	if ( bit_depth == 1 && png_get_channels(png_ptr, info_ptr) == 1 ) {
 	    png_set_invert_mono( png_ptr );
 	    png_read_update_info( png_ptr, info_ptr );
 	    if (!image.create( width, height, 1, 2, QImage::BigEndian ))
@@ -150,54 +154,45 @@
 		int c = i*255/(ncols-1);
 		image.setColor( i, qRgba(c,c,c,0xff) );
 	    }
-	    if ( png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ) {
-#if PNG_LIBPNG_VER < 10400
-		const int g = info_ptr->trans_values.gray;
-#else
-		const int g = info_ptr->trans_color.gray;
-#endif
+	    if (png_get_tRNS(png_ptr, info_ptr, &trans_alpha, &num_trans, &trans_color_p) && trans_color_p) {
+		const int g = trans_color_p->gray;
 		if (g < ncols) {
-		    image.setAlphaBuffer(true);
-		    image.setColor(g, image.color(g) & RGB_MASK);
+		    image.setColor(g, 0);
 		}
 	    }
 	}
     } else if ( color_type == PNG_COLOR_TYPE_PALETTE
-     && png_get_valid(png_ptr, info_ptr, PNG_INFO_PLTE)
-     && info_ptr->num_palette <= 256 )
+		&& png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette)
+		&& num_palette <= 256 )
     {
 	// 1-bit and 8-bit color
 	if ( bit_depth != 1 )
 	    png_set_packing( png_ptr );
 	png_read_update_info( png_ptr, info_ptr );
-	png_get_IHDR(png_ptr, info_ptr,
-	    &width, &height, &bit_depth, &color_type, 0, 0, 0);
-	if (!image.create(width, height, bit_depth, info_ptr->num_palette,
+	png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, 0, 0, 0);
+	if (!image.create(width, height, bit_depth, num_palette,
 	    QImage::BigEndian))
 	    return;
 	int i = 0;
-	if ( png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ) {
+	png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette);
+	if (png_get_tRNS(png_ptr, info_ptr, &trans_alpha, &num_trans, &trans_color_p) && trans_alpha) {
 	    image.setAlphaBuffer( true );
-	    while ( i < info_ptr->num_trans ) {
+	    while ( i < num_trans ) {
 		image.setColor(i, qRgba(
-		    info_ptr->palette[i].red,
-		    info_ptr->palette[i].green,
-		    info_ptr->palette[i].blue,
-#if PNG_LIBPNG_VER < 10400
-		    info_ptr->trans[i]
-#else
-		    info_ptr->trans_alpha[i]
-#endif
+		    palette[i].red,
+		    palette[i].green,
+		    palette[i].blue,
+		    trans_alpha[i]
 		    )
 		);
 		i++;
 	    }
 	}
-	while ( i < info_ptr->num_palette ) {
+	while ( i < num_palette ) {
 	    image.setColor(i, qRgba(
-		info_ptr->palette[i].red,
-		info_ptr->palette[i].green,
-		info_ptr->palette[i].blue,
+		palette[i].red,
+		palette[i].green,
+		palette[i].blue,
 		0xff
 		)
 	    );
@@ -280,7 +275,7 @@
 	return QImage();
     }
 
-    if (setjmp(png_ptr->jmpbuf)) {
+    if (setjmp(png_jmpbuf(png_ptr))) {
 	png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
 	return QImage();
     }
diff -Nurd kdebase-workspace-4.4.1/ksplash/ksplashx/qpoint.h kdebase-workspace-4.4.1-new/ksplash/ksplashx/qpoint.h
--- kdebase-workspace-4.4.1/ksplash/ksplashx/qpoint.h	2008-01-04 18:55:38.000000000 -0500
+++ kdebase-workspace-4.4.1-new/ksplash/ksplashx/qpoint.h	2010-03-05 14:53:30.000000000 -0500
@@ -93,7 +93,7 @@
 private:
     static void warningDivByZero();
 
-#if defined(Q_OS_MAC)
+#if defined(Q_WS_MAC)
     QCOORD yp;
     QCOORD xp;
 #else
diff -Nurd kdebase-workspace-4.4.1/ksplash/ksplashx/qrect.h kdebase-workspace-4.4.1-new/ksplash/ksplashx/qrect.h
--- kdebase-workspace-4.4.1/ksplash/ksplashx/qrect.h	2008-01-04 18:55:38.000000000 -0500
+++ kdebase-workspace-4.4.1-new/ksplash/ksplashx/qrect.h	2010-03-05 14:53:30.000000000 -0500
@@ -145,7 +145,7 @@
 #if defined(Q_WS_X11) || defined(Q_OS_TEMP)
     friend void qt_setCoords( QRect *r, int xp1, int yp1, int xp2, int yp2 );
 #endif
-#if defined(Q_OS_MAC)
+#if defined(Q_WS_MAC)
     QCOORD y1;
     QCOORD x1;
     QCOORD y2;
diff -Nurd kdebase-workspace-4.4.1/ksysguard/ksysguardd/CMakeLists.txt kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/CMakeLists.txt
--- kdebase-workspace-4.4.1/ksysguard/ksysguardd/CMakeLists.txt	2009-10-02 10:54:05.000000000 -0400
+++ kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/CMakeLists.txt	2010-03-05 14:53:30.000000000 -0500
@@ -30,8 +30,13 @@
         add_subdirectory( "Solaris" )
         include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/Solaris )
     else( ${CMAKE_SYSTEM_NAME} MATCHES "SunOS" )
-        add_subdirectory( ${CMAKE_SYSTEM_NAME} )
-        include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_SYSTEM_NAME} )
+        if( IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_SYSTEM_NAME} )
+            add_subdirectory( ${CMAKE_SYSTEM_NAME} )
+            include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_SYSTEM_NAME} )
+        else( IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_SYSTEM_NAME} )
+            add_subdirectory( "Stub" )
+            include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/"Stub" )
+        endif( IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_SYSTEM_NAME} )
     endif( ${CMAKE_SYSTEM_NAME} MATCHES "SunOS" )
 endif( ${CMAKE_SYSTEM_NAME} MATCHES "DragonFly" )
 endif( ${CMAKE_SYSTEM_NAME} MATCHES "kFreeBSD" )
diff -Nurd kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/CMakeLists.txt kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/CMakeLists.txt
--- kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/CMakeLists.txt	1969-12-31 19:00:00.000000000 -0500
+++ kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/CMakeLists.txt	2010-03-05 14:53:30.000000000 -0500
@@ -0,0 +1,13 @@
+INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}/../../CContLib ${CMAKE_CURRENT_SOURCE_DIR}/../ )
+
+KDE4_ADD_LIBRARY(libksysguardd STATIC 
+            apm.c
+            CPU.c
+            diskstat.c
+            loadavg.c
+            logfile.c
+            Memory.c
+            netdev.c
+            ProcessList.c)
+
+
diff -Nurd kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/CPU.c kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/CPU.c
--- kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/CPU.c	1969-12-31 19:00:00.000000000 -0500
+++ kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/CPU.c	2010-03-05 14:53:30.000000000 -0500
@@ -0,0 +1,80 @@
+/*
+    KSysGuard, the KDE System Guard
+
+	Copyright (c) 1999 Chris Schlaeger <cs@kde.org>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+*/
+
+#include "CPU.h"
+#include "Command.h"
+#include "ksysguardd.h"
+
+void
+initCpuInfo(struct SensorModul* sm)
+{
+}
+
+void
+exitCpuInfo(void)
+{
+}
+
+int
+updateCpuInfo(void)
+{
+	return 0;
+}
+
+void
+printCPUUser(const char* cmd)
+{
+}
+
+void
+printCPUUserInfo(const char* cmd)
+{
+}
+
+void
+printCPUNice(const char* cmd)
+{
+}
+
+void
+printCPUNiceInfo(const char* cmd)
+{
+}
+
+void
+printCPUSys(const char* cmd)
+{
+}
+
+void
+printCPUSysInfo(const char* cmd)
+{
+}
+
+void
+printCPUIdle(const char* cmd)
+{
+}
+
+void
+printCPUIdleInfo(const char* cmd)
+{
+}
diff -Nurd kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/CPU.h kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/CPU.h
--- kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/CPU.h	1969-12-31 19:00:00.000000000 -0500
+++ kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/CPU.h	2010-03-05 14:53:30.000000000 -0500
@@ -0,0 +1,49 @@
+/*
+    KSysGuard, the KDE System Guard
+   
+	Copyright (c) 1999 Chris Schlaeger <cs@kde.org>
+    
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+*/
+
+#ifndef _cpuinfo_h_
+#define _cpuinfo_h_
+
+struct SensorModul;
+
+void initCpuInfo(struct SensorModul* sm);
+void exitCpuInfo(void);
+
+int updateCpuInfo(void);
+
+void printCPUUser(const char* cmd);
+void printCPUUserInfo(const char* cmd);
+void printCPUNice(const char* cmd);
+void printCPUNiceInfo(const char* cmd);
+void printCPUSys(const char* cmd);
+void printCPUSysInfo(const char* cmd);
+void printCPUIdle(const char* cmd);
+void printCPUIdleInfo(const char* cmd);
+void printCPUxUser(const char* cmd);
+void printCPUxUserInfo(const char* cmd);
+void printCPUxNice(const char* cmd);
+void printCPUxNiceInfo(const char* cmd);
+void printCPUxSys(const char* cmd);
+void printCPUxSysInfo(const char* cmd);
+void printCPUxIdle(const char* cmd);
+void printCPUxIdleInfo(const char* cmd);
+
+#endif
diff -Nurd kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/Memory.c kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/Memory.c
--- kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/Memory.c	1969-12-31 19:00:00.000000000 -0500
+++ kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/Memory.c	2010-03-05 14:53:30.000000000 -0500
@@ -0,0 +1,111 @@
+/*
+    KSysGuard, the KDE System Guard
+
+	Copyright (c) 1999-2000 Hans Petter Bieker <bieker@kde.org>
+	Copyright (c) 1999 Chris Schlaeger <cs@kde.org>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+*/
+
+#include "Command.h"
+#include "Memory.h"
+#include "ksysguardd.h"
+
+void
+initMemory(struct SensorModul* sm)
+{
+}
+
+void
+exitMemory(void)
+{
+}
+
+int
+updateMemory(void)
+{
+	return 0;
+}
+
+void
+printMFree(const char* cmd)
+{
+}
+
+void
+printMFreeInfo(const char* cmd)
+{
+}
+
+void
+printUsed(const char* cmd)
+{
+}
+
+void
+printUsedInfo(const char* cmd)
+{
+}
+
+void
+printBuffers(const char* cmd)
+{
+}
+
+void
+printBuffersInfo(const char* cmd)
+{
+}
+
+void
+printCached(const char* cmd)
+{
+}
+
+void
+printCachedInfo(const char* cmd)
+{
+}
+
+void
+printApplication(const char* cmd)
+{
+}
+
+void
+printApplicationInfo(const char* cmd)
+{
+}
+
+void
+printSwapUsed(const char* cmd)
+{
+}
+
+void
+printSwapUsedInfo(const char* cmd)
+{
+}
+
+void
+printSwapFree(const char* cmd)
+{
+}
+
+void
+printSwapFreeInfo(const char* cmd)
+{
+}
diff -Nurd kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/Memory.h kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/Memory.h
--- kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/Memory.h	1969-12-31 19:00:00.000000000 -0500
+++ kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/Memory.h	2010-03-05 14:53:30.000000000 -0500
@@ -0,0 +1,45 @@
+/*
+    KSysGuard, the KDE System Guard
+   
+	Copyright (c) 1999 Chris Schlaeger <cs@kde.org>
+    
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+*/
+
+#ifndef _memory_h_
+#define _memory_h_
+
+void initMemory(struct SensorModul* sm);
+void exitMemory(void);
+
+int updateMemory(void);
+
+void printMFree(const char* cmd);
+void printMFreeInfo(const char* cmd);
+void printUsed(const char* cmd);
+void printUsedInfo(const char* cmd);
+void printBuffers(const char* cmd);
+void printBuffersInfo(const char* cmd);
+void printCached(const char* cmd);
+void printCachedInfo(const char* cmd);
+void printApplication(const char* cmd);
+void printApplicationInfo(const char* cmd);
+void printSwapUsed(const char* cmd);
+void printSwapUsedInfo(const char* cmd);
+void printSwapFree(const char* cmd);
+void printSwapFreeInfo(const char* cmd);
+
+#endif
diff -Nurd kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/ProcessList.c kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/ProcessList.c
--- kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/ProcessList.c	1969-12-31 19:00:00.000000000 -0500
+++ kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/ProcessList.c	2010-03-05 14:53:30.000000000 -0500
@@ -0,0 +1,73 @@
+/*
+    KSysGuard, the KDE System Guard
+
+	Copyright (c) 1999-2000 Hans Petter Bieker<bieker@kde.org>
+	Copyright (c) 1999 Chris Schlaeger <cs@kde.org>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+*/
+
+#include "../../gui/SignalIDs.h"
+#include "Command.h"
+#include "ProcessList.h"
+#include "ccont.h"
+#include "ksysguardd.h"
+
+void
+initProcessList(struct SensorModul* sm)
+{
+}
+
+void
+exitProcessList(void)
+{
+}
+
+int
+updateProcessList(void)
+{
+	return 0;
+}
+
+void
+printProcessListInfo(const char* cmd)
+{
+}
+
+void
+printProcessList(const char* cmd)
+{
+}
+
+void
+printProcessCount(const char* cmd)
+{
+}
+
+void
+printProcessCountInfo(const char* cmd)
+{
+}
+
+void
+killProcess(const char* cmd)
+{
+}
+
+void
+setPriority(const char* cmd)
+{
+}
diff -Nurd kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/ProcessList.h kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/ProcessList.h
--- kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/ProcessList.h	1969-12-31 19:00:00.000000000 -0500
+++ kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/ProcessList.h	2010-03-05 14:53:30.000000000 -0500
@@ -0,0 +1,38 @@
+/*
+    KSysGuard, the KDE System Guard
+   
+	Copyright (c) 1999 Chris Schlaeger <cs@kde.org>
+    
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+*/
+
+#ifndef _process_list_h_
+#define _process_list_h_
+
+void initProcessList(struct SensorModul* sm);
+void exitProcessList(void);
+
+int updateProcessList(void);
+
+void printProcessList(const char*);
+void printProcessListInfo(const char*);
+void printProcessCount(const char* cmd);
+void printProcessCountInfo(const char* cmd);
+
+void killProcess(const char* cmd);
+void setPriority(const char* cmd);
+
+#endif
diff -Nurd kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/apm.c kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/apm.c
--- kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/apm.c	1969-12-31 19:00:00.000000000 -0500
+++ kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/apm.c	2010-03-05 14:53:30.000000000 -0500
@@ -0,0 +1,58 @@
+/*
+    KSysGuard, the KDE System Guard
+   
+	Copyright (c) 2001 Tobias Koenig <tokoe@kde.org>
+    
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of version 2 of the GNU General Public
+    License as published by the Free Software Foundation.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+*/
+
+#include "Command.h"
+#include "apm.h"
+#include "ksysguardd.h"
+
+void
+initApm(struct SensorModul* sm)
+{
+}
+
+void
+exitApm(void)
+{
+}
+
+int
+updateApm(void)
+{
+}
+
+void
+printApmBatFill(const char* c)
+{
+}
+
+void
+printApmBatFillInfo(const char* c)
+{
+}
+
+void
+printApmBatTime(const char* c)
+{
+}
+
+void
+printApmBatTimeInfo(const char* c)
+{
+}
diff -Nurd kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/apm.h kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/apm.h
--- kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/apm.h	1969-12-31 19:00:00.000000000 -0500
+++ kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/apm.h	2010-03-05 14:53:30.000000000 -0500
@@ -0,0 +1,34 @@
+/*
+    KSysGuard, the KDE System Guard
+   
+	Copyright (c) 2001 Tobias Koenig <tokoe@kde.org>
+    
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of version 2 of the GNU General Public
+    License as published by the Free Software Foundation.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+*/
+
+#ifndef _apm_h_
+#define _apm_h_
+
+void initApm(struct SensorModul* sm);
+void exitApm(void);
+
+int updateApm(void);
+
+void printApmBatFill(const char*);
+void printApmBatFillInfo(const char*);
+void printApmBatTime(const char*);
+void printApmBatTimeInfo(const char*);
+
+#endif
diff -Nurd kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/diskstat.c kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/diskstat.c
--- kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/diskstat.c	1969-12-31 19:00:00.000000000 -0500
+++ kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/diskstat.c	2010-03-05 14:53:30.000000000 -0500
@@ -0,0 +1,73 @@
+/*
+    KSysGuard, the KDE System Guard
+
+	Copyright (c) 2001 Tobias Koenig <tokoe@kde.org>
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of version 2 of the GNU General Public
+    License as published by the Free Software Foundation.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+*/
+
+#include "Command.h"
+#include "ccont.h"
+#include "diskstat.h"
+#include "ksysguardd.h"
+
+void initDiskStat(struct SensorModul* sm)
+{
+}
+
+void checkDiskStat(void)
+{
+}
+
+void exitDiskStat(void)
+{
+}
+
+int updateDiskStat(void)
+{
+	return 0;
+}
+
+void printDiskStat(const char* cmd)
+{
+}
+
+void printDiskStatInfo(const char* cmd)
+{
+}
+
+void printDiskStatUsed(const char* cmd)
+{
+}
+
+void printDiskStatUsedInfo(const char* cmd)
+{
+}
+
+void printDiskStatFree(const char* cmd)
+{
+}
+
+void printDiskStatFreeInfo(const char* cmd)
+{
+}
+
+void printDiskStatPercent(const char* cmd)
+{
+}
+
+void printDiskStatPercentInfo(const char* cmd)
+{
+}
diff -Nurd kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/diskstat.h kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/diskstat.h
--- kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/diskstat.h	1969-12-31 19:00:00.000000000 -0500
+++ kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/diskstat.h	2010-03-05 14:53:30.000000000 -0500
@@ -0,0 +1,40 @@
+/*
+    KSysGuard, the KDE System Guard
+	   
+	Copyright (c) 2001 Tobias Koenig <tokoe@kde.org>
+    
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of version 2 of the GNU General Public
+    License as published by the Free Software Foundation.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+*/
+
+#ifndef _diskstat_h_
+#define _diskstat_h_
+
+void initDiskStat(struct SensorModul* sm);
+void exitDiskStat(void);
+
+int updateDiskStat(void);
+void checkDiskStat(void);
+
+void printDiskStat(const char* cmd);
+void printDiskStatInfo(const char* cmd);
+
+void printDiskStatUsed(const char* cmd);
+void printDiskStatUsedInfo(const char* cmd);
+void printDiskStatFree(const char* cmd);
+void printDiskStatFreeInfo(const char* cmd);
+void printDiskStatPercent(const char* cmd);
+void printDiskStatPercentInfo(const char* cmd);
+
+#endif
diff -Nurd kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/loadavg.c kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/loadavg.c
--- kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/loadavg.c	1969-12-31 19:00:00.000000000 -0500
+++ kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/loadavg.c	2010-03-05 14:53:30.000000000 -0500
@@ -0,0 +1,69 @@
+/*
+    KSysGuard, the KDE System Guard
+   
+	Copyright (c) 2001 Tobias Koenig <tokoe@kde.org>
+    
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of version 2 of the GNU General Public
+    License as published by the Free Software Foundation.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+*/
+
+#include "Command.h"
+#include "ksysguardd.h"
+#include "loadavg.h"
+
+void
+initLoadAvg(struct SensorModul* sm)
+{
+}
+
+void
+exitLoadAvg(void)
+{
+}
+
+int
+updateLoadAvg(void)
+{
+	return 0;
+}
+
+void
+printLoadAvg1(const char* c)
+{
+}
+
+void
+printLoadAvg1Info(const char* c)
+{
+}
+
+void
+printLoadAvg5(const char* c)
+{
+}
+
+void
+printLoadAvg5Info(const char* c)
+{
+}
+
+void
+printLoadAvg15(const char* c)
+{
+}
+
+void
+printLoadAvg15Info(const char* c)
+{
+}
diff -Nurd kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/loadavg.h kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/loadavg.h
--- kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/loadavg.h	1969-12-31 19:00:00.000000000 -0500
+++ kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/loadavg.h	2010-03-05 14:53:30.000000000 -0500
@@ -0,0 +1,36 @@
+/*
+    KSysGuard, the KDE System Guard
+   
+	Copyright (c) 2001 Tobias Koenig <tokoe@kde.org>
+    
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of version 2 of the GNU General Public
+    License as published by the Free Software Foundation.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+*/
+
+#ifndef _loadavg_h_
+#define _loadavg_h_
+
+void initLoadAvg(struct SensorModul* sm);
+void exitLoadAvg(void);
+
+int updateLoadAvg(void);
+
+void printLoadAvg1(const char*);
+void printLoadAvg1Info(const char*);
+void printLoadAvg5(const char*);
+void printLoadAvg5Info(const char*);
+void printLoadAvg15(const char*);
+void printLoadAvg15Info(const char*);
+
+#endif
diff -Nurd kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/logfile.c kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/logfile.c
--- kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/logfile.c	1969-12-31 19:00:00.000000000 -0500
+++ kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/logfile.c	2010-03-05 14:53:30.000000000 -0500
@@ -0,0 +1,53 @@
+/*
+    KSysGuard, the KDE System Guard
+   
+	Copyright (c) 2001 Tobias Koenig <tokoe@kde.org>
+    
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of version 2 of the GNU General Public
+    License as published by the Free Software Foundation.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+*/
+
+#include "Command.h"
+#include "ccont.h"
+#include "conf.h"
+#include "ksysguardd.h"
+#include "logfile.h"
+
+void initLogFile(struct SensorModul* sm)
+{
+}
+
+void exitLogFile(void)
+{
+}
+
+void printLogFile(const char* cmd)
+{
+}
+
+void printLogFileInfo(const char* cmd)
+{
+}
+
+void registerLogFile(const char* cmd)
+{
+}
+
+void unregisterLogFile(const char* cmd)
+{
+}
+
+void printRegistered(const char* cmd)
+{
+}
diff -Nurd kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/logfile.h kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/logfile.h
--- kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/logfile.h	1969-12-31 19:00:00.000000000 -0500
+++ kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/logfile.h	2010-03-05 14:53:30.000000000 -0500
@@ -0,0 +1,36 @@
+/*
+    KSysGuard, the KDE System Guard
+   
+	Copyright (c) 2001 Tobias Koenig <tokoe@kde.org>
+    
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of version 2 of the GNU General Public
+    License as published by the Free Software Foundation.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+*/
+
+#ifndef _logfile_h_
+#define _logfile_h_
+
+void initLogFile(struct SensorModul* sm);
+void exitLogFile(void);
+
+void printLogFile(const char* cmd);
+void printLogFileInfo(const char* cmd);
+
+void registerLogFile(const char* cmd);
+void unregisterLogFile(const char* cmd);
+
+/* debug command */
+void printRegistered(const char* cmd);
+
+#endif
diff -Nurd kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/netdev.c kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/netdev.c
--- kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/netdev.c	1969-12-31 19:00:00.000000000 -0500
+++ kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/netdev.c	2010-03-05 14:53:30.000000000 -0500
@@ -0,0 +1,56 @@
+/*
+    KSysGuard, the KDE System Guard
+   
+	Copyright (c) 2001 Tobias Koenig <tokoe@kde.org>
+    
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of version 2 of the GNU General Public
+    License as published by the Free Software Foundation.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+*/
+
+#include "Command.h"
+#include "ksysguardd.h"
+#include "netdev.h"
+
+void initNetDev(struct SensorModul* sm)
+{
+}
+
+void exitNetDev(void)
+{
+}
+
+int updateNetDev(void)
+{
+	return 0;
+}
+
+void checkNetDev(void)
+{
+}
+
+void printNetDevRecBytes(const char *cmd)
+{
+}
+
+void printNetDevRecBytesInfo(const char *cmd)
+{
+}
+
+void printNetDevSentBytes(const char *cmd)
+{
+}
+
+void printNetDevSentBytesInfo(const char *cmd)
+{
+}
diff -Nurd kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/netdev.h kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/netdev.h
--- kdebase-workspace-4.4.1/ksysguard/ksysguardd/Stub/netdev.h	1969-12-31 19:00:00.000000000 -0500
+++ kdebase-workspace-4.4.1-new/ksysguard/ksysguardd/Stub/netdev.h	2010-03-05 14:53:30.000000000 -0500
@@ -0,0 +1,35 @@
+/*
+    KSysGuard, the KDE System Guard
+   
+	Copyright (c) 2001 Tobias Koenig <tokoe@kde.org>
+    
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of version 2 of the GNU General Public
+    License as published by the Free Software Foundation.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+*/
+
+#ifndef _netdev_h_
+#define _netdev_h_
+
+void initNetDev(struct SensorModul* sm);
+void exitNetDev(void);
+
+int updateNetDev(void);
+void checkNetDev(void);
+
+void printNetDevRecBytes(const char* cmd);
+void printNetDevRecBytesInfo(const char* cmd);
+void printNetDevSentBytes(const char* cmd);
+void printNetDevSentBytesInfo(const char* cmd);
+
+#endif
diff -Nurd kdebase-workspace-4.4.1/kwin/CMakeLists.txt kdebase-workspace-4.4.1-new/kwin/CMakeLists.txt
--- kdebase-workspace-4.4.1/kwin/CMakeLists.txt	2009-11-21 04:44:31.000000000 -0500
+++ kdebase-workspace-4.4.1-new/kwin/CMakeLists.txt	2010-03-05 14:53:30.000000000 -0500
@@ -26,6 +26,10 @@
 
 macro_bool_to_01( OPENGL_FOUND KWIN_HAVE_OPENGL )
 
+if(OPENGL_FOUND)
+  include_directories(${OPENGL_INCLUDE_DIR})
+endif(OPENGL_FOUND)
+
 # for things that are also used by kwin libraries
 configure_file(lib/kwinconfig.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/lib/kwinconfig.h )
 # for kwin internal things
diff -Nurd kdebase-workspace-4.4.1/kwin/lib/CMakeLists.txt kdebase-workspace-4.4.1-new/kwin/lib/CMakeLists.txt
--- kdebase-workspace-4.4.1/kwin/lib/CMakeLists.txt	2009-02-26 04:12:33.000000000 -0500
+++ kdebase-workspace-4.4.1-new/kwin/lib/CMakeLists.txt	2010-03-05 14:53:30.000000000 -0500
@@ -8,7 +8,6 @@
    kcommondecoration.cpp
    kcommondecoration_p.cpp )
 
-
 kde4_add_library(kdecorations SHARED ${kdecorations_LIB_SRCS})
 
 target_link_libraries(kdecorations ${KDE4_KDEUI_LIBS} kephal)
@@ -54,6 +53,7 @@
   if (DL_LIBRARY)
     target_link_libraries(kwineffects ${DL_LIBRARY})
   endif(DL_LIBRARY)
+  include_directories(${OPENGL_INCLUDE_DIR})
 endif(OPENGL_FOUND)
 if (X11_Xrender_FOUND)
   target_link_libraries(kwineffects ${X11_Xrender_LIB})
diff -Nurd kdebase-workspace-4.4.1/libs/kephal/kded_kephal/CMakeLists.txt kdebase-workspace-4.4.1-new/libs/kephal/kded_kephal/CMakeLists.txt
--- kdebase-workspace-4.4.1/libs/kephal/kded_kephal/CMakeLists.txt	2009-02-12 05:23:46.000000000 -0500
+++ kdebase-workspace-4.4.1-new/libs/kephal/kded_kephal/CMakeLists.txt	2010-03-05 14:53:30.000000000 -0500
@@ -24,7 +24,7 @@
         ../configurations/backendconfigurations.cpp
         ../configurations/xml/xmlconfigurations.cpp)
 
-if(Q_WS_X11 AND XRANDR_1_2_FOUND)
+if(Q_WS_X11 AND XRANDR_1_2_FOUND AND NOT APPLE)
     SET (kded_kephal_SRCS ${kded_kephal_SRCS}
         ../xrandr12/randr.cpp
         ../xrandr12/randrscreen.cpp
@@ -33,7 +33,7 @@
         ../xrandr12/randrmode.cpp
         ../xrandr12/randrdisplay.cpp
         ../outputs/xrandr/xrandroutputs.cpp)
-endif(Q_WS_X11 AND XRANDR_1_2_FOUND)
+endif(Q_WS_X11 AND XRANDR_1_2_FOUND AND NOT APPLE)
 
 QT4_GENERATE_DBUS_INTERFACE(dbus/dbusapi_screens.h org.kde.Kephal.Screens.xml)
 QT4_ADD_DBUS_ADAPTOR (kded_kephal_SRCS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.Kephal.Screens.xml
diff -Nurd kdebase-workspace-4.4.1/libs/kephal/kded_kephal/config-kephal.h.cmake kdebase-workspace-4.4.1-new/libs/kephal/kded_kephal/config-kephal.h.cmake
--- kdebase-workspace-4.4.1/libs/kephal/kded_kephal/config-kephal.h.cmake	2008-11-28 10:33:20.000000000 -0500
+++ kdebase-workspace-4.4.1-new/libs/kephal/kded_kephal/config-kephal.h.cmake	2010-03-05 14:53:30.000000000 -0500
@@ -1 +1,3 @@
+#ifndef __APPLE__
 #cmakedefine HAS_RANDR_1_2 1 
+#endif
diff -Nurd kdebase-workspace-4.4.1/libs/ksysguard/processcore/processes_local_p.cpp kdebase-workspace-4.4.1-new/libs/ksysguard/processcore/processes_local_p.cpp
--- kdebase-workspace-4.4.1/libs/ksysguard/processcore/processes_local_p.cpp	2009-12-14 05:43:38.000000000 -0500
+++ kdebase-workspace-4.4.1-new/libs/ksysguard/processcore/processes_local_p.cpp	2010-03-05 14:53:30.000000000 -0500
@@ -34,6 +34,8 @@
 #include <qglobal.h>
 #ifdef Q_OS_SOLARIS
 #include "processes_solaris_p.cpp"
+#else
+#include "processes_stub_p.cpp"
 #endif
 #endif
 
diff -Nurd kdebase-workspace-4.4.1/libs/ksysguard/processcore/processes_stub_p.cpp kdebase-workspace-4.4.1-new/libs/ksysguard/processcore/processes_stub_p.cpp
--- kdebase-workspace-4.4.1/libs/ksysguard/processcore/processes_stub_p.cpp	1969-12-31 19:00:00.000000000 -0500
+++ kdebase-workspace-4.4.1-new/libs/ksysguard/processcore/processes_stub_p.cpp	2010-03-05 14:53:30.000000000 -0500
@@ -0,0 +1,163 @@
+/*  This file is part of the KDE project
+    Copyright (C) 2007 Manolo Valdes <nolis71cu@gmail.com>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License version 2 as published by the Free Software Foundation.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+#include "processes_local_p.h"
+#include "process.h"
+
+#include <klocale.h>
+
+#include <QSet>
+
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/types.h>
+#include <sys/user.h>
+#include <sys/resource.h>
+#if defined(__DragonFly__)
+#include <sys/resourcevar.h>
+#include <err.h>
+#endif
+#include <signal.h>
+#include <unistd.h>  
+
+
+
+
+namespace KSysGuard
+{
+
+  class ProcessesLocal::Private
+  {
+    public:
+      Private() {;}
+      ~Private() {;}
+      inline bool readProc(long pid, struct kinfo_proc *p);
+      inline void readProcStatus(struct kinfo_proc *p, Process *process);
+      inline void readProcStat(struct kinfo_proc *p, Process *process);
+      inline void readProcStatm(struct kinfo_proc *p, Process *process);
+      inline bool readProcCmdline(long pid, Process *process);
+    };
+
+#ifndef _SC_NPROCESSORS_ONLN
+long int KSysGuard::ProcessesLocal::numberProcessorCores()
+{
+    int mib[2];
+    int ncpu;
+    size_t len;
+
+    mib[0] = CTL_HW;
+    mib[1] = HW_NCPU;
+    len = sizeof(ncpu);
+
+    if (sysctl(mib, 2, &ncpu, &len, NULL, 0) == -1 || !len)
+        return 1;
+    return len;
+}
+#endif  
+
+bool ProcessesLocal::Private::readProc(long pid, struct kinfo_proc *p)
+{
+    return false;
+}
+
+void ProcessesLocal::Private::readProcStatus(struct kinfo_proc *p, Process *process)
+{
+}
+
+void ProcessesLocal::Private::readProcStat(struct kinfo_proc *p, Process *ps)
+{
+}
+
+void ProcessesLocal::Private::readProcStatm(struct kinfo_proc *p, Process *process)
+{
+}
+
+bool ProcessesLocal::Private::readProcCmdline(long pid, Process *process)
+{
+    return false;
+}
+
+ProcessesLocal::ProcessesLocal() : d(new Private())
+{
+}
+
+long ProcessesLocal::getParentPid(long pid) {
+    Q_ASSERT(pid != 0);
+    long long ppid = 0;
+    struct kinfo_proc p;
+    if(d->readProc(pid, &p))
+    {
+#if defined(__FreeBSD__) && __FreeBSD_version >= 500015
+        ppid = p.ki_ppid;
+#elif defined(__DragonFly__) && __DragonFly_version >= 190000
+        ppid = p.kp_ppid;
+#else
+        ppid = p.kp_eproc.e_ppid;
+#endif
+    }
+    return ppid;
+}
+
+bool ProcessesLocal::updateProcessInfo( long pid, Process *process)
+{
+    struct kinfo_proc p;
+    if(!d->readProc(pid, &p)) return false;
+    d->readProcStat(&p, process);
+    d->readProcStatus(&p, process);
+    d->readProcStatm(&p, process);
+    if(!d->readProcCmdline(pid, process)) return false;
+
+    return true;
+}
+
+QSet<long> ProcessesLocal::getAllPids( )
+{
+    QSet<long> pids;
+    return pids;
+}
+
+bool ProcessesLocal::sendSignal(long pid, int sig) {
+    return false;
+}
+
+bool ProcessesLocal::setNiceness(long pid, int priority) {
+    return false;
+}
+
+bool ProcessesLocal::setIoNiceness(long pid, int priorityClass, int priority) {
+    return false;
+}
+
+bool ProcessesLocal::supportsIoNiceness() {
+    return false;
+}
+
+bool ProcessesLocal::setScheduler(long pid, int priorityClass, int priority) 
+{
+    return false;
+}
+
+long long ProcessesLocal::totalPhysicalMemory() {
+    return 0;
+}
+
+ProcessesLocal::~ProcessesLocal()
+{
+}
+
+}
diff -Nurd kdebase-workspace-4.4.1/libs/kworkspace/kworkspace.cpp kdebase-workspace-4.4.1-new/libs/kworkspace/kworkspace.cpp
--- kdebase-workspace-4.4.1/libs/kworkspace/kworkspace.cpp	2009-07-17 17:44:58.000000000 -0400
+++ kdebase-workspace-4.4.1-new/libs/kworkspace/kworkspace.cpp	2010-03-05 14:53:30.000000000 -0500
@@ -225,6 +225,8 @@
     int i;
     while( (i = display.indexOf(':')) >= 0)
        display[i] = '_';
+    while( (i = display.indexOf('/')) >= 0)
+       display[i] = '_';
 
     fName += '_';
     fName += display.toLocal8Bit();
diff -Nurd kdebase-workspace-4.4.1/libs/solid/control/CMakeLists.txt kdebase-workspace-4.4.1-new/libs/solid/control/CMakeLists.txt
--- kdebase-workspace-4.4.1/libs/solid/control/CMakeLists.txt	2009-12-31 08:28:17.000000000 -0500
+++ kdebase-workspace-4.4.1-new/libs/solid/control/CMakeLists.txt	2010-03-05 14:53:30.000000000 -0500
@@ -33,9 +33,9 @@
 )
 
 # FIXME: this should be XRANDR_FOUND instead
-if(NOT WIN32)
+if(NOT WIN32 AND NOT APPLE)
 set(solidcontrol_LIB_SRCS ${solidcontrol_LIB_SRCS} powermanager_randr.cpp)
-endif(NOT WIN32)
+endif(NOT WIN32 AND NOT APPLE)
 
 qt4_add_dbus_interface(solidcontrol_LIB_SRCS org.kde.Solid.Networking.xml org_kde_solid_networking)
 
diff -Nurd kdebase-workspace-4.4.1/libs/solid/control/powermanager.cpp kdebase-workspace-4.4.1-new/libs/solid/control/powermanager.cpp
--- kdebase-workspace-4.4.1/libs/solid/control/powermanager.cpp	2010-01-06 12:00:01.000000000 -0500
+++ kdebase-workspace-4.4.1-new/libs/solid/control/powermanager.cpp	2010-03-05 14:53:30.000000000 -0500
@@ -148,7 +148,9 @@
                       Solid::Control::PowerManager::BrightnessControlsList(), brightnessControlsAvailable());
 }
 
+#if defined(Q_WS_X11) && !defined(__APPLE__)
 extern float xrandr_brightlight(Display *dpy, long new_value = -1);
+#endif
 
 bool Solid::Control::PowerManager::setBrightness(float brightness, const QString &device)
 {
@@ -157,10 +159,10 @@
         Solid::Control::PowerManager::BrightnessControlsList controls = brightnessControlsAvailable();
         if(controls.keys(Solid::Control::PowerManager::Screen).isEmpty())
         {
-#ifdef Q_WS_WIN
-            return false;
-#else
+#if defined(Q_WS_X11) && !defined(__APPLE__)
             return ( xrandr_brightlight( QX11Info::display(), brightness ) >= 0 );
+#else
+            return false;
 #endif
         }
         else
@@ -187,10 +189,10 @@
         Solid::Control::PowerManager::BrightnessControlsList controls = brightnessControlsAvailable();
         if(controls.keys(Solid::Control::PowerManager::Screen).isEmpty())
         {
-#ifdef Q_WS_WIN
-            return false;
-#else
+#if defined(Q_WS_X11) && !defined(__APPLE__)
             return xrandr_brightlight( QX11Info::display() );
+#else
+            return false;
 #endif
         }
         else
diff -Nurd kdebase-workspace-4.4.1/plasma/desktop/shell/panelview.cpp kdebase-workspace-4.4.1-new/plasma/desktop/shell/panelview.cpp
--- kdebase-workspace-4.4.1/plasma/desktop/shell/panelview.cpp	2010-02-04 04:28:38.000000000 -0500
+++ kdebase-workspace-4.4.1-new/plasma/desktop/shell/panelview.cpp	2010-03-05 14:53:39.000000000 -0500
@@ -46,6 +46,12 @@
 
 #include <kephal/screens.h>
 
+#ifdef __APPLE__
+# ifndef ShapeInput
+#  define ShapeInput 2
+# endif
+#endif
+
 class GlowBar : public QWidget
 {
 public:
diff -Nurd kdebase-workspace-4.4.1/plasma/desktop/shell/plasmaapp.cpp kdebase-workspace-4.4.1-new/plasma/desktop/shell/plasmaapp.cpp
--- kdebase-workspace-4.4.1/plasma/desktop/shell/plasmaapp.cpp	2010-02-04 04:28:38.000000000 -0500
+++ kdebase-workspace-4.4.1-new/plasma/desktop/shell/plasmaapp.cpp	2010-03-05 14:53:30.000000000 -0500
@@ -35,7 +35,7 @@
     #include <sys/sysctl.h>
     #endif
 
-    #ifdef Q_OS_NETBSD
+    #if defined(Q_OS_NETBSD) || defined(Q_OS_DARWIN) || defined(Q_OS_MAC)
     #include <sys/param.h>
     #include <sys/sysctl.h>
     #endif
@@ -193,7 +193,7 @@
         }
     }
 #endif
-#ifdef Q_OS_NETBSD
+#if defined(Q_OS_NETBSD) || defined(Q_OS_DARWIN) || defined(Q_OS_MAC)
     size_t memorySize;
     size_t len;
     static int mib[] = { CTL_HW, HW_PHYSMEM };
diff -Nurd kdebase-workspace-4.4.1/plasma/generic/applets/CMakeLists.txt kdebase-workspace-4.4.1-new/plasma/generic/applets/CMakeLists.txt
--- kdebase-workspace-4.4.1/plasma/generic/applets/CMakeLists.txt	2009-09-16 07:40:55.000000000 -0400
+++ kdebase-workspace-4.4.1-new/plasma/generic/applets/CMakeLists.txt	2010-03-05 14:53:30.000000000 -0500
@@ -13,7 +13,7 @@
    add_subdirectory(webbrowser)
 endif(QT_QTWEBKIT_FOUND)
 
-if(NOT WIN32)
+if(NOT WIN32 AND NOT APPLE)
    add_subdirectory(system-monitor)
    add_subdirectory(systemtray)
-endif(NOT WIN32)
+endif(NOT WIN32 AND NOT APPLE)
diff -Nurd kdebase-workspace-4.4.1/plasma/generic/applets/battery/battery.cpp kdebase-workspace-4.4.1-new/plasma/generic/applets/battery/battery.cpp
--- kdebase-workspace-4.4.1/plasma/generic/applets/battery/battery.cpp	2010-02-04 04:28:44.000000000 -0500
+++ kdebase-workspace-4.4.1-new/plasma/generic/applets/battery/battery.cpp	2012-04-01 17:16:04.000000000 -0400
@@ -80,7 +80,7 @@
       m_hours(0),
       m_theme(0),
       m_availableProfiles(QStringList()),
-      m_currentProfile(0),
+      m_currentProfile(),
       m_numOfBattery(0),
       m_acAdapterPlugged(false),
       m_remainingMSecs(0),
diff -Nurd kdebase-workspace-4.4.1/plasma/generic/applets/battery/battery.h kdebase-workspace-4.4.1-new/plasma/generic/applets/battery/battery.h
--- kdebase-workspace-4.4.1/plasma/generic/applets/battery/battery.h	2010-01-19 18:19:14.000000000 -0500
+++ kdebase-workspace-4.4.1-new/plasma/generic/applets/battery/battery.h	2012-04-01 14:33:11.000000000 -0400
@@ -42,7 +42,7 @@
 class Battery : public Plasma::PopupApplet
 {
     Q_OBJECT
-    Q_PROPERTY(qreal labelAlpha READ labelAlpha WRITE setLabelAlpha NOTIFY labelAlphaChanged)
+    Q_PROPERTY(qreal labelAlpha READ labelAlpha WRITE setLabelAlpha)
     Q_PROPERTY(qreal acAlpha READ acAlpha WRITE setAcAlpha)
 
     public:
diff -Nurd kdebase-workspace-4.4.1/plasma/generic/applets/digital-clock/clock.cpp kdebase-workspace-4.4.1-new/plasma/generic/applets/digital-clock/clock.cpp
--- kdebase-workspace-4.4.1/plasma/generic/applets/digital-clock/clock.cpp	2010-02-26 13:31:57.000000000 -0500
+++ kdebase-workspace-4.4.1-new/plasma/generic/applets/digital-clock/clock.cpp	2012-04-01 15:43:31.000000000 -0400
@@ -54,7 +54,7 @@
       m_showSeconds(false),
       m_showTimezone(false),
       m_dateTimezoneBesides(false),
-      m_dateString(0),
+      m_dateString(),
       m_layout(0)
 {
     KGlobal::locale()->insertCatalog("libplasmaclock");
diff -Nurd kdebase-workspace-4.4.1/plasma/generic/dataengines/geolocation/CMakeLists.txt kdebase-workspace-4.4.1-new/plasma/generic/dataengines/geolocation/CMakeLists.txt
--- kdebase-workspace-4.4.1/plasma/generic/dataengines/geolocation/CMakeLists.txt	2009-09-16 07:40:54.000000000 -0400
+++ kdebase-workspace-4.4.1-new/plasma/generic/dataengines/geolocation/CMakeLists.txt	2010-03-05 14:53:30.000000000 -0500
@@ -49,7 +49,7 @@
 find_package(libgps)
 macro_log_feature(LIBGPS_FOUND "libgps" "GPS support for geolocation" "http://gpsd.berlios.de/" FALSE "" "")
 if(LIBGPS_FOUND)
-    include_directories(${LIBGPS_INCLUDES})
+    include_directories(${LIBGPS_INCLUDES} ${LIBGPS_INCLUDE_DIR})
     set(plasma_geolocation_gps_SRCS location_gps.cpp)
     kde4_add_plugin(plasma-geolocation-gps ${plasma_geolocation_gps_SRCS})
     target_link_libraries(plasma-geolocation-gps plasma-geolocation-interface ${LIBGPS_LIBRARIES})
diff -Nurd kdebase-workspace-4.4.1/plasma/generic/dataengines/geolocation/location_gps.cpp kdebase-workspace-4.4.1-new/plasma/generic/dataengines/geolocation/location_gps.cpp
--- kdebase-workspace-4.4.1/plasma/generic/dataengines/geolocation/location_gps.cpp	2010-01-06 12:00:19.000000000 -0500
+++ kdebase-workspace-4.4.1-new/plasma/generic/dataengines/geolocation/location_gps.cpp	2010-08-13 12:38:16.000000000 -0400
@@ -41,7 +41,7 @@
 
 void Gpsd::run()
 {
-#if GPSD_API_MAJOR_VERSION == 3 && defined( WATCH_ENABLE )
+#if GPSD_API_MAJOR_VERSION >= 3 && defined( WATCH_ENABLE )
     gps_stream(m_gpsdata, WATCH_ENABLE, NULL);
 #else
     gps_query(m_gpsdata, "w+x\n");
diff -Nurd kdebase-workspace-4.4.1/plasma/netbook/shell/plasmaapp.cpp kdebase-workspace-4.4.1-new/plasma/netbook/shell/plasmaapp.cpp
--- kdebase-workspace-4.4.1/plasma/netbook/shell/plasmaapp.cpp	2010-01-31 14:30:32.000000000 -0500
+++ kdebase-workspace-4.4.1-new/plasma/netbook/shell/plasmaapp.cpp	2010-03-05 16:28:19.000000000 -0500
@@ -56,6 +56,12 @@
 #include <X11/extensions/shape.h>
 #endif
 
+#ifdef __APPLE__
+# ifndef ShapeInput
+#  define ShapeInput 2
+# endif
+#endif
+
 PlasmaApp* PlasmaApp::self()
 {
     if (!kapp) {
diff -Nurd kdebase-workspace-4.4.1/plasma/screensaver/shell/plasmaapp.cpp kdebase-workspace-4.4.1-new/plasma/screensaver/shell/plasmaapp.cpp
--- kdebase-workspace-4.4.1/plasma/screensaver/shell/plasmaapp.cpp	2009-12-31 08:28:29.000000000 -0500
+++ kdebase-workspace-4.4.1-new/plasma/screensaver/shell/plasmaapp.cpp	2010-03-05 14:53:30.000000000 -0500
@@ -33,7 +33,7 @@
     #include <sys/sysctl.h>
     #endif
 
-    #ifdef Q_OS_NETBSD
+    #if defined(Q_OS_NETBSD) || defined(Q_OS_DARWIN) || defined(Q_OS_MAC)
     #include <sys/param.h>
     #include <sys/sysctl.h>
     #endif
@@ -173,7 +173,7 @@
         }
     }
 #endif
-#ifdef Q_OS_NETBSD
+#if defined(Q_OS_NETBSD) || defined(Q_OS_DARWIN) || defined(Q_OS_MAC)
     size_t memorySize;
     size_t len;
     static int mib[] = { CTL_HW, HW_PHYSMEM };
diff -Nurd kdebase-workspace-4.4.1/qguiplatformplugin_kde/CMakeLists.txt kdebase-workspace-4.4.1-new/qguiplatformplugin_kde/CMakeLists.txt
--- kdebase-workspace-4.4.1/qguiplatformplugin_kde/CMakeLists.txt	2009-12-04 18:09:28.000000000 -0500
+++ kdebase-workspace-4.4.1-new/qguiplatformplugin_kde/CMakeLists.txt	2010-03-05 14:53:30.000000000 -0500
@@ -3,13 +3,8 @@
 set(kde_SOURCES  qguiplatformplugin_kde.cpp)
 qt4_generate_moc(qguiplatformplugin_kde.cpp ${CMAKE_CURRENT_BINARY_DIR}/qguiplatformplugin_kde.moc)
 
-
-add_library (kde SHARED ${kde_SOURCES})
+kde4_add_plugin (kde ${kde_SOURCES})
 
 target_link_libraries(kde ${KDE4_KIO_LIBS} ${QT_QTGUI_LIBRARY})
 
 install (TARGETS kde LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/gui_platform)
-
-
-
-
diff -Nurd kdebase-workspace-4.4.1/startkde.cmake kdebase-workspace-4.4.1-new/startkde.cmake
--- kdebase-workspace-4.4.1/startkde.cmake	2010-01-19 18:19:16.000000000 -0500
+++ kdebase-workspace-4.4.1-new/startkde.cmake	2010-03-05 14:53:30.000000000 -0500
@@ -13,6 +13,26 @@
 # because we still need to do some cleanup.
 trap 'echo GOT SIGHUP' HUP
 
+unset KDEDIR KDEDIRS
+
+export PATH="@FINKPREFIX@/bin:$PATH"
+
+_XDG_DATA_DIRS=""
+_XDG_CONFIG_DIRS=""
+PREFIXES=`grep '^prefixes=' "@FINKPREFIX@/opt/kde4/@FINKTYPE@/etc/kde4rc" | cut -d= -f2-`
+orig_IFS=$IFS
+IFS=","
+for PRE in $PREFIXES; do
+        export _XDG_DATA_DIRS="$_XDG_DATA_DIRS:$PRE/share"
+        export _XDG_CONFIG_DIRS="$_XDG_CONFIG_DIRS:$PRE/etc/xdg"
+		  export PATH="$PRE/bin:$PATH"
+done
+IFS=$orig_IFS
+
+XDG_DATA_DIRS=`echo $_XDG_DATA_DIRS:$XDG_DATA_DIRS | sed -e 's,^:,,' -e 's,:$,,'`
+XDG_CONFIG_DIRS=`echo $_XDG_CONFIG_DIRS:$XDG_CONFIG_DIRS | sed -e 's,^:,,' -e 's,:$,,'`
+export XDG_DATA_DIRS XDG_CONFIG_DIRS
+
 # Check if a KDE session already is running and whether it's possible to connect to X
 kcheckrunning
 kcheckrunning_result=$?
@@ -52,6 +72,11 @@
   esac
 fi
 
+for DIR in `echo $KDEDIRS | perl -e 'chomp(my $line = <STDIN>); print join(" ", reverse(split(/:/, $line)))'`; do
+	PATH="$DIR/bin:$PATH"
+	export PATH
+done
+
 # Boot sequence:
 #
 # kdeinit is used to fork off processes which improves memory usage
