From 62e5a820a27e39d0e0e91af9fa8e796cfea630a1 Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Sat, 22 Mar 2025 22:41:53 +0100 Subject: [PATCH] Reduce code duplication in ns_set_appearance * src/nsterm.h (ns_set_appearance_1): Declare. * src/nsterm.m (ns_set_appearance_1): Break out new function... (ns_set_appearance): ...here. * src/nsfns.m (Fx_create_frame): Use above new function. (cherry picked from commit 92b373318d2401f98f0ad5590ef799904c96506f) --- src/nsfns.m | 7 +------ src/nsterm.h | 1 + src/nsterm.m | 18 ++++++++++++------ 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/nsfns.m b/src/nsfns.m index 9f52777879c..b1ed0eff58a 100644 --- a/src/nsfns.m +++ b/src/nsfns.m @@ -1404,12 +1404,7 @@ DEFUN ("x-create-frame", Fx_create_frame, Sx_create_frame, #ifdef NS_IMPL_COCOA tem = gui_display_get_arg (dpyinfo, parms, Qns_appearance, NULL, NULL, RES_TYPE_SYMBOL); - if (EQ (tem, Qdark)) - FRAME_NS_APPEARANCE (f) = ns_appearance_vibrant_dark; - else if (EQ (tem, Qlight)) - FRAME_NS_APPEARANCE (f) = ns_appearance_aqua; - else - FRAME_NS_APPEARANCE (f) = ns_appearance_system_default; + ns_set_appearance_1 (f, tem); store_frame_param (f, Qns_appearance, (!NILP (tem) && !EQ (tem, Qunbound)) ? tem : Qnil); diff --git a/src/nsterm.h b/src/nsterm.h index 2616dacc3e2..2abf402f8bc 100644 --- a/src/nsterm.h +++ b/src/nsterm.h @@ -1236,6 +1236,7 @@ extern void ns_set_no_accept_focus (struct frame *f, Lisp_Object new_value, extern void ns_set_z_group (struct frame *f, Lisp_Object new_value, Lisp_Object old_value); #ifdef NS_IMPL_COCOA +extern void ns_set_appearance_1 (struct frame *f, Lisp_Object value); extern void ns_set_appearance (struct frame *f, Lisp_Object new_value, Lisp_Object old_value); extern void ns_set_transparent_titlebar (struct frame *f, diff --git a/src/nsterm.m b/src/nsterm.m index 46bb3f5dd7a..5514a693c86 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -1931,6 +1931,17 @@ ns_set_z_group (struct frame *f, Lisp_Object new_value, Lisp_Object old_value) } #ifdef NS_IMPL_COCOA +void +ns_set_appearance_1 (struct frame *f, Lisp_Object new_value) +{ + if (EQ (new_value, Qdark)) + FRAME_NS_APPEARANCE (f) = ns_appearance_vibrant_dark; + else if (EQ (new_value, Qlight)) + FRAME_NS_APPEARANCE (f) = ns_appearance_aqua; + else + FRAME_NS_APPEARANCE (f) = ns_appearance_system_default; +} + void ns_set_appearance (struct frame *f, Lisp_Object new_value, Lisp_Object old_value) { @@ -1943,12 +1954,7 @@ ns_set_appearance (struct frame *f, Lisp_Object new_value, Lisp_Object old_value if (NSAppKitVersionNumber < NSAppKitVersionNumber10_10) return; - if (EQ (new_value, Qdark)) - FRAME_NS_APPEARANCE (f) = ns_appearance_vibrant_dark; - else if (EQ (new_value, Qlight)) - FRAME_NS_APPEARANCE (f) = ns_appearance_aqua; - else - FRAME_NS_APPEARANCE (f) = ns_appearance_system_default; + ns_set_appearance_1 (f, new_value); [window setAppearance]; #endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 101000 */ -- 2.39.5