diff -ur ../filelight-4.8.0_orig/src/part/localLister.cpp ./src/part/localLister.cpp
--- ../filelight-4.8.0_orig/src/part/localLister.cpp	2012-01-31 14:47:57.000000000 +0900
+++ ./src/part/localLister.cpp	2012-01-31 14:50:21.000000000 +0900
@@ -45,6 +45,10 @@
 #include <sys/types.h>
 #include <unistd.h>
 
+#ifdef __APPLE_KDE__
+#include <sys/mount.h>
+#endif
+
 #ifdef HAVE_MNTENT_H
 #include <mntent.h>
 #endif
@@ -250,7 +254,25 @@
         }
     }
 
-    kDebug() << "Found the following remote filesystems: " << s_remoteMounts;
+#ifdef __APPLE_KDE__
+    struct statfs *mounts;
+    int nmounts = getmntinfo(&mounts, MNT_WAIT);
+    for (int i = 0; i < nmounts; ++i) {
+    	struct statfs *m = mounts + i;
+    	if (m->f_flags & MNT_ROOTFS)
+    		continue;
+	
+    	QString str = QString::fromUtf8(m->f_mntonname);
+    	str += QLatin1Char('/');
+	
+    	QStringList &list = (m->f_flags & MNT_LOCAL)
+    		? s_localMounts : s_remoteMounts;
+    	if (!list.contains(str))
+    		list.append(str);
+    }
+#endif
+
+	kDebug() << "Found the following remote filesystems: " << s_remoteMounts;
     kDebug() << "Found the following local filesystems: " << s_localMounts;
 }
 
diff -ur ../filelight-4.8.0_orig/src/part/summaryWidget.cpp ./src/part/summaryWidget.cpp
--- ../filelight-4.8.0_orig/src/part/summaryWidget.cpp	2011-08-22 22:26:05.000000000 +0900
+++ ./src/part/summaryWidget.cpp	2012-01-31 14:50:42.000000000 +0900
@@ -45,6 +45,11 @@
 #include <QtGui/QMouseEvent>
 #include <QtGui/QLayout>
 
+#ifdef __APPLE_KDE__
+#include <QFileIconProvider>
+#include <sys/mount.h>
+#endif
+
 struct Disk
 {
     QString mount;
@@ -137,7 +142,12 @@
         QLabel *label = new QLabel(text, this);
         horizontalLayout->addWidget(label);
         QLabel *icon = new QLabel(this);
+#ifdef __APPLE_KDE__
+		QIcon i = QFileIconProvider().icon(QFileInfo(disk.mount));
+        icon->setPixmap(i.pixmap(32,32));
+#else
         icon->setPixmap(KIcon(disk.icon).pixmap(16,16));
+#endif
         horizontalLayout->addWidget(icon);
 
         horizontalLayout->setAlignment(Qt::AlignCenter);
@@ -159,6 +169,25 @@
 
 DiskList::DiskList()
 {
+#ifdef __APPLE_KDE__
+	struct statfs *mounts;
+	int nmounts = getmntinfo(&mounts, MNT_WAIT);
+	for (int i = 0; i < nmounts; ++i) {
+		struct statfs *m = mounts + i;
+		
+		char *path = m->f_mntonname;
+		if (m->f_blocks == 0 || m->f_flags & MNT_DONTBROWSE ||
+				access(path, R_OK | X_OK) != 0)
+			continue;
+		
+		Disk disk;
+		disk.mount = QString::fromUtf8(path);
+		disk.size = m->f_blocks * m->f_bsize / 1024;
+		disk.free = m->f_bfree * m->f_bsize / 1024;
+		disk.used = disk.size - disk.free;
+        *this += disk;
+    }
+#else
     const Solid::StorageAccess *partition;
     QStringList partitions;
 
@@ -186,4 +215,5 @@
 
         *this += disk;
     }
+#endif
 }
