summaryrefslogtreecommitdiff
path: root/src/w32reg.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/w32reg.c')
-rw-r--r--src/w32reg.c31
1 files changed, 30 insertions, 1 deletions
diff --git a/src/w32reg.c b/src/w32reg.c
index 283cd219e95..6d3137f1d4f 100644
--- a/src/w32reg.c
+++ b/src/w32reg.c
@@ -30,6 +30,33 @@ Boston, MA 02111-1307, USA. */
#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 @@ w32_get_string_resource (name, class, dwexptype)
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);
}