Commit 1610938f authored by Jan Djärv's avatar Jan Djärv
Browse files

Pick up default selection color on OSX when user defaults are not set.

* lisp/faces.el (region): Change ns_selection_color to
ns_selection_fg_color, add ns_selection_bg_color.

* src/nsterm.h (NS_SELECTION_BG_COLOR_DEFAULT): Renamed from
NS_SELECTION_COLOR_DEFAULT.
(NS_SELECTION_FG_COLOR_DEFAULT): New.

* src/nsterm.m (ns_selection_color): Remove.
(ns_get_color): Check for ns_selection_(fg|bg)_color using
NSColor selectedText(Background)Color.  Only for COCOA.
(ns_term_init): Remove assignment of ns_selection_color, logic
moved to ns_get_color.
parent 0d2647e6
2013-09-28 Jan Djärv <jan.h.d@swipnet.se>
* faces.el (region): Change ns_selection_color to
ns_selection_fg_color, add ns_selection_bg_color.
2013-09-28 Leo Liu <sdl.web@gmail.com> 2013-09-28 Leo Liu <sdl.web@gmail.com>
* progmodes/octave.el (inferior-octave-completion-table) * progmodes/octave.el (inferior-octave-completion-table)
......
...@@ -2259,7 +2259,8 @@ terminal type to a different value." ...@@ -2259,7 +2259,8 @@ terminal type to a different value."
:foreground "gtk_selection_fg_color" :foreground "gtk_selection_fg_color"
:background "gtk_selection_bg_color") :background "gtk_selection_bg_color")
(((class color) (min-colors 88) (background light) (type ns)) (((class color) (min-colors 88) (background light) (type ns))
:background "ns_selection_color") :foreground "ns_selection_fg_color"
:background "ns_selection_bg_color")
(((class color) (min-colors 88) (background light)) (((class color) (min-colors 88) (background light))
:background "lightgoldenrod2") :background "lightgoldenrod2")
(((class color) (min-colors 16) (background dark)) (((class color) (min-colors 16) (background dark))
......
2013-09-28 Jan Djärv <jan.h.d@swipnet.se>
* nsterm.m (ns_selection_color): Remove.
(ns_get_color): Check for ns_selection_(fg|bg)_color using
NSColor selectedText(Background)Color. Only for COCOA.
(ns_term_init): Remove assignment of ns_selection_color, logic
moved to ns_get_color.
* nsterm.h (NS_SELECTION_BG_COLOR_DEFAULT): Renamed from
NS_SELECTION_COLOR_DEFAULT.
(NS_SELECTION_FG_COLOR_DEFAULT): New.
2013-09-28 Eli Zaretskii <eliz@gnu.org> 2013-09-28 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (Fdump_tool_bar_row): Ifdef away the body if 'struct * xdisp.c (Fdump_tool_bar_row): Ifdef away the body if 'struct
......
...@@ -911,7 +911,8 @@ extern char gnustep_base_version[]; /* version tracking */ ...@@ -911,7 +911,8 @@ extern char gnustep_base_version[]; /* version tracking */
#define NS_SCROLL_BAR_WIDTH_DEFAULT [EmacsScroller scrollerWidth] #define NS_SCROLL_BAR_WIDTH_DEFAULT [EmacsScroller scrollerWidth]
/* This is to match emacs on other platforms, ugly though it is. */ /* This is to match emacs on other platforms, ugly though it is. */
#define NS_SELECTION_COLOR_DEFAULT @"LightGoldenrod2"; #define NS_SELECTION_BG_COLOR_DEFAULT @"LightGoldenrod2";
#define NS_SELECTION_FG_COLOR_DEFAULT @"Black";
#define RESIZE_HANDLE_SIZE 12 #define RESIZE_HANDLE_SIZE 12
/* Little utility macros */ /* Little utility macros */
......
...@@ -179,9 +179,6 @@ Updated by Christian Limpach (chris@nice.ch) ...@@ -179,9 +179,6 @@ Updated by Christian Limpach (chris@nice.ch)
no way to control this behavior. */ no way to control this behavior. */
float ns_antialias_threshold; float ns_antialias_threshold;
/* Used to pick up AppleHighlightColor on OS X */
NSString *ns_selection_color;
NSArray *ns_send_types =0, *ns_return_types =0, *ns_drag_types =0; NSArray *ns_send_types =0, *ns_return_types =0, *ns_drag_types =0;
NSString *ns_app_name = @"Emacs"; /* default changed later */ NSString *ns_app_name = @"Emacs"; /* default changed later */
...@@ -1454,11 +1451,41 @@ Free a pool and temporary objects it refers to (callable from C) ...@@ -1454,11 +1451,41 @@ Free a pool and temporary objects it refers to (callable from C)
/*fprintf (stderr, "ns_get_color: '%s'\n", name); */ /*fprintf (stderr, "ns_get_color: '%s'\n", name); */
block_input (); block_input ();
if ([nsname isEqualToString: @"ns_selection_color"]) #ifdef NS_IMPL_COCOA
if ([nsname isEqualToString: @"ns_selection_bg_color"])
{
NSString *defname = [[NSUserDefaults standardUserDefaults]
stringForKey: @"AppleHighlightColor"];
if (defname != nil)
nsname = defname;
else if ((new = [NSColor selectedTextBackgroundColor]) != nil)
{
*col = [new colorUsingColorSpaceName: NSCalibratedRGBColorSpace];
unblock_input ();
return 0;
}
else
nsname = NS_SELECTION_BG_COLOR_DEFAULT;
name = [nsname UTF8String];
}
else if ([nsname isEqualToString: @"ns_selection_fg_color"])
{ {
nsname = ns_selection_color; /* NOTE: OSX applications normally don't set foreground selection, but
name = [ns_selection_color UTF8String]; text may be unreadable if we don't.
*/
if ((new = [NSColor selectedTextColor]) != nil)
{
*col = [new colorUsingColorSpaceName: NSCalibratedRGBColorSpace];
unblock_input ();
return 0;
}
nsname = NS_SELECTION_FG_COLOR_DEFAULT;
name = [nsname UTF8String];
} }
#endif // NS_IMPL_COCOA
/* First, check for some sort of numeric specification. */ /* First, check for some sort of numeric specification. */
hex[0] = '\0'; hex[0] = '\0';
...@@ -4168,11 +4195,6 @@ Needs to be here because ns_initialize_display_info () uses AppKit classes. ...@@ -4168,11 +4195,6 @@ Needs to be here because ns_initialize_display_info () uses AppKit classes.
ns_antialias_threshold = NILP (tmp) ? 10.0 : XFLOATINT (tmp); ns_antialias_threshold = NILP (tmp) ? 10.0 : XFLOATINT (tmp);
} }
ns_selection_color = [[NSUserDefaults standardUserDefaults]
stringForKey: @"AppleHighlightColor"];
if (ns_selection_color == nil)
ns_selection_color = NS_SELECTION_COLOR_DEFAULT;
{ {
NSColorList *cl = [NSColorList colorListNamed: @"Emacs"]; NSColorList *cl = [NSColorList colorListNamed: @"Emacs"];
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment