diff -Naur kdelibs-3.5.8.orig/kio/kfile/kfiledialog.cpp kdelibs-3.5.8/kio/kfile/kfiledialog.cpp
--- kdelibs-3.5.8.orig/kio/kfile/kfiledialog.cpp	2007-10-08 16:01:41.000000000 +0200
+++ kdelibs-3.5.8/kio/kfile/kfiledialog.cpp	2007-11-20 12:18:19.000000000 +0100
@@ -1165,6 +1165,12 @@
         d->pathCombo->setURL( url );
     }
 
+    if (url.protocol()=="beagle" && url.path()=="/") {
+       d->pathCombo->setEditText("beagle:/<"+i18n("search term")+">");
+       d->pathCombo->lineEdit()->setSelection(8,255);
+       d->pathCombo->setFocus();
+    }
+
     locationEdit->blockSignals( true );
     locationEdit->setCurrentItem( 0 );
     if ( d->keepLocation )
diff -Naur kdelibs-3.5.8.orig/kio/kfile/kurlbar.cpp kdelibs-3.5.8/kio/kfile/kurlbar.cpp
--- kdelibs-3.5.8.orig/kio/kfile/kurlbar.cpp	2007-10-08 16:01:41.000000000 +0200
+++ kdelibs-3.5.8/kio/kfile/kurlbar.cpp	2007-11-20 12:18:19.000000000 +0100
@@ -605,8 +605,19 @@
     if ( !url.isValid() || !KProtocolInfo::isKnownProtocol( url ))
         return; // nothing we could do.
 
+    QString description = config->readEntry( QString("Description_") + number ); 
+
+    if (description.isEmpty() && url.protocol()=="beagle") {
+        KIO::UDSEntry uds;
+        const KURL kurl("beagle:?beagled-status");
+        if (!KIO::NetAccess::stat(kurl, uds))
+            return;
+
+        description = i18n("Desktop Search");
+    }
+
     insertItem( url,
-                config->readEntry( QString("Description_") + number ),
+                description,
                 applicationLocal,
                 config->readEntry( QString("Icon_") + number ),
                 static_cast<KIcon::Group>(
