comparison man/xemacs/custom.texi @ 5080:5502045ec510

The background-placement face property. -------------------- ChangeLog entries follow: -------------------- lisp/ChangeLog addition: 2010-02-25 Didier Verna <didier@xemacs.org> The background-placement face property. * cl-macs.el (face-background-placement): New defsetf. * cus-face.el (custom-face-attributes): * faces.el (face-interactive): * faces.el (set-face-property): * faces.el (face-equal): * faces.el (init-other-random-faces): Update. * faces.el (face-background-placement): * faces.el (set-face-background-placement): * faces.el (face-background-placement-instance): * faces.el (face-background-placement-instance-p): * frame.el (set-frame-background-placement): * frame.el (frame-background-placement): * frame.el (frame-background-placement-instance): * objects.el (make-face-background-placement-specifier): New. man/ChangeLog addition: 2010-02-25 Didier Verna <didier@xemacs.org> The background-placement face property. * xemacs/custom.texi (Faces): Document it. src/ChangeLog addition: 2010-02-25 Didier Verna <didier@xemacs.org> The background-placement face property. * console-x-impl.h (struct x_frame): Add new slots x and y. * console-x-impl.h (FRAME_X_X, FRAME_X_Y): New slot accessors. * console-gtk-impl.h: Fake something similar for potential port. * frame-x.c (x_get_frame_text_position): New function. * frame-x.c (x_init_frame_3): Use it. * event-Xt.c (emacs_Xt_handle_magic_event): Eat spurious ConfigureNotify events, get the frame position and mark frame faces changed. * objects-impl.h: The face_background_placement_specifier structure and its accessors. * objects.c: New symbols Qabsolute and Qrelative. * objects.c (face_background_placement_create): * objects.c (face_background_placement_mark): * objects.c (face_background_placement_instantiate): * objects.c (face_background_placement_validate): * objects.c (face_background_placement_after_change): * objects.c (set_face_background_placement_attached_to): New. * objects.h (set_face_background_palcement_attached_to): Declare the one above. * objects.c (syms_of_objects): * objects.c (specifier_type_create_objects): * objects.c (reinit_specifier_type_create_objects): * objects.c (reinit_vars_of_objects): Update for the modifications above. * console-xlike-inc.h (XLIKE_GC_TS_X_ORIGIN, XLIKE_GC_TS_X_ORIGIN): New X11/Gtk compatibility macros. * redisplay-xlike-inc.c (XLIKE_get_gc): Add a background placement argument and handle it. * gtk-glue.c (face_to_gc): * redisplay-xlike-inc.c (XLIKE_output_string): * redisplay-xlike-inc.c (XLIKE_output_pixmap): * redisplay-xlike-inc.c (XLIKE_output_blank): * redisplay-xlike-inc.c (XLIKE_output_horizontal_line): * redisplay-xlike-inc.c (XLIKE_output_eol_cursor): Update accordingly. * console-impl.h (struct console_methods): Add a background placement (Lisp_Object) argument to the clear_region method. * console-stream.c (stream_clear_region): * redisplay-tty.c (tty_clear_region): * redisplay-msw.c (mswindows_clear_region): * redisplay-xlike-inc.c (XLIKE_clear_region): Update accordingly. * redisplay-output.c (redisplay_clear_region): Handle the background placement property and update the call to the clear_region method. * faces.h (struct Lisp_Face): * faces.h (struct face_cachel): Add a background placement slot. * faces.h (WINDOW_FACE_CACHEL_BACKGROUND_PLACEMENT): New accessor. * faces.c (mark_face): * faces.c (face_equal): * faces.c (face_getprop): * faces.c (face_putprop): * faces.c (face_remprop): * faces.c (face_plist): * faces.c (reset_face): * faces.c (mark_face_cachels): * faces.c (update_face_cachel_data): * faces.c (merge_face_cachel_data): * faces.c (reset_face_cachel): * faces.c (Fmake_face): * faces.c (Fcopy_face): Handle the background placement property. * faces.c (syms_of_faces): * faces.c (vars_of_faces): * faces.c (complex_vars_of_faces): Update accordingly.
author Didier Verna <didier@lrde.epita.fr>
date Thu, 25 Feb 2010 16:19:01 +0100
parents 4c1a8323aa9a
children 9fae6227ede5
comparison
equal deleted inserted replaced
5079:aa4cae427255 5080:5502045ec510
2078 Change the background color of the given @var{face}. 2078 Change the background color of the given @var{face}.
2079 @item M-x set-face-background-pixmap 2079 @item M-x set-face-background-pixmap
2080 Change the background pixmap of the given @var{face}. 2080 Change the background pixmap of the given @var{face}.
2081 @item M-x set-face-background-pixmap-file 2081 @item M-x set-face-background-pixmap-file
2082 A simpler version but with filename completion. 2082 A simpler version but with filename completion.
2083 @item M-x set-face-background-placement
2084 Change the placement of the background pixmap of the given @var{face}.
2083 @item M-x set-face-font 2085 @item M-x set-face-font
2084 Change the font of the given @var{face}. 2086 Change the font of the given @var{face}.
2085 @item M-x set-face-foreground 2087 @item M-x set-face-foreground
2086 Change the foreground color of the given @var{face}. 2088 Change the foreground color of the given @var{face}.
2087 @item M-x set-face-underline-p 2089 @item M-x set-face-underline-p
2158 Alternately, you can use a simpler version of 2160 Alternately, you can use a simpler version of
2159 @code{set-face-background-pixmap} called 2161 @code{set-face-background-pixmap} called
2160 @code{set-face-background-pixmap-file}. This function does not give you 2162 @code{set-face-background-pixmap-file}. This function does not give you
2161 as much control on the pixmap instantiator, but provides filename 2163 as much control on the pixmap instantiator, but provides filename
2162 completion. 2164 completion.
2165
2166 @findex set-face-background-placement
2167 You can set the placement of the background pixmap of the specified
2168 @var{face} with the function @code{set-face-background-placement}. The
2169 placement argument can be either @code{absolute} or @code{relative} (the
2170 default). A @code{relative} placement means that the pixmap is attached
2171 to the frame and moves with it. An @code{absolute} placement means that
2172 the pixmap is rather attached to the frame's root window, so that when
2173 you move the frame on the screen, it will appear to ``slide'' on the
2174 pixmap. This placement mode can be used to achieve pseudo-translucency
2175 for a frame, for example by setting the default face's background pixmap
2176 to the root window's one.
2163 2177
2164 @findex set-face-font 2178 @findex set-face-font
2165 You can set the font of the specified @var{face} with the function 2179 You can set the font of the specified @var{face} with the function
2166 @code{set-face-font}. The @var{font} argument should be a string, the 2180 @code{set-face-font}. The @var{font} argument should be a string, the
2167 name of a font. When called from a program, if the 2181 name of a font. When called from a program, if the