Mercurial > emacs
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) |
