# HG changeset patch # User Jason Rumney # Date 975790947 0 # Node ID f1063cc498e4745efc25363c27ab1d03573e6bac # Parent 2e41fb2e49ea99ee6849d6b1c12efbc6c9c8ad65 (Fx_create_frame): Reintroduce the call to face-set-after-frame-defaults. (Vx_window_horizontal_drag_shape): New variable. (syms_of_xfns): DEFVAR_LISP it. (x_set_mouse_color): Create frame's horizontal_drag_cursor [not enabled]. diff -r 2e41fb2e49ea -r f1063cc498e4 src/w32fns.c --- a/src/w32fns.c Sat Dec 02 20:28:44 2000 +0000 +++ b/src/w32fns.c Sat Dec 02 21:02:27 2000 +0000 @@ -154,7 +154,7 @@ over text or in the modeline. */ Lisp_Object Vx_pointer_shape, Vx_nontext_pointer_shape, Vx_mode_pointer_shape; -Lisp_Object Vx_busy_pointer_shape; +Lisp_Object Vx_busy_pointer_shape, Vx_window_horizontal_drag_shape; /* The shape when over mouse-sensitive text. */ @@ -2089,6 +2089,17 @@ else cross_cursor = XCreateFontCursor (FRAME_W32_DISPLAY (f), XC_crosshair); + if (!NILP (Vx_window_horizontal_drag_shape)) + { + CHECK_NUMBER (Vx_window_horizontal_drag_shape, 0); + horizontal_drag_cursor + = XCreateFontCursor (FRAME_X_DISPLAY (f), + XINT (Vx_window_horizontal_drag_shape)); + } + else + horizontal_drag_cursor + = XCreateFontCursor (FRAME_X_DISPLAY (f), XC_sb_h_double_arrow); + /* Check and report errors with the above calls. */ x_check_errors (FRAME_W32_DISPLAY (f), "can't set cursor shape: %s"); x_uncatch_errors (FRAME_W32_DISPLAY (f), count); @@ -5386,6 +5397,13 @@ x_wm_set_size_hint (f, window_prompting, 0); UNBLOCK_INPUT; + /* Set up faces after all frame parameters are known. This call + also merges in face attributes specified for new frames. If we + don't do this, the `menu' face for instance won't have the right + colors, and the menu bar won't appear in the specified colors for + new frames. */ + call1 (Qface_set_after_frame_default, frame); + /* Make the window appear on the frame and enable display, unless the caller says not to. However, with explicit parent, Emacs cannot control visibility, so don't try. */ @@ -13360,6 +13378,13 @@ or when you set the mouse color."); Vx_sensitive_text_pointer_shape = Qnil; + DEFVAR_LISP ("x-window-horizontal-drag-cursor", + &Vx_window_horizontal_drag_shape, + "Pointer shape to use for indicating a window can be dragged horizontally.\n\ +This variable takes effect when you create a new frame\n\ +or when you set the mouse color."); + Vx_window_horizontal_drag_shape = Qnil; + DEFVAR_LISP ("x-cursor-fore-pixel", &Vx_cursor_fore_pixel, "A string indicating the foreground color of the cursor box."); Vx_cursor_fore_pixel = Qnil;