diff -urN notecase-1.9.8.orig/Makefile notecase-1.9.8/Makefile
--- notecase-1.9.8.orig/Makefile	2008-12-09 10:07:06.000000000 +0000
+++ notecase-1.9.8/Makefile	2010-01-18 23:00:45.000000000 +0000
@@ -7,7 +7,8 @@
 # This makefile was tested on Linux (gcc/g++), Windows (Mingw/Msys), OSX, OpenSolaris and FreeBSD
 # Use "gmake" to compile on OSX and FreeBSD
 #
-VERSION=1.9.8
+# Overrides config.h
+VERSION=1.9.8-r1
 
 # define install target dirs
 prefix=/usr
diff -urN notecase-1.9.8.orig/src/config.h notecase-1.9.8/src/config.h
--- notecase-1.9.8.orig/src/config.h	2008-12-09 10:11:21.000000000 +0000
+++ notecase-1.9.8/src/config.h	2010-01-18 22:11:48.000000000 +0000
@@ -10,7 +10,7 @@
 #define CONFIG_H__
 
 #define APP_NAME_STR "NoteCase"
-#define APP_VER_STR "1.9.8"
+#define APP_VER_STR "1.9.8-r1"
 
 #define PACKAGE "notecase"	//NLS package definition
 #define UNDO_LIST_SIZE 10
diff -urN notecase-1.9.8.orig/src/main.cpp notecase-1.9.8/src/main.cpp
--- notecase-1.9.8.orig/src/main.cpp	2008-10-24 19:54:50.000000000 +0100
+++ notecase-1.9.8/src/main.cpp	2010-01-12 18:09:39.000000000 +0000
@@ -76,6 +76,7 @@
 int  load_file(const char *filename, const char *szPassword = NULL, int nCurNodeIdx = -1);
 int  load_file_embedded(int nCurNodeIdx = -1);
 void export_document(const NoteDocument &document, int nExportMode, const std::string &strExportFile, const std::string &strPostProcessScript, const std::string &strCSS, int nEmbedCSS = -1, bool bCheckOverwrite = true, bool bExportLinked = false, int nFormat = FORMAT_NONE, int nExportBranchIdx=-1);
+void RefreshTextViewCaretColor(GdkColor &BkColor);
 
 class OpListLang : public Thread
 {
@@ -576,25 +577,25 @@
 					g_strLoadDocumentPass = strPassword;
 					g_nLoadDocumentNodeID = nCurNodeIdx;
 				}
-				if(!g_wnd.m_pWidget) g_wnd.Create();
+				// ### if(!g_wnd.m_pWidget) g_wnd.Create();
 			}
-			else{
+			else{ // argc == 1
 				//check "reload last file" option
 				g_objMRU.Load();
 
 				bool bLoadLastDoc;
-				if(g_objIni.GetValue("Startup", "ReloadLastDocument", bLoadLastDoc))
+				if(g_objIni.GetValue("Startup", "ReloadLastDocument", bLoadLastDoc)){
 					if(bLoadLastDoc && (g_objMRU.GetSize() > 0)){
 						g_bInitialLoad = true;
 						g_bUpdateMRU = true;
 						g_strLoadDocumentFile = g_objMRU.GetFile(0);
 						g_nLoadDocumentNodeID = nCurNodeIdx;
 					}
-
-				if(!g_wnd.m_pWidget) g_wnd.Create();	// this will load MRU
+				}
+				// ### if(!g_wnd.m_pWidget) g_wnd.Create();	// this will load MRU
 			}
-		}
-	}
+		} // !bBackupLoaded
+	} // !bStandalone
 	else
 	{
 		//TOFIX read command line for embedded doc also ?
@@ -602,11 +603,48 @@
 		g_bInitialLoad = true;
 		g_bLoadEmbedded = true;
 
-		if(!g_wnd.m_pWidget) g_wnd.Create();
+		// ### if(!g_wnd.m_pWidget) g_wnd.Create();
 	}
 
+	// Catchall
 	if(!g_wnd.m_pWidget) g_wnd.Create();
+#if 1
+	// Get widget handles
+	GtkWidget *treeview = lookup_widget(g_wnd.m_pWidget, "treeview1");
+	GtkWidget *textview = lookup_widget(g_wnd.m_pWidget, "textview1");
+	// GtkWidget *label1   = lookup_widget(g_wnd.m_pWidget, "label1");
+
+	// ### set custom GUI colors
+	std::string strColor, strColor1;
+	g_objIni.GetValue("Display", "TextColor", strColor, "");
+	g_objIni.GetValue("Display", "BackgroundColor", strColor1, "");
+	if(strColor.size() > 0)
+	{
+		GdkColor color;
+		gdk_color_parse (strColor.c_str(), &color);
+		gtk_widget_modify_text(GTK_WIDGET(textview), GTK_STATE_NORMAL, &color);
+		gtk_widget_modify_text(GTK_WIDGET(treeview), GTK_STATE_NORMAL, &color);
+	}
+	if(strColor1.size() > 0)
+	{
+		GdkColor color1;
+		gdk_color_parse (strColor1.c_str(), &color1);
+
+		gtk_widget_modify_base(GTK_WIDGET(textview), GTK_STATE_NORMAL, &color1);
+		// gtk_widget_modify_base(GTK_WIDGET(textview), GTK_STATE_ACTIVE, &color1);
+		// gtk_widget_modify_base(GTK_WIDGET(textview), GTK_STATE_PRELIGHT, &color1);
+		// gtk_widget_modify_base(GTK_WIDGET(textview), GTK_STATE_SELECTED, &color1);
+		gtk_widget_modify_base(GTK_WIDGET(textview), GTK_STATE_INSENSITIVE, &color1);
+
+		gtk_widget_modify_base(GTK_WIDGET(treeview), GTK_STATE_NORMAL, &color1);
+		// gtk_widget_modify_base(GTK_WIDGET(treeview), GTK_STATE_ACTIVE, &color1);
+		// gtk_widget_modify_base(GTK_WIDGET(treeview), GTK_STATE_PRELIGHT, &color1);
+		// gtk_widget_modify_base(GTK_WIDGET(treeview), GTK_STATE_SELECTED, &color1);
+		gtk_widget_modify_base(GTK_WIDGET(treeview), GTK_STATE_INSENSITIVE, &color1);
 
+		RefreshTextViewCaretColor(color1);
+	}
+#endif
 	CheckCrashLogFiles();
 
 	OpListLang *pOpThread = new OpListLang;
diff -urN notecase-1.9.8.orig/src/MainWnd.cpp notecase-1.9.8/src/MainWnd.cpp
--- notecase-1.9.8.orig/src/MainWnd.cpp	2008-12-08 13:13:16.000000000 +0000
+++ notecase-1.9.8/src/MainWnd.cpp	2010-01-12 19:01:38.000000000 +0000
@@ -379,7 +379,8 @@
 		RefreshTextViewCaretColor(color1);
 
 		g_rgbTextViewBkColor = color1;
-
+#if 0
+		// ### Apparently no longer needed (Gnome 2.24).
 		//fix for GTK bug - tree view loses background color
 		static const char cursor_color_rc[] =
 			"style \"aaa\"\n"
@@ -400,6 +401,7 @@
 		gtk_widget_set_name(treeview, "aaa");
 		gtk_widget_reset_rc_styles (treeview);
 		g_free (rc_temp);
+#endif
   	}
 
 	if(g_bDrawTextviewExpose){
