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.
This commit is contained in:
parent
0d2647e645
commit
1610938f74
5 changed files with 54 additions and 13 deletions
|
@ -1,3 +1,8 @@
|
|||
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>
|
||||
|
||||
* progmodes/octave.el (inferior-octave-completion-table)
|
||||
|
|
|
@ -2259,7 +2259,8 @@ terminal type to a different value."
|
|||
:foreground "gtk_selection_fg_color"
|
||||
:background "gtk_selection_bg_color")
|
||||
(((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))
|
||||
:background "lightgoldenrod2")
|
||||
(((class color) (min-colors 16) (background dark))
|
||||
|
|
|
@ -1,3 +1,15 @@
|
|||
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>
|
||||
|
||||
* xdisp.c (Fdump_tool_bar_row): Ifdef away the body if 'struct
|
||||
|
|
|
@ -911,7 +911,8 @@ extern char gnustep_base_version[]; /* version tracking */
|
|||
|
||||
#define NS_SCROLL_BAR_WIDTH_DEFAULT [EmacsScroller scrollerWidth]
|
||||
/* 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
|
||||
|
||||
/* Little utility macros */
|
||||
|
|
44
src/nsterm.m
44
src/nsterm.m
|
@ -179,9 +179,6 @@ Updated by Christian Limpach (chris@nice.ch)
|
|||
no way to control this behavior. */
|
||||
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;
|
||||
NSString *ns_app_name = @"Emacs"; /* default changed later */
|
||||
|
||||
|
@ -1454,11 +1451,41 @@ Free a pool and temporary objects it refers to (callable from C)
|
|||
/*fprintf (stderr, "ns_get_color: '%s'\n", name); */
|
||||
block_input ();
|
||||
|
||||
if ([nsname isEqualToString: @"ns_selection_color"])
|
||||
#ifdef NS_IMPL_COCOA
|
||||
if ([nsname isEqualToString: @"ns_selection_bg_color"])
|
||||
{
|
||||
nsname = ns_selection_color;
|
||||
name = [ns_selection_color UTF8String];
|
||||
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"])
|
||||
{
|
||||
/* NOTE: OSX applications normally don't set foreground selection, but
|
||||
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. */
|
||||
hex[0] = '\0';
|
||||
|
@ -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_selection_color = [[NSUserDefaults standardUserDefaults]
|
||||
stringForKey: @"AppleHighlightColor"];
|
||||
if (ns_selection_color == nil)
|
||||
ns_selection_color = NS_SELECTION_COLOR_DEFAULT;
|
||||
|
||||
{
|
||||
NSColorList *cl = [NSColorList colorListNamed: @"Emacs"];
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue