# HG changeset patch # User Jason Rumney # Date 1054855068 0 # Node ID b79b842995c29a2a1a053df4a287cea2a3c294bf # Parent 6b3fc894fe43f8153e6ed3b33db3d6c41c640f8b (SYSTEM_DEFAULT_RESOURCES): New constant. (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last. diff -r 6b3fc894fe43 -r b79b842995c2 src/w32reg.c --- 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); }