desktop icons now use font-awesome
diff --git a/home/page/desktop/desktop.css b/home/page/desktop/desktop.css
index 88a437c..7990216 100644
--- a/home/page/desktop/desktop.css
+++ b/home/page/desktop/desktop.css
@@ -1,49 +1,13 @@
 /* Sprite CSS */
-.sprite-account{ background-position: 0 0; width: 32px; height: 40px; } 
-.sprite-buying{ background-position: 0 -90px; width: 40px; height: 40px; } 
-.sprite-calendar{ background-position: 0 -180px; width: 35px; height: 40px; } 
-.sprite-feed{ background-position: 0 -349px; width: 32px; height: 40px; } 
-.sprite-hr{ background-position: 0 -439px; width: 40px; height: 32px; } 
-.sprite-kb{ background-position: 0 -521px; width: 24px; height: 39px; } 
-.sprite-messages{ background-position: 0 -610px; width: 40px; height: 26px; } 
-.sprite-manufacturing{ background-position: 0 -686px; width: 40px; height: 33px; } 
-.sprite-project{ background-position: 0 -769px; width: 40px; height: 22px; } 
-.sprite-report{ background-position: 0 -841px; width: 29px; height: 40px; } 
-.sprite-selling{ background-position: 0 -931px; width: 34px; height: 40px; } 
-.sprite-setting{ background-position: 0 -1021px; width: 37px; height: 40px; } 
-.sprite-stock{ background-position: 0 -1111px; width: 34px; height: 39px; } 
-.sprite-support{ background-position: 0 -1200px; width: 40px; height: 40px; } 
-.sprite-todo{ background-position: 0 -1290px; width: 40px; height: 34px; } 
-.sprite-website{ background-position: 0 -1374px; width: 40px; height: 40px; } 
-
-.sprite-image { background-image: url("app/images/sprite-desktop.png"); }
-
-
-.sprite-account{ margin-top: 8px; margin-left: 12px; } 
-.sprite-selling{ margin-top: 8px; margin-left: 12px; } 
-.sprite-stock{ margin-top: 8px; margin-left: 8px; } 
-.sprite-buying{ margin-top: 8px; margin-left: 8px; } 
-.sprite-support{ margin-top: 8px; margin-left: 8px; } 
-.sprite-hr{ margin-top: 12px; margin-left: 8px; } 
-.sprite-project{ margin-top: 16px; margin-left: 8px; } 
-.sprite-manufacturing{ margin-top: 10px; margin-left: 8px; } 
-.sprite-website{ margin-top: 8px; margin-left: 8px; } 
-.sprite-setting{ margin-top: 8px; margin-left: 8px; } 
-.sprite-report{ margin-top: 8px; margin-left: 14px; } 
-
-.sprite-messages{ margin-top: 14px; margin-left: 8px; } 
-.sprite-todo{ margin-top: 10px; margin-left: 10px; } 
-.sprite-calendar{ margin-top: 8px; margin-left: 10px; } 
-.sprite-kb{ margin-top: 8px; margin-left: 16px; } 
-.sprite-feed{ margin-top: 8px; margin-left: 14px; } 
 
 .case-border {
 	border-radius: 10px;
 	-moz-border-radius: 10px;
 	-webkit-border-radius: 10px;
-	width: 56px;
-	height: 56px;
-	border: 4px solid white;
+	width: 32px;
+	height: 32px;
+	padding: 12px;
+	border: 2px solid white;
 	box-shadow: 0 0 4px 1px black;
 	-moz-box-shadow: 0 0 4px 1px black;
 	-webkit-box-shadow: 0 0 4px 1px black;
@@ -58,6 +22,12 @@
 	height: 100px;
 }
 
