* Carbon / USE_MAC_TOOLBAR: click in tool bar doesn't raise frame
[not found] <20ecf6c70804160707t7e7881c4wdf0fbdc28b2f9bb7@mail.gmail.com>
@ 2008-04-16 17:28 ` David Reitter
2008-04-17 0:44 ` YAMAMOTO Mitsuharu
0 siblings, 1 reply; 7+ messages in thread
From: David Reitter @ 2008-04-16 17:28 UTC (permalink / raw)
To: emacs-pretest-bug; +Cc: Nathaniel Cunningham
This affects the 22 branch Carbon build.
Begin forwarded message:
> From: "Nathaniel Cunningham" <nathaniel.cunningham@gmail.com>
> Date: 16 April 2008 15:07:15 BST
>
> With the new tool bar in nightly builds, I find that clicking in the
> tool bar doesn't raise the frame, whether clicking on an active
> icon, a disabled icon, or blank bar in between. This is counter-
> intuitive and should be fixed if possible.
Clicking on a disabled icon should raise the frame, while clicks on
non-disabled icons should work as they do (standard click-through
behavior).
This doesn't currently work.
I tried to fix this myself, but haven't figured out how to do this
right. HIViewClick() is called in XTread_socket, but no command event
is generated. Does the HIView prevent this event when the item is
disabled?
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Carbon / USE_MAC_TOOLBAR: click in tool bar doesn't raise frame
2008-04-16 17:28 ` Carbon / USE_MAC_TOOLBAR: click in tool bar doesn't raise frame David Reitter
@ 2008-04-17 0:44 ` YAMAMOTO Mitsuharu
2008-04-17 6:50 ` David Reitter
0 siblings, 1 reply; 7+ messages in thread
From: YAMAMOTO Mitsuharu @ 2008-04-17 0:44 UTC (permalink / raw)
To: David Reitter; +Cc: emacs-pretest-bug, Nathaniel Cunningham
>>>>> On Wed, 16 Apr 2008 18:28:44 +0100, David Reitter <david.reitter@gmail.com> said:
> This affects the 22 branch Carbon build. Begin forwarded message:
>> From: "Nathaniel Cunningham" <nathaniel.cunningham@gmail.com> Date:
>> 16 April 2008 15:07:15 BST
>>
>> With the new tool bar in nightly builds, I find that clicking in
>> the tool bar doesn't raise the frame, whether clicking on an active
>> icon, a disabled icon, or blank bar in between. This is counter-
>> intuitive and should be fixed if possible.
> Clicking on a disabled icon should raise the frame, while clicks on
> non-disabled icons should work as they do (standard click-through
> behavior). This doesn't currently work.
Thanks for the report. Could you try this?
YAMAMOTO Mitsuharu
mituharu@math.s.chiba-u.ac.jp
Index: src/mactoolbox.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/Attic/mactoolbox.c,v
retrieving revision 1.1.2.2
diff -c -p -r1.1.2.2 mactoolbox.c
*** src/mactoolbox.c 7 Apr 2008 07:13:07 -0000 1.1.2.2
--- src/mactoolbox.c 17 Apr 2008 00:43:13 -0000
*************** XTread_socket (sd, expected, hold_quit)
*** 3560,3565 ****
--- 3558,3566 ----
OSStatus err;
HIViewRef ch;
+ if (FrontNonFloatingWindow () != window_ptr)
+ SelectWindow (window_ptr);
+
err = HIViewGetViewForMouseEvent (HIViewGetRoot (window_ptr),
eventRef, &ch);
/* This doesn't work on Mac OS X 10.2. */
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Carbon / USE_MAC_TOOLBAR: click in tool bar doesn't raise frame
2008-04-17 0:44 ` YAMAMOTO Mitsuharu
@ 2008-04-17 6:50 ` David Reitter
2008-04-17 8:02 ` YAMAMOTO Mitsuharu
0 siblings, 1 reply; 7+ messages in thread
From: David Reitter @ 2008-04-17 6:50 UTC (permalink / raw)
To: YAMAMOTO Mitsuharu; +Cc: emacs-pretest-bug, Nathaniel Cunningham
On 17 Apr 2008, at 01:44, YAMAMOTO Mitsuharu wrote:
>
> + if (FrontNonFloatingWindow () != window_ptr)
> + SelectWindow (window_ptr);
> +
> err = HIViewGetViewForMouseEvent (HIViewGetRoot (window_ptr),
> eventRef, &ch);
Yes, of course that selects the window, but it does so even when the
button can be selected otherwise, i.e. there's no "click-through".
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Carbon / USE_MAC_TOOLBAR: click in tool bar doesn't raise frame
2008-04-17 6:50 ` David Reitter
@ 2008-04-17 8:02 ` YAMAMOTO Mitsuharu
2008-04-17 9:22 ` David Reitter
0 siblings, 1 reply; 7+ messages in thread
From: YAMAMOTO Mitsuharu @ 2008-04-17 8:02 UTC (permalink / raw)
To: David Reitter; +Cc: emacs-pretest-bug, Nathaniel Cunningham
>>>>> On Thu, 17 Apr 2008 07:50:35 +0100, David Reitter <david.reitter@gmail.com> said:
> Yes, of course that selects the window, but it does so even when the
> button can be selected otherwise, i.e. there's no "click-through".
Maybe I don't understand. I think they've been always click-through
even without the patch. What do you mean by "select the button"?
YAMAMOTO Mitsuharu
mituharu@math.s.chiba-u.ac.jp
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Carbon / USE_MAC_TOOLBAR: click in tool bar doesn't raise frame
2008-04-17 8:02 ` YAMAMOTO Mitsuharu
@ 2008-04-17 9:22 ` David Reitter
2008-04-17 23:20 ` YAMAMOTO Mitsuharu
0 siblings, 1 reply; 7+ messages in thread
From: David Reitter @ 2008-04-17 9:22 UTC (permalink / raw)
To: YAMAMOTO Mitsuharu; +Cc: emacs-pretest-bug, Nathaniel Cunningham
On 17 Apr 2008, at 09:02, YAMAMOTO Mitsuharu wrote:
>> Yes, of course that selects the window, but it does so even when the
>> button can be selected otherwise, i.e. there's no "click-through".
>
> Maybe I don't understand. I think they've been always click-through
> even without the patch. What do you mean by "select the button"?
Yes, they have been click-through, without the patch.
With your patch, frames are selected unconditionally, and they
shouldn't be.
Toolbar items should be clickable without selecting (and raising) the
frame, if they are actually enabled.
This is called "click-through".
If they are not enabled (:enabled nil), then clicking on them should
result in the frame being raised and selected.
The same applies to any other click on a non-enabled surface.
Most toolbar items should respond to click-through. Some dangerous
actions (which cannot easily be undone) should lead to the associated
item being disabled when the frame is not selected. As a consequence,
users will click on the toolbar item, which will raise / select the
frame. That way, the item becomes enabled and can be clicked normally.
Note that this last part is not to be implemented by the C layer.
Toolbar items can have that simply in their :enabled property.
N.B., this is not a specific feature; it's merely the correct way of
doing the UI with this particular toolkit. Other toolkits may have
different standards.
Refer to:
http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/XHIGWindows/chapter_18_section_5.html
(heading: Click-Through)
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Carbon / USE_MAC_TOOLBAR: click in tool bar doesn't raise frame
2008-04-17 9:22 ` David Reitter
@ 2008-04-17 23:20 ` YAMAMOTO Mitsuharu
2008-04-18 9:40 ` David Reitter
0 siblings, 1 reply; 7+ messages in thread
From: YAMAMOTO Mitsuharu @ 2008-04-17 23:20 UTC (permalink / raw)
To: David Reitter; +Cc: emacs-pretest-bug, Nathaniel Cunningham
>>>>> On Thu, 17 Apr 2008 10:22:03 +0100, David Reitter <david.reitter@gmail.com> said:
> On 17 Apr 2008, at 09:02, YAMAMOTO Mitsuharu wrote:
>>> Yes, of course that selects the window, but it does so even when
>>> the button can be selected otherwise, i.e. there's no
>>> "click-through".
>>
>> Maybe I don't understand. I think they've been always
>> click-through even without the patch. What do you mean by "select
>> the button"?
> Yes, they have been click-through, without the patch. With your
> patch, frames are selected unconditionally, and they shouldn't be.
> Toolbar items should be clickable without selecting (and raising)
> the frame, if they are actually enabled. This is called
> "click-through".
Without raising? So, with your definition, Safari's reload button is
not click-through, right?
YAMAMOTO Mitsuharu
mituharu@math.s.chiba-u.ac.jp
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Carbon / USE_MAC_TOOLBAR: click in tool bar doesn't raise frame
2008-04-17 23:20 ` YAMAMOTO Mitsuharu
@ 2008-04-18 9:40 ` David Reitter
0 siblings, 0 replies; 7+ messages in thread
From: David Reitter @ 2008-04-18 9:40 UTC (permalink / raw)
To: YAMAMOTO Mitsuharu; +Cc: emacs-pretest-bug, Nathaniel Cunningham
On 18 Apr 2008, at 00:20, YAMAMOTO Mitsuharu wrote:
>
> Without raising? So, with your definition, Safari's reload button is
> not click-through, right?
Not my definition; I just reiterated what's in the human interface
guidelines.
That said, it appears Apple doesn't like the taste of its own
medicine. They used to, though: IIRC, the "flag message" button in
Mail allowed click-through at some point.
I now think your patch is sufficient and correct.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2008-04-18 9:40 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20ecf6c70804160707t7e7881c4wdf0fbdc28b2f9bb7@mail.gmail.com>
2008-04-16 17:28 ` Carbon / USE_MAC_TOOLBAR: click in tool bar doesn't raise frame David Reitter
2008-04-17 0:44 ` YAMAMOTO Mitsuharu
2008-04-17 6:50 ` David Reitter
2008-04-17 8:02 ` YAMAMOTO Mitsuharu
2008-04-17 9:22 ` David Reitter
2008-04-17 23:20 ` YAMAMOTO Mitsuharu
2008-04-18 9:40 ` David Reitter
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).