diff lisp/dynamic-setting.el @ 109749:be18c3b67d66

Take colors for region face (selected text) from the Gtk+ theme. * lisp/dynamic-setting.el (dynamic-setting-handle-config-changed-event): Handle theme-name change. * lisp/faces.el (region): Add type gtk that uses gtk colors. * src/gtkutil.c (xg_check_special_colors, style_changed_cb): New functions. (xg_create_frame_widgets): Connect theme name changes to style_changed_cb. * src/gtkutil.h (xg_check_special_colors): Declare. * src/xfns.c (x_defined_color): If USE_GTK, call xg_check_special_colors first.
author Jan D <jan.h.d@swipnet.se>
date Wed, 11 Aug 2010 20:28:10 +0200
parents 012ef7d8f2be
children fe9b13a5f44f 3226ac2da7f7 280c8ae2476d
line wrap: on
line diff
--- a/lisp/dynamic-setting.el	Wed Aug 11 14:34:46 2010 +0200
+++ b/lisp/dynamic-setting.el	Wed Aug 11 20:28:10 2010 +0200
@@ -96,6 +96,11 @@
 	  ((eq type 'font-render)
 	   (font-setting-change-default-font display-name nil))
 
+	  ;; This is a bit heavy, ideally we would just clear faces
+	  ;; on the affected display, and perhaps only the relevant
+	  ;; faces.  Oh well.
+	  ((eq type 'theme-name) (clear-face-cache))
+
 	  ((eq type 'tool-bar-style) (force-mode-line-update t)))))
 
 (define-key special-event-map [config-changed-event]