+.case-wrapper i {
+	font-size: 32px;
+	color: #f8f8f8;
+	margin-top: 8px;
+}
+
 .case-label {
 	color: white;
 	padding-top: 10px;
diff --git a/home/page/desktop/desktop.js b/home/page/desktop/desktop.js
index f9a3b54..e154b3a 100644
--- a/home/page/desktop/desktop.js
+++ b/home/page/desktop/desktop.js
@@ -1,74 +1,48 @@
 wn.provide('erpnext.desktop');
 
-erpnext.desktop.gradient = "<style>\
-	.case-%(name)s {\
-		background: %(start)s; /* Old browsers */\
-		background: -moz-radial-gradient(center, ellipse cover,  %(start)s 0%, %(middle)s 44%, %(end)s 100%); /* FF3.6+ */\
-		background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,%(start)s), color-stop(44%,%(middle)s), color-stop(100%,%(end)s)); /* Chrome,Safari4+ */\
-		background: -webkit-radial-gradient(center, ellipse cover,  %(start)s 0%,%(middle)s 44%,%(end)s 100%); /* Chrome10+,Safari5.1+ */\
-		background: -o-radial-gradient(center, ellipse cover,  %(start)s 0%,%(middle)s 44%,%(end)s 100%); /* Opera 12+ */\
-		background: -ms-radial-gradient(center, ellipse cover,  %(start)s 0%,%(middle)s 44%,%(end)s 100%); /* IE10+ */\
-		background: radial-gradient(center, ellipse cover,  %(start)s 0%,%(middle)s 44%,%(end)s 100%); /* W3C */\
-	}\
-	</style>"
-
 erpnext.desktop.refresh = function() {
-	erpnext.desktop.add_classes();
 	erpnext.desktop.render();
-}
 
-erpnext.desktop.add_classes = function() {
-	$.each(wn.module_css_classes, function(i, v) {
-		v.name = i;
-		$(repl(erpnext.desktop.gradient, v)).appendTo('head');
+	$("#icon-grid").sortable({
+		update: function() {
+			new_order = [];
+			$("#icon-grid .case-wrapper").each(function(i, e) {
+				new_order.push($(this).attr("data-name"));
+			});
+			wn.user.set_default("_desktop_items", new_order);
+		}
 	});
 }
 
 erpnext.desktop.render = function() {
-	var icons = {
-		'Accounts': { sprite: 'account', label: 'Accounts'},
-		'Selling': { sprite: 'selling', label: 'Selling'},
-		'Stock': { sprite: 'stock', label: 'Stock'},
-		'Buying': { sprite: 'buying', label: 'Buying'},
-		'Support': { sprite: 'support', label: 'Support'},
-		'HR': { sprite: 'hr', label: 'Human<br />Resources'},
-		'Projects':	{ sprite: 'project', label: 'Projects'},
-		'Manufacturing': { sprite: 'manufacturing', label: 'Manufacturing'},
-		'Website': { sprite: 'website', label: 'Website'},
-		'Activity': { sprite: 'feed', label: 'Activity'},
-		'Setup': { sprite: 'setting', label: 'Setup'},
-		'To Do': { sprite: 'todo', label: 'To Do'},
-		'Messages': { sprite: 'messages', label: 'Messages'},
-		'Calendar': { sprite: 'calendar', label: 'Calendar'},
-		'Knowledge Base': { sprite: 'kb', label: 'Knowledge<br />Base'}
-	}
-
 	var add_icon = function(m) {
-		var icon = icons[m];
-		icon.link = erpnext.modules[m];
-		icon.gradient = wn.module_css_map[m];
+		var module = wn.modules[m];
+		if(!module.label) 
+			module.label = m;
+		module.name = m;
+		module.gradient_css = wn.get_gradient_css(module.color, 45);
 		
 		$('#icon-grid').append(repl('\
-			<div id="%(sprite)s" class="case-wrapper"><a href="#!%(link)s">\
-				<div class="case-border case-%(gradient)s">\
-					<div class="sprite-image sprite-%(sprite)s"></div>\
+			<div id="module-icon-%(link)s" class="case-wrapper" data-name="%(name)s"><a href="#%(link)s">\
+				<div class="case-border" style="%(gradient_css)s">\
+					<i class="%(icon)s"></i>\
 				</div></a>\
 				<div class="case-label">%(label)s</div>\
-			</div>', icon));		
+			</div>', module));
 	}
 	
-	// setup
-	for(var i in wn.boot.modules_list) {
-		var m = wn.boot.modules_list[i];
+	// modules
+	var modules_list = wn.user.get_default("_desktop_items") || wn.boot.modules_list;
+	$.each(modules_list, function(i, m) {
 		if(!in_list(['Setup', 'Core'], m) && wn.boot.profile.allow_modules.indexOf(m)!=-1)
 			add_icon(m);
-	}
+	})
 
-
+	// setup
 	if(user_roles.indexOf('System Manager')!=-1)
 		add_icon('Setup')
 
-	// apps
+	// notifications
 	erpnext.desktop.show_pending_notifications();
 
 }
@@ -100,12 +74,12 @@
 
 	}
 
-	add_circle('messages', 'unread_messages', 'Unread Messages');
-	add_circle('support', 'open_support_tickets', 'Open Support Tickets');
-	add_circle('todo', 'things_todo', 'Things To Do');
-	add_circle('calendar', 'todays_events', 'Todays Events');
-	add_circle('project', 'open_tasks', 'Open Tasks');
-	add_circle('kb', 'unanswered_questions', 'Unanswered Questions');
+	add_circle('module-icon-messages', 'unread_messages', 'Unread Messages');
+	add_circle('module-icon-support', 'open_support_tickets', 'Open Support Tickets');
+	add_circle('module-icon-todo', 'things_todo', 'Things To Do');
+	add_circle('module-icon-calendar', 'todays_events', 'Todays Events');
+	add_circle('module-icon-project', 'open_tasks', 'Open Tasks');
+	add_circle('module-icon-kb', 'unanswered_questions', 'Unanswered Questions');
 
 	erpnext.update_messages();
 
diff --git a/public/images/module-icons-small.png b/public/images/module-icons-small.png
deleted file mode 100644
index c5dc26d..0000000
--- a/public/images/module-icons-small.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/accounts.png b/public/images/module_icons/accounts.png
deleted file mode 100644
index 5a05c4d..0000000
--- a/public/images/module_icons/accounts.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/buying.png b/public/images/module_icons/buying.png
deleted file mode 100644
index 5878748..0000000
--- a/public/images/module_icons/buying.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/calendar.png b/public/images/module_icons/calendar.png
deleted file mode 100644
index 254ba0f..0000000
--- a/public/images/module_icons/calendar.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/dashboard.png b/public/images/module_icons/dashboard.png
deleted file mode 100644
index 1e12ea0..0000000
--- a/public/images/module_icons/dashboard.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/feed.png b/public/images/module_icons/feed.png
deleted file mode 100644
index d4d5eab..0000000
--- a/public/images/module_icons/feed.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/hr.png b/public/images/module_icons/hr.png
deleted file mode 100644
index 34fa2f8..0000000
--- a/public/images/module_icons/hr.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/kb.png b/public/images/module_icons/kb.png
deleted file mode 100644
index 9ea1842..0000000
--- a/public/images/module_icons/kb.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/messages.png b/public/images/module_icons/messages.png
deleted file mode 100644
index 77556e1..0000000
--- a/public/images/module_icons/messages.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/production.png b/public/images/module_icons/production.png
deleted file mode 100644
index 309b7bc..0000000
--- a/public/images/module_icons/production.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/projects.png b/public/images/module_icons/projects.png
deleted file mode 100644
index 65c87ee..0000000
--- a/public/images/module_icons/projects.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/selling.png b/public/images/module_icons/selling.png
deleted file mode 100644
index 9e5d1f2..0000000
--- a/public/images/module_icons/selling.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/setup.png b/public/images/module_icons/setup.png
deleted file mode 100644
index 18061df..0000000
--- a/public/images/module_icons/setup.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/stock.png b/public/images/module_icons/stock.png
deleted file mode 100644
index 42c1453..0000000
--- a/public/images/module_icons/stock.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/support.png b/public/images/module_icons/support.png
deleted file mode 100644
index a407505..0000000
--- a/public/images/module_icons/support.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/todo.png b/public/images/module_icons/todo.png
deleted file mode 100644
index b7c056b..0000000
--- a/public/images/module_icons/todo.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/website.png b/public/images/module_icons/website.png
deleted file mode 100644
index 11064de..0000000
--- a/public/images/module_icons/website.png
+++ /dev/null
Binary files differ
diff --git a/public/images/sprite-desktop.png b/public/images/sprite-desktop.png
deleted file mode 100644
index cb8fc6e..0000000
--- a/public/images/sprite-desktop.png
+++ /dev/null
Binary files differ
diff --git a/public/js/conf.js b/public/js/conf.js
index 8dd4cb9..522de0a 100644
--- a/public/js/conf.js
+++ b/public/js/conf.js
@@ -7,7 +7,7 @@
 		source: 'https://github.com/webnotes/erpnext',
 		publisher: 'Web Notes Technologies Pvt Ltd, Mumbai',
 		copyright: '&copy; Web Notes Technologies Pvt Ltd',
-		version: '2' //+ '.' + window._version_number
+		version: 'Please see git log for the release number'
 	});
 }
 
