(ns-use-fullscreen-animation ns boolean "25.1")
(ns-use-srgb-colorspace ns boolean "24.4")
(ns-scroll-event-delta-factor ns float "29.1")
+
+ (ns-click-through
+ ns (choice (const :tag "Never (nil)" :value nil)
+ (const :tag "Always (t)" :value t))
+ "31.1")
+
;; process.c
(delete-exited-processes processes-basics boolean)
(process-error-pause-time processes-basics integer "29.1")
{
NSTRACE_MSG ("First mouse event: type=%ld, clickCount=%ld",
[theEvent type], [theEvent clickCount]);
- return YES;
+ return ns_click_through;
}
- (void)resetCursorRects
{
doc: /* SKIP: real doc in xterm.c. */);
x_underline_at_descent_line = 0;
+ // TODO: add an "auto" mode that passes clicks through to "utility" UI
+ // elements, selectis windows, and so on, but doesn't pass them
+ // through for commands in general --- consistent with
+ // other applications.
+
+ DEFVAR_BOOL ("ns-click-through",
+ ns_click_through,
+ doc: /* Whether to pass activation clicks through to Emacs.
+When nil, if Emacs is not focused, the click that focuses Emacs will not
+be interpreted as a common. If t, it will be. For example, when nil,
+if Emacs is inactive, two clicks are needed to move point: the first to
+activate Emacs and the second to activate the mouse-1 binding. When t,
+only a single click is needed. */);
+ ns_click_through = YES;
+
DEFSYM (Qx_underline_at_descent_line, "x-underline-at-descent-line");
DEFVAR_LISP ("ns-scroll-event-delta-factor", Vns_scroll_event_delta_factor,