]> git.eshelyaron.com Git - emacs.git/commit
Add distinct controls for child frames' borders (Bug#45620)
authorAlexander Miller <alexanderm@web.de>
Tue, 26 Jan 2021 09:36:52 +0000 (10:36 +0100)
committerMartin Rudalics <rudalics@gmx.at>
Tue, 26 Jan 2021 09:36:52 +0000 (10:36 +0100)
commitff7b1a133bfa7f2614650f8551824ffaef13fadc
tree0314a68f16b478f5537a28395c55e15f82b01876
parentb4b6a2684062d4470143b6ea460b5e82012554a1
Add distinct controls for child frames' borders (Bug#45620)

The background of the 'child-frame-border' face instead of the
'internal-border' face now controls the color of child frames'
borders.

The 'child-frame-border-width' frame parameter is now used for the
width of child frames' borders instead of internal-border-width',
though we still fall back on using the latter if the former is not
set.

* doc/lispref/frames.texi (Frame Layout): Mention
'child-frame-border' and 'child-frame-border-width'.
(Layout Parameters): Mention 'child-frame-border-width'.
* etc/NEWS: Mention new face 'child-frame-border' and frame
parameter 'child-frame-border-width'.
* lisp/faces.el (child-frame-border): New face.
* src/dispextern.h (enum face_id): Add CHILD_FRAME_BORDER_FACE_ID.
* src/frame.c (Fframe_child_frame_border_width): New function.
(gui_report_frame_params): Add entry for Qchild_frame_border_width.
* src/frame.h (struct frame): New slot child_frame_border_width.
(FRAME_CHILD_FRAME_BORDER_WIDTH): New inlined function.
* src/nsfns.m (ns_set_child_frame_border_width): New function.
(Fx_create_frame): Handle Qchild_frame_border_width parameter.
(ns_frame_parm_handlers): Add ns_set_child_frame_border_width.
* src/nsterm.m (ns_clear_under_internal_border): Handle
CHILD_FRAME_BORDER_FACE_ID.
* src/w32fns.c (w32_clear_under_internal_border): Handle
CHILD_FRAME_BORDER_FACE_ID.
(w32_set_internal_border_width): New function.
(Fx_create_frame): Handle Qchild_frame_border_width parameter.
(w32_frame_parm_handlers): Add w32_set_child_frame_border_width.
* src/xfaces.c (lookup_basic_face, realize_basic_faces): Handle
CHILD_FRAME_BORDER_FACE_ID.
* src/xfns.c (x_set_child_frame_border_width): New function.
(Fx_create_frame): Handle Qchild_frame_border_width parameter.
(x_frame_parm_handlers): Add x_set_child_frame_border_width.
* src/xterm.c (x_clear_under_internal_border)
(x_after_update_window_line): Handle CHILD_FRAME_BORDER_FACE_ID.
12 files changed:
doc/lispref/frames.texi
etc/NEWS
lisp/faces.el
src/dispextern.h
src/frame.c
src/frame.h
src/nsfns.m
src/nsterm.m
src/w32fns.c
src/xfaces.c
src/xfns.c
src/xterm.c