diff --git a/public/js/modules.js b/public/js/modules.js
index b95b3ea..c90aac6 100644
--- a/public/js/modules.js
+++ b/public/js/modules.js
@@ -14,75 +14,85 @@
 // You should have received a copy of the GNU General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-erpnext.modules = {
-	'Selling': 'selling-home',
-	'Accounts': 'accounts-home',
-	'Stock': 'stock-home',
-	'Buying': 'buying-home',
-	'Support': 'support-home',
-	'Projects': 'projects-home',
-	'Manufacturing': 'manufacturing-home',
-	'Website': 'website-home',
-	'HR': 'hr-home',
-	'Setup': 'Setup',
-	'Activity': 'activity',
-	'To Do': 'todo',
-	'Calendar': 'calendar',
-	'Messages': 'messages',
-	'Knowledge Base': 'questions',
-}
-
-wn.provide('wn.modules');
-$.extend(wn.modules, erpnext.modules);
-wn.modules['Core'] = 'Setup';
-
-wn.module_css_classes  = {
-	'red': { start: '#A90329', middle: '#8F0222',	end: '#6D0019' },
-	'brown': { start: '#723e02', middle: '#633501', end: '#4a2700' },
-	'green': { start: '#4b5602', middle: '#3f4901', end: '#313800' },
-	'blue': { start: '#026584', middle: '#025770', end: '#004256' },
-	'yellow': { start: '#be7902', middle: '#a66a02', end: '#865500' },
-	'purple': { start: '#4d017d', middle: '#410169', end: '#310050' },
-	'ocean': { start: '#02a47e', middle: '#018d6c', end: '#006a51' },
-	'pink': { start: '#a40281', middle: '#8d016e', end: '#6a0053' },
-	'grey': { start: '#545454', middle: '#484848', end: '#363636' },
-	'dark-red': { start: '#68021a', middle: '#590116', end: '#440010' },
-	'leaf-green': { start: '#b0a400', middle: '#968c00', end: '#726a00' },
-	//'dark-blue': { start: '#023bae', middle: '#013295', end: '#002672' },
-	'bright-green': { start: '#03ad1f', middle: '#02941a', end: '#007213' },
-	'bright-yellow': { start: '#ffd65e', middle: '#febf04', end: '#ed9017' },
-	'peacock': { start: '#026584', middle: '#026584', end: '#322476' },
-	'violet': { start: '#50448e', middle: '#473b7f', end: '#3a3169' },
-	'ultra-dark-green': { start: '#014333', middle: '#01372b', end: '#002a20' },		
-}
-
-wn.module_css_map = {
-	'Accounts': 'blue',
-	'Selling': 'green',
-	'Stock': 'yellow',
-	'Buying': 'red',
-	'Support': 'purple',
-	'HR': 'ocean',
-	'Projects':	'violet',
-	'Manufacturing': 'dark-red',
-	'Website': 'leaf-green',
-	'Activity': 'brown',
-	'Setup': 'grey',
-	'To Do': 'bright-yellow',
-	'Messages': 'pink',
-	'Calendar': 'peacock',
-	'Knowledge Base': 'ultra-dark-green'
-}
-
-wn.get_module_color = function(module) {
-	try {
-		var color = wn.module_css_classes[wn.module_css_map[module]].middle;			
-	} catch(e) {
-		var color = "#000";
-	}
-	return color;	
-}
-
+$.extend(wn.modules, {
+	"Selling": {
+		link: "selling-home",
+		color: "#3f4901",
+		icon: "icon-tag"
+	},
+	"Accounts": {
+		link: "accounts-home",
+		color: "#025770",
+		icon: "icon-money"
+	},
+	"Stock": {
+		link: "stock-home",
+		color: "#a66a02",
+		icon: "icon-truck"
+	},
+	"Buying": {
+		link: "buying-home",
+		color: "#8F0222",
+		icon: "icon-shopping-cart"
+	},
+	"Support": {
+		link: "support-home",
+		color: "#410169",
+		icon: "icon-phone"
+	},
+	"Projects": {
+		link: "projects-home",
+		color: "#473b7f",
+		icon: "icon-tasks"
+	},
+	"Manufacturing": {
+		link: "manufacturing-home",
+		color: "#590116",
+		icon: "icon-magic"
+	},
+	"Website": {
+		link: "website-home",
+		color: "#968c00",
+		icon: "icon-globe"
+	},
+	"HR": {
+		link: "hr-home",
+		color: "#018d6c",
+		label: "Human Resources",
+		icon: "icon-group"
+	},
+	"Setup": {
+		link: "hr-home",
+		color: "#484848",
+		icon: "icon-wrench"
+	},
+	"Activity": {
+		link: "activity",
+		color: "#633501",
+		icon: "icon-play"
+	},
+	"To Do": {
+		link: "todo",
+		color: "#febf04",
+		icon: "icon-check"
+	},
+	"Calendar": {
+		link: "calendar",
+		color: "#026584",
+		icon: "icon-calendar"
+	},
+	"Messages": {
+		link: "messages",
+		color: "#8d016e",
+		icon: "icon-comments"
+	},
+	"Knowledge Base": {
+		link: "questions",
+		color: "#01372b",
+		icon: "icon-question-sign"
+	},
+	
+});
 
 wn.provide('erpnext.module_page');
 
