changeset 51501:b79b842995c2

(SYSTEM_DEFAULT_RESOURCES): New constant. (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
author Jason Rumney <jasonr@gnu.org>
date Thu, 05 Jun 2003 23:17:48 +0000
parents 6b3fc894fe43
children 33e73e6e17c4
files src/w32reg.c
diffstat 1 files changed, 30 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/w32reg.c	Thu Jun 05 22:52:43 2003 +0000
+++ b/src/w32reg.c	Thu Jun 05 23:17:48 2003 +0000
@@ -30,6 +30,33 @@
 
 #define REG_ROOT "SOFTWARE\\GNU\\Emacs"
 
+/* Default system colors from the Display Control Panel settings.  */
+#define SYSTEM_DEFAULT_RESOURCES                          \
+  "emacs.foreground:SystemWindowText\0"			  \
+  "emacs.background:SystemWindow\0"                       \
+  "emacs.tooltip.attributeForeground:SystemInfoText\0"    \
+  "emacs.tooltip.attributeBackground:SystemInfoWindow\0"  \
+  "emacs.tool-bar.attributeForeground:SystemButtonText\0" \
+  "emacs.tool-bar.attributeBackground:SystemButtonFace\0" \
+  "emacs.menu.attributeForeground:SystemMenuText\0"       \
+  "emacs.menu.attributeBackground:SystemMenu\0"           \
+  "emacs.scroll-bar.attributeForeground:SystemScrollbar"
+
+/* Other possibilities for default faces:
+
+  region: Could use SystemHilight, but interferes with our ability to
+  see most syntax highlighting through the region face.
+
+  modeline: Could use System(In)ActiveTitle, gradient versions (not
+  supported on 95 and NT), but modeline is more like a status bar
+  really (which don't appear to be configurable in Windows).
+
+  highlight: Could use SystemHotTrackingColor, but it is not supported
+  on Windows 95 or NT, and other apps only seem to use it for menus
+  anyway.
+
+*/
+
 static char *
 w32_get_rdb_resource (rdb, resource)
      char *rdb;
@@ -109,7 +136,9 @@
 	  hive = HKEY_LOCAL_MACHINE;
 	  goto trykey;
 	}
-      return (NULL);
+
+      /* Check if there are Windows specific defaults defined.  */
+      return w32_get_rdb_resource (SYSTEM_DEFAULT_RESOURCES, name);
     }
   return (lpvalue);
 }