From 7bae0b1bc84a95d565ffab38cf7f82ad21c656b6 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 21 Nov 2019 22:14:18 +0100 Subject: patch 8.1.2331: the option.c file is still very big Problem: The option.c file is still very big. Solution: Move a few functions to where they fit better. (Yegappan Lakshmanan, closes #4895) --- src/gui.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/gui.c') diff --git a/src/gui.c b/src/gui.c index 275f3fe066..5f86cc9294 100644 --- a/src/gui.c +++ b/src/gui.c @@ -4742,6 +4742,29 @@ gui_get_lightness(guicolor_T pixel) + ((rgb & 0xff) * 114)) / 1000; } + char_u * +gui_bg_default(void) +{ + if (gui_get_lightness(gui.back_pixel) < 127) + return (char_u *)"dark"; + return (char_u *)"light"; +} + +/* + * Option initializations that can only be done after opening the GUI window. + */ + void +init_gui_options(void) +{ + /* Set the 'background' option according to the lightness of the + * background color, unless the user has set it already. */ + if (!option_was_set((char_u *)"bg") && STRCMP(p_bg, gui_bg_default()) != 0) + { + set_option_value((char_u *)"bg", 0L, gui_bg_default(), 0); + highlight_changed(); + } +} + #if defined(FEAT_GUI_X11) || defined(PROTO) void gui_new_scrollbar_colors(void) -- cgit v1.2.3