Switch to side-by-side view

--- a/src/common/rclconfig.cpp
+++ b/src/common/rclconfig.cpp
@@ -885,33 +885,30 @@
     return true;
 }
 
-/**
- * Return icon name and path
- */
-string RclConfig::getMimeIconName(const string &mtype, string *path)
+string RclConfig::getMimeIconPath(const string &mtype, const string &apptag)
 {
     string iconname;
-    mimeconf->get(mtype, iconname, "icons");
+    if (!apptag.empty())
+	mimeconf->get(mtype + string("|") + apptag, iconname, "icons");
+    if (iconname.empty())
+        mimeconf->get(mtype, iconname, "icons");
     if (iconname.empty())
 	iconname = "document";
 
-    if (path) {
-	string iconsdir;
-
+    string iconpath;
 #if defined (__FreeBSD__) && __FreeBSD_version < 500000
-	// gcc 2.95 dies if we call getConfParam here ??
-	if (m_conf) m_conf->get(string("iconsdir"), iconsdir, m_keydir);
+    // gcc 2.95 dies if we call getConfParam here ??
+    if (m_conf) m_conf->get(string("iconsdir"), iconpath, m_keydir);
 #else
-	getConfParam("iconsdir", iconsdir);
+    getConfParam("iconsdir", iconpath);
 #endif
-	if (iconsdir.empty()) {
-	    iconsdir = path_cat(m_datadir, "images");
-	} else {
-	    iconsdir = path_tildexpand(iconsdir);
-	}
-	*path = path_cat(iconsdir, iconname) + ".png";
-    }
-    return iconname;
+
+    if (iconpath.empty()) {
+	iconpath = path_cat(m_datadir, "images");
+    } else {
+	iconpath = path_tildexpand(iconpath);
+    }
+    return path_cat(iconpath, iconname) + ".png";
 }
 
 string RclConfig::getDbDir()