comparison src/Makefile.in @ 106085:cd4cbab8bb21

Handle system default font and changing font parameters. * xterm.h (struct x_display_info): Add atoms and Window for xsettings. * xterm.c (handle_one_xevent): Call xft_settings_event for ClientMessage, PropertyNotify and DestroyNotify. (x_term_init): If we have XFT, get DPI from Xft.dpi. Call xsettings_initialize. * xftfont.c (xftfont_fix_match): New function. (xftfont_open): Call XftDefaultSubstitute before XftFontMatch. Call xftfont_fix_match after XftFontMatch. * xfont.c (xfont_driver): Initialize all members. * xfns.c (x_default_font_parameter): Try font from Ffont_get_system_font. Do not get font from x_default_parameter if we got one from Ffont_get_system_font. (Fx_select_font): Get the defaut font name from :name of FRAME_FONT (f). * w32font.c (w32font_driver): Initialize all members. * termhooks.h (enum event_kind): CONFIG_CHANGED_EVENT is new. * lisp.h: Declare syms_of_xsettings. * keyboard.c (kbd_buffer_get_event, make_lispy_event): Handle CONFIG_CHANGED_EVENT. * ftfont.c (ftfont_filter_properties): New function. * frame.c (x_set_font): Remove unused variable lval. * font.h (struct font_driver): filter_properties is new. * font.c (font_put_extra): Don't return if val is nil, it means boolean option is off. (font_parse_fcname): Collect all extra properties in extra_props and call filter_properties for all drivers with extra_props and font as parameter. (font_open_entity): Do not use cache, it does not pick up new fontconfig settings like hinting. (font_load_for_lface): If spec had a name in it, store it in entity. * emacs.c (main): Call syms_of_xsettings * config.in: HAVE_GCONF is new. * Makefile.in (GCONF_CFLAGS, GCONF_LIBS): New variables for HAVE_GCONF. xsettings.o is new. * menu-bar.el: Put "Use system font" in Option-menu. * loadup.el: If feature system-font-setting or font-render-setting is there, load font-setting. * Makefile.in (ELCFILES): font-settings.el is new. * font-setting.el: New file. * NEWS: Mention dynamic font changes (font-use-system-font). * configure.in: New option: --with(out)-gconf. Set HAVE_GCONF if we find gconf.
author Jan Dj?rv <jan.h.d@swipnet.se>
date Tue, 17 Nov 2009 08:21:23 +0000
parents f73265af0411
children be7e2495f4ac
comparison
equal deleted inserted replaced
106084:f03048d6d95a 106085:cd4cbab8bb21
246 DBUS_CFLAGS = @DBUS_CFLAGS@ 246 DBUS_CFLAGS = @DBUS_CFLAGS@
247 DBUS_LIBS = @DBUS_LIBS@ 247 DBUS_LIBS = @DBUS_LIBS@
248 DBUS_OBJ = dbusbind.o 248 DBUS_OBJ = dbusbind.o
249 #endif 249 #endif
250 250
251 #ifdef HAVE_GCONF
252 GCONF_CFLAGS = @GCONF_CFLAGS@
253 GCONF_LIBS = @GCONF_LIBS@
254 #endif
255
251 /* DO NOT use -R. There is a special hack described in lastfile.c 256 /* DO NOT use -R. There is a special hack described in lastfile.c
252 which is used instead. Some initialized data areas are modified 257 which is used instead. Some initialized data areas are modified
253 at initial startup, then labeled as part of the text area when 258 at initial startup, then labeled as part of the text area when
254 Emacs is dumped for the first time, and never changed again. */ 259 Emacs is dumped for the first time, and never changed again. */
255 260
259 -DHAVE_CONFIG_H is needed for some other files to take advantage of 264 -DHAVE_CONFIG_H is needed for some other files to take advantage of
260 the information in ``config.h''. */ 265 the information in ``config.h''. */
261 266
262 /* C_SWITCH_X_SITE must come before C_SWITCH_X_MACHINE and C_SWITCH_X_SYSTEM 267 /* C_SWITCH_X_SITE must come before C_SWITCH_X_MACHINE and C_SWITCH_X_SYSTEM
263 since it may have -I options that should override those two. */ 268 since it may have -I options that should override those two. */
264 ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(MYCPPFLAGS) -I. -I${srcdir} C_SWITCH_MACHINE C_SWITCH_SYSTEM C_SWITCH_X_SITE C_SWITCH_X_MACHINE C_SWITCH_X_SYSTEM C_SWITCH_SYSTEM_TEMACS ${CFLAGS_SOUND} ${RSVG_CFLAGS} ${DBUS_CFLAGS} ${CFLAGS} @FREETYPE_CFLAGS@ @FONTCONFIG_CFLAGS@ @LIBOTF_CFLAGS@ @M17N_FLT_CFLAGS@ ${DEPFLAGS} 269 ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(MYCPPFLAGS) -I. -I${srcdir} C_SWITCH_MACHINE C_SWITCH_SYSTEM C_SWITCH_X_SITE C_SWITCH_X_MACHINE C_SWITCH_X_SYSTEM C_SWITCH_SYSTEM_TEMACS ${CFLAGS_SOUND} ${RSVG_CFLAGS} ${DBUS_CFLAGS} ${GCONF_CFLAGS} ${CFLAGS} @FREETYPE_CFLAGS@ @FONTCONFIG_CFLAGS@ @LIBOTF_CFLAGS@ @M17N_FLT_CFLAGS@ ${DEPFLAGS}
265 ALL_OBJC_CFLAGS=$(ALL_CFLAGS) @GNU_OBJC_CFLAGS@ 270 ALL_OBJC_CFLAGS=$(ALL_CFLAGS) @GNU_OBJC_CFLAGS@
266 271
267 .SUFFIXES: .m 272 .SUFFIXES: .m
268 .c.o: 273 .c.o:
269 #ifdef AUTO_DEPEND 274 #ifdef AUTO_DEPEND
284 #define LIB_X11_LIB -lX11 289 #define LIB_X11_LIB -lX11
285 #endif 290 #endif
286 291
287 #ifdef HAVE_X_WINDOWS 292 #ifdef HAVE_X_WINDOWS
288 XMENU_OBJ = xmenu.o 293 XMENU_OBJ = xmenu.o
289 XOBJ= xterm.o xfns.o xselect.o xrdb.o fontset.o xsmfns.o fringe.o image.o 294 XOBJ= xterm.o xfns.o xselect.o xrdb.o fontset.o xsmfns.o fringe.o image.o \
295 xsettings.o
290 296
291 #ifdef HAVE_MENUS 297 #ifdef HAVE_MENUS
292 298
293 #ifdef USE_GTK 299 #ifdef USE_GTK
294 GTK_OBJ= gtkutil.o 300 GTK_OBJ= gtkutil.o
902 duplicated symbols. If the standard libraries were compiled 908 duplicated symbols. If the standard libraries were compiled
903 with GCC, we might need gnulib again after them. */ 909 with GCC, we might need gnulib again after them. */
904 910
905 LIBES = $(LOADLIBES) $(LIBS) $(LIBX) $(LIBSOUND) $(RSVG_LIBS) $(DBUS_LIBS) \ 911 LIBES = $(LOADLIBES) $(LIBS) $(LIBX) $(LIBSOUND) $(RSVG_LIBS) $(DBUS_LIBS) \
906 LIBGPM LIBRESOLV LIBS_SYSTEM LIBS_MACHINE LIBS_TERMCAP \ 912 LIBGPM LIBRESOLV LIBS_SYSTEM LIBS_MACHINE LIBS_TERMCAP \
907 LIBS_DEBUG $(GETLOADAVG_LIBS) \ 913 LIBS_DEBUG $(GETLOADAVG_LIBS) ${GCONF_LIBS} \
908 @FREETYPE_LIBS@ @FONTCONFIG_LIBS@ @LIBOTF_LIBS@ @M17N_FLT_LIBS@ \ 914 @FREETYPE_LIBS@ @FONTCONFIG_LIBS@ @LIBOTF_LIBS@ @M17N_FLT_LIBS@ \
909 $(GNULIB_VAR) LIB_MATH LIB_STANDARD $(GNULIB_VAR) 915 $(GNULIB_VAR) LIB_MATH LIB_STANDARD $(GNULIB_VAR)
910 916
911 #ifdef HAVE_SHM 917 #ifdef HAVE_SHM
912 RUN_TEMACS = `/bin/pwd`/temacs -nl 918 RUN_TEMACS = `/bin/pwd`/temacs -nl
1210 systime.h keyboard.h fontset.h w32term.h nsterm.h \ 1216 systime.h keyboard.h fontset.h w32term.h nsterm.h \
1211 $(INTERVALS_H) termchar.h termhooks.h font.h lisp.h $(config_h) 1217 $(INTERVALS_H) termchar.h termhooks.h font.h lisp.h $(config_h)
1212 xfns.o: xfns.c buffer.h frame.h window.h keyboard.h xterm.h dispextern.h \ 1218 xfns.o: xfns.c buffer.h frame.h window.h keyboard.h xterm.h dispextern.h \
1213 $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h systime.h epaths.h \ 1219 $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h systime.h epaths.h \
1214 character.h charset.h coding.h gtkutil.h lisp.h $(config_h) termhooks.h \ 1220 character.h charset.h coding.h gtkutil.h lisp.h $(config_h) termhooks.h \
1215 fontset.h termchar.h font.h 1221 fontset.h termchar.h font.h xsettings.h
1216 xfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \ 1222 xfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
1217 font.h lisp.h $(config_h) 1223 font.h lisp.h $(config_h)
1218 xftfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \ 1224 xftfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
1219 font.h lisp.h $(config_h) 1225 font.h lisp.h $(config_h)
1220 ftxfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \ 1226 ftxfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
1226 charset.h keyboard.h $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h \ 1232 charset.h keyboard.h $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h \
1227 systime.h gtkutil.h msdos.h coding.h menu.h lisp.h $(config_h) 1233 systime.h gtkutil.h msdos.h coding.h menu.h lisp.h $(config_h)
1228 xterm.o: xterm.c xterm.h termhooks.h termopts.h termchar.h window.h buffer.h \ 1234 xterm.o: xterm.c xterm.h termhooks.h termopts.h termchar.h window.h buffer.h \
1229 dispextern.h frame.h disptab.h blockinput.h atimer.h systime.h syssignal.h \ 1235 dispextern.h frame.h disptab.h blockinput.h atimer.h systime.h syssignal.h \
1230 keyboard.h emacs-icon.h character.h charset.h ccl.h fontset.h composite.h \ 1236 keyboard.h emacs-icon.h character.h charset.h ccl.h fontset.h composite.h \
1231 coding.h process.h gtkutil.h font.h fontset.h lisp.h $(config_h) 1237 coding.h process.h gtkutil.h font.h fontset.h lisp.h $(config_h) xsettings.h
1232 xselect.o: xselect.c process.h dispextern.h frame.h xterm.h blockinput.h \ 1238 xselect.o: xselect.c process.h dispextern.h frame.h xterm.h blockinput.h \
1233 buffer.h atimer.h systime.h termhooks.h lisp.h $(config_h) 1239 buffer.h atimer.h systime.h termhooks.h lisp.h $(config_h)
1234 xrdb.o: xrdb.c lisp.h $(config_h) epaths.h 1240 xrdb.o: xrdb.c lisp.h $(config_h) epaths.h
1235 xsmfns.o: xsmfns.c lisp.h $(config_h) systime.h sysselect.h termhooks.h xterm.h \ 1241 xsmfns.o: xsmfns.c lisp.h $(config_h) systime.h sysselect.h termhooks.h xterm.h \
1236 lisp.h termopts.h 1242 lisp.h termopts.h
1237 1243 xsettings.o: xterm.h xsettings.h lisp.h frame.h termhooks.h $(config_h)
1238 /* The files of Lisp proper */ 1244 /* The files of Lisp proper */
1239 1245
1240 alloc.o: alloc.c process.h frame.h window.h buffer.h puresize.h syssignal.h keyboard.h \ 1246 alloc.o: alloc.c process.h frame.h window.h buffer.h puresize.h syssignal.h keyboard.h \
1241 blockinput.h atimer.h systime.h character.h dispextern.h lisp.h $(config_h) \ 1247 blockinput.h atimer.h systime.h character.h dispextern.h lisp.h $(config_h) \
1242 $(INTERVALS_H) 1248 $(INTERVALS_H)