diff --git a/public/js/startup.css b/public/js/startup.css
index c367cbb..88ebedd 100644
--- a/public/js/startup.css
+++ b/public/js/startup.css
@@ -60,25 +60,4 @@
 .show-all-reports {
 	margin-top: 5px;
 	font-size: 11px;
-}
-
-.small-module-icons-accounts{ background-position: 0 0; width: 14px; height: 17px; margin-top: -2px; margin-bottom: -2px; } 
-.small-module-icons-selling{ background-position: 0 -67px; width: 14px; height: 17px; margin-top: -2px; margin-bottom: -2px; } 
-.small-module-icons-calendar{ background-position: 0 -134px; width: 15px; height: 17px; margin-top: -2px; margin-bottom: -2px; } 
-.small-module-icons-feed{ background-position: 0 -263px; width: 14px; height: 17px; margin-top: -2px; margin-bottom: -2px; } 
-.small-module-icons-hr{ background-position: 0 -330px; width: 17px; height: 14px; margin-top: -1px; } 
-.small-module-icons-kb{ background-position: 0 -394px; width: 10px; height: 17px; margin-top: -2px; margin-bottom: -2px; } 
-.small-module-icons-messages{ background-position: 0 -461px; width: 17px; height: 11px; } 
-.small-module-icons-manufacturing{ background-position: 0 -522px; width: 17px; height: 14px; margin-top: -1px; } 
-.small-module-icons-projects{ background-position: 0 -586px; width: 17px; height: 10px; } 
-.small-module-icons-buying{ background-position: 0 -646px; width: 17px; height: 17px; margin-top: -2px; margin-bottom: -2px; } 
-.small-module-icons-setup{ background-position: 0 -713px; width: 16px; height: 17px; margin-top: -2px; margin-bottom: -2px; } 
-.small-module-icons-stock{ background-position: 0 -780px; width: 14px; height: 17px; margin-top: -2px; margin-bottom: -2px; } 
-.small-module-icons-support{ background-position: 0 -847px; width: 17px; height: 17px; margin-top: -2px; margin-bottom: -2px; } 
-.small-module-icons-todo{ background-position: 0 -914px; width: 17px; height: 15px; margin-top: -1px; margin-bottom: -1px; } 
-.small-module-icons-website{ background-position: 0 -979px; width: 17px; height: 17px; margin-top: -2px; margin-bottom: -2px; } 
-
-.small-module-icons { 
-	background-image: url("../app/images/module-icons-small.png"); 
-	display: inline-block;
 }
\ No newline at end of file
diff --git a/public/js/toolbar.js b/public/js/toolbar.js
index fa83569..e228826 100644
--- a/public/js/toolbar.js
+++ b/public/js/toolbar.js
@@ -59,7 +59,7 @@
 		wn.boot.modules_list = JSON.parse(wn.boot.modules_list);	
 	}
 	else
-		wn.boot.modules_list = keys(erpnext.modules).sort();
+		wn.boot.modules_list = keys(wn.modules).sort();
 
 	// add to dropdown
 	for(var i in wn.boot.modules_list) {
@@ -68,8 +68,8 @@
 		if(m!='Setup' && wn.boot.profile.allow_modules.indexOf(m)!=-1) {
 			args = {
 				module: m,
-				module_page: erpnext.modules[m],
-				module_label: m=='HR' ? 'Human Resources' : m
+				module_page: wn.modules[m].link,
+				module_label: wn.modules[m].label || m
 			}
 
 			$('.navbar .modules').append(repl('<li><a href="#!%(module_page)s" \