Closed Bug 49844 Opened 24 years ago Closed 23 years ago

Add option to make context menus display on button down

Categories

(Core :: XUL, enhancement, P3)

x86
Windows 2000
enhancement

Tracking

()

VERIFIED DUPLICATE of bug 89308
Future

People

(Reporter: deanis74, Unassigned)

References

Details

Attachments

(1 file)

This is new, and the behavior that I'm assuming we definitely don't want. Until today (or really recently) context menus displayed on right-button down. Now all of a sudden they're not displaying until right-button up. Did this slip in there somewhere? Build 2000082204 on WinNT
This was fixed with the fix for bug 48838, and it was intentional. Standard Windows behavior is that the context menus appear on mouseup, whereas standard Unix behavior is on mousedown...so it was ifdef'd accordingly. I think this is a WONTFIX unless non-win32 platforms aren't behaving correctly?
(Damn, blake's fast ...) . One major exception to the party line is Nav4.x on win32, which brings up a context menu on mousedown, which allows for the convenient 'mousedown-sweep-mouseup-to-select' behaviour.
This is a bad move. People really miss how 4.x's context menus behave. Read through some of the comments for bug 16766, and its 16 duplicates, and you'll see that this is one of the things that people really miss in the current context menu implementation. Count me as one of those people. We've now moved to mimic the behavior of IE's context menus, not displaying until mouse up, and this is behavior that I despise. It's one of the larger contributers to my not using IE. I'm having trouble seeing how this had to be changed in order to fix bug 48838.
I agree. It's much easier to use the context menu if it appears on mousedown, and even moreso once bug 16766 is fixed. And it's important for backwards compatibility. Reassigning to me so I can fix once we reach a decision on this. (Nope, it wasn't needed to fix bug 48838, but I know it was in that patch anyways for whatever reason.)
Assignee: pinkerton → BlakeR1234
Keywords: 4xp
Adding Hyatt and Pinkerton to the CC list No, it wasn't needed for the other bug fix, it was done for platform compliance. Be careful before you run off and revert the behavior... it fixes other bugs
if you use IE, the win32 desktop, or any other msft app, the context menu appears on mouse up.
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → WONTFIX
There are many places in the product when we've shunned tradition for added usability. The question here is whether it's easier to obey platform standards (and leave it the way it is) for added usability and speed (it's much quicker to mousedown, scroll down to the item you want, and mouseup to trigger the action than it is to mousedown, mouseup, scroll down to the item you want, mousedown, and mouseup again). Still, I don't care all that much either way. cc'ing Matthew for comment
Don't forget right-click dragging, which you couldn't do if the context menu came up on a mouse down. We are following the platform here. I think this is the right thing to do.
hmm, good point. I've lobbied for platform consistency nearly everywhere else in the product that allowed for it, and I'm starting to think we should mimic platform behavior here as well. Our current behavior just conforms to platform standards -- whether or not it's the best choice for users really isn't the concern of our app, it's a design flaw in the OS itself.
Status: RESOLVED → VERIFIED
I almost always agree with platform standards, too. And I know where this non- standard behavior comes from. It's a carry-over from the latter days of windows 3.1, when there wasn't a standard behavior because context menus were a new concept. I like the right-click and drag, so I'm torn on where I stand on this on. Bug 16766 should be marked as WONTFIX, as well, given the resolution of this bug. And that's going to make more than a few people unhappy.
So someone volunteer to make it a preference. I don't always agree with the "everything must be configurable" linux-esq approach, but this could be made a pref without much fuss.
You mentioned, though, that this fixes other bugs. Which ones would we have to keep in mind?
The mouse down wasn't focusing like it should. This was fixed on Linux and Mac though, so it would work on Win32 as well now.
So then you think that having context menus work on either mouse up or mouse down would make no difference to the rest of the app? If we make this a pref, we'll have to re-open 16766, though.
no pref! no pref! i'll have to mark those new bugs with the pref on won't fix.
Blocks: 16766
Mike - why? Future bugs that need the mouse-up behavior?
Oh, ouch. If `Back' in the context menu requires two clicks (as it does if you only bring up the context menu on mouseup), then with a typically-sized browser window, going to the Back button is quicker -- and you might as well not have `Back' and `Forward' in the context menu at all. Where in Mozilla do we ever, or will we ever, use right-click dragging? Given that we'd have to come up with an equivalent action on Mac, I don't think we will. And anyway, I can pull out my `consistency of the closest aspects' rule and say that it's more important for context menus to behave the same way as ordinary menus (opening on mousedown) in the same app, than it is for them to behave the same as context menus on other apps.
That menu pulldowns trigger on mousedown and context menus on mouseclick is an unfortunate design flaw of Windows, but not our concern. When Windows fixes the design flaws in their stnadards, we will fix our app to conform to them. For now, we are doing the right thing by following OS standards.
*** Bug 50771 has been marked as a duplicate of this bug. ***
If you make the context menu appear on mouse button up you can't use them if you use focus-follows-pointer on NT - the menu disappears once the pointer enters the menu. Given that every other menu type appears on button down, it seems inconsistent to have just context menus on button up.
This looks to be a bug in the interaction of our menus and the x-mouse behavior. Because x-mouse behavior works fine with native context menus. Toby, can you file a separate bug on that? I duped bug 50771 because it was related to the mousedown/mouseup issue. In the new bug, just mention the x-mouse problem. Thanks!
I've filled in a bug report for the interaction between x-mouse and context menus on NT in bug #50798
This is basically a debate between two standards, the Windows standard, and the 4.x standard. I'm going to wish for convenience (4.x) over normal (Windows) behavior. Is there anyone who is chanting for Windows mouseup behavior actually doing so because they like it (rather than just "compliance")?
Whiteboard: Being discussed in n.p.m.ui
*** Bug 52169 has been marked as a duplicate of this bug. ***
*** Bug 56378 has been marked as a duplicate of this bug. ***
(story time) I downloaded M18, I liked it, I loved it, I right clicked, I though, "wtf? is Mozilla lagging?" I right clicked some more, I realized it wasn't lagging, but it was actually appearing on mouseup, I said, "eww.. this is poo" I closed mozilla and promptly posted that "bug" (using NS 4.75) One of the major reasons I don't use IE is because of that, if you make mozilla like that too, I'll be stuck with NS 4.75 for many years... I'm interested in where this is marked as the standard. I looked in the msdn, and didn't find it. I played around with a lot of apps, and it seems 50/50. If you start arguing that it must behave like one of microsoft's context menus, you should add that lame fading in on 2k/me and the menu pop up sound. Why even bother making your own browser if you make it exactly like IE? Microsoft sure as hell won't listen to the people and change their messed up ways, that's what you're here for.
> I played around with a lot of apps, and it seems 50/50. Could you name some of those apps? Might be interesting.
some apps that do on mousedown: netscape 4, mirc, secure crt, word perfect. even though it's only 4 programs, they are 4 programs I use a lot. While many programs do use the mouse up menu, they do so for a purpose (like on the desktop, you can select icons with the right button). There is really no reason for mozilla to wait. I think one reason I noticed it on mozilla, and didn't on some of the other programs is the menu is noticably slower in mozilla than in (for example) notepad. I can actually move my mouse across the screen in the time it takes the mz menu to come up. Considering I use the menu for (primarily) navigation, that delay is very apparent, and very annoying. If it came up on mouse down, the delay shouldn't be noticable. Perhaps another reason is the popup menu is used quite heavily in mozilla compared to other programs. Most programs use them for doing things like cutting or pasting, which most people do with the keyboard anyway (assuming it's text). Navigation is a mouse function. There are keyboard shortcuts, but normally your hand is on the mouse anyway for link clicking. If the only thing people wanted to do with the menu is copy text, there probably would be no debate right now. The "flick of the wrist navigation" is a *very* important feature; it's the difference between a usable browser and a waste of bits imho. It seems silly there is even an argument. People won't care if it's on down, but people WILL care if it's on up. The choice seems obvious to me.
URL: n/a
Whiteboard: Being discussed in n.p.m.ui
[For help in future counting: 5 dups of this bug were marked as dups of bug 16766, so this bug has 8 dups so far.]
I'm with Brian and Matthew here. As stated by Matthew, it's highly unlikely that right-click dragging will be used in Mozilla, so the "menu on mouse-up" approach seems to have zero benefits other than being the Windows standard. And I really cannot see why a user would get annoyed if the menu pops up on mouse-down instead of mouse-up. The other way around, though, it's really frustrating for those (apparently numerous) users who like using the context menu. I think this should be reopened.
Right dragging should be enabled for mozilla. There is a bug by Hixie for support of right dragging links to the desktop to get an active desktop option. This would require right drag capabilty because even w/ modifier keys active desktop is probably not one of the possible simple drag events.
Given the choice between being able to go Back with {mousedown, drag ~3 pixels, mouseup} (something I'd do several dozen times a day), and being able to right-click-drag an item to the desktop to make it my Active Desktop (something I'd do about once every two or three years) ... I know which one I'd choose.
odd, i'd just click the back button. [If my mouse was near it] Actually, i'd press alt-left, but... As for not violating the OS. I just gave an example, i can find better ones if necessary, but that seemed to be sufficient evidence that we shouldn't violate os best practices.
recall that doing things this way fix _many_ serious focus-related bugs. You can have those back if you like.
which ones did this one fix? Earlier in this bug, Blake Ross said, "it wasn't needed to fix bug 48838, but I know it was in that patch anyways for whatever reason." That's the only place I see another bug mentioned. (besides the numerous duplicates mentioned).
Various other applications I use display the context menus on button-down instead of button-up -- UltraEdit being the one I use most. This is an absolute showstopper bug for me; Mozilla/Netscape v.6 will remain nothing but a curiosity for me until the context menu behaviour is changed back to match Netscape v.4.
I'm starting to think that this should really be made a preference - if those focus issues that pinkerton brought up can be dealt with, that is.
Status: VERIFIED → REOPENED
Resolution: WONTFIX → ---
> I'm starting to think that this should really be made a preference Another case of Yet Another Pref Syndrome ... Take two aspirins and see if you feel any better. Ok, I'm reopening this. Nobody commenting in this bug *likes* the current behavior; it slows down back/forward navigation horribly; and the reasons given for retaining it are decidedly dodgy. First, the `consistency with the OS' argument is negated by the fact that several popular apps (including 4.x) have been cited as opening the context menu on mousedown, and by the fact that Windows is inconsistent with itself since every other menu type does open on mousedown. Second, the `allow right-click draggin' argument is nebulous, since no-one has been able to give any good examples of where this would be useful (see also bug 25742, which has a similar lack of examples), and since it wouldn't work XP. And third, no-one has cited any specific bugs to support the `it would expose other bugs' argument, apart from one bug which Hyatt said was already fixed. In any case, hiding bugs is not an excuse for making the user experience permanently worse.
Matt: I agree with you, except your complaint about too many prefs. If we can ever decide on how to implement a "very advanced" prefs page, this could go on there. Hyatt: I changed my build so that context menus displayed on button down, and the focus problem is back. How was it fixed on Mac and Linux? All: If we want to do this, we're still going to have to fix bug 16766, which was at one time xp before it was narrowed down to only Linux. Also, popup menus seem pretty slow these days, so we'll have to look into that. Actually, we should look into that anyway.
Hyatt: Found it - FireFocusOnTargetContent(). So that just leaves bug 16766, or maybe we should open a new one for Windows.
now that bug 16766 has been fixed, does that mean we can fix this one too?
Brian, sorry buy no. The fix in 16766 is for Linux only. That part of the code is a completely different world than Windows.
So then has a new bug been filed for windows? Or should bug 16766 be reopened with "windows" added?
I don't know what I was thinking back in January with my comment about opening a new bug for Windows. This _is_ the bug for Windows.
Blocks: 62040
Wow, this bug is on my list. How did that happen? :-) I can fix this, but I'm not intimately aware of all the bugs that hyatt and pink say will return from the dead if I do (if they'd like to explain them to me, I'll do it). So passing back...
Assignee: blakeross → pinkerton
Status: REOPENED → NEW
according to msft documentation, context menus appear on mouseUp. Since we are now using the native WM_CONTEXTMENU event, that's what we get.
Status: NEW → RESOLVED
Closed: 24 years ago24 years ago
Resolution: --- → WONTFIX
However, as has been pointed out before, even Microsoft doesn't follow this 'rule' -- applications in general seem to be split about 50/50 as to whether context menus appear on button-down or button-up. The more useful behaviour is button-down, as you can button-down, highlight a context menu item, and select it with button-up, all in one smooth motion. This is more user-friendly than the alternate behaviour, which requires two separate mouse events. IE does context menus on button-up. Imitating IE behaviours is not high on my list of priorities :). It's one of the things I find most annoying in the UI of applications.
pinkerton: are you sure about the WM_CONTEXTMENU thing? The reason I ask is because nsIContextMenuListener::OnShowContextMenu fires on mouse down.
vrfy.
Status: RESOLVED → VERIFIED
in the newest builds nsIContextMenuListener::OnShowContextMenu fires on mouse up. perhaps you guys misunderstood me, I wasn't complaining that it should fire on mouse up. I like it firing on mouse down. that's the way god intended it to be.
Can we remove the wontfix status? It makes me the shudder...
Brian: please don't mention god. context menus should appear on mouseup on windows that's the spec and anything else you see is a bug.
I'm sorry, but in every single other case, the rule has been to adhere to the current NS4.x behavior, and changes from this behavior must be justified. This context menu on mouseup thing is a big pain in the butt for the many people, and big turnoff from mozilla. Context menus on mouseup gets the user nothing, while context menus on mousedown offer a faster way to browse and perform actions. OS uniformity in a non-uniform OS is not a good justification for this. If you are so concerned about acting like other apps, there are bigger fish to fry, such as using native widgets and hardwiring in the classic theme.
there are features of using mouseup, there are reasons we don't use mousedown and these were discussed in other bugs. please take your complaints to a newsgroup.
we are using the win32 WM_CONTEXTMENU event. Period. Done. This conversation is over.
Please fix this. This annoying problem is one of the few things that's preventing me from switching over to Mozilla from Communicator. Also, just to add to what's above, this problem occurs on Win9x and Windows 2000 machines as well as on NT.
Status: VERIFIED → REOPENED
Resolution: WONTFIX → ---
Unauthorized Reopen.
Status: REOPENED → RESOLVED
Closed: 24 years ago24 years ago
Resolution: --- → WONTFIX
.
Status: RESOLVED → VERIFIED
That's a bit harsh. This bug should probably be arranged thus. Gerv
Severity: normal → enhancement
Status: VERIFIED → REOPENED
Resolution: WONTFIX → ---
Summary: context menus display on button up instead of down → Make context menus display on button down instead of up
Target Milestone: --- → Future
Reassigning to our friend, nobody. Gerv
Assignee: pinkerton → nobody
Status: REOPENED → NEW
QA Contact: jrgm → nobody
we are _not_, i repeat _not_ going to fix this. We are following the win32 guidelines and using WM_CONTEXTMENU. As a result, we are at the mercy of the OS to tell us when a context menu appears.
Status: NEW → RESOLVED
Closed: 24 years ago24 years ago
Resolution: --- → FIXED
Mike, I'm not asking you to fix this. There are several good reasons for this bug remaining open: 1) It will show up on the mostfreq table and stop people filing dupes. This is a _very_ good reason. People whine about this all the time in newsgroups. 2) Someone somewhere may want to rejig things enough that this works for them, and make a patch available to anyone who wants it. It doesn't mean we have to accept it. Or do it as a pref. If it's assigned to nobody, why do you care? You've already made it very clear indeed that a patch will not be accepted into the tree. Gerv
No, Gerv, people do not whine all the time on newsgroups about this bug not appearing on the mostfreq table. They whine all the time on newsgroups about this bug not being fixed. There is a difference.
Shouldn't this be closed as WONTFIX, not FIXED?
*** Bug 85530 has been marked as a duplicate of this bug. ***
Wow. My bug (bug 85530) is but one of many duplicates citing user grief about context menu behavior in Mozilla. (I thought I had done a better search for duplicates before writing bug 85530; but apparently not!) If you see my commends on that bug, however, you will see that I am definitely of the opinion that Mozilla should take either of the following approaches: 1) Violate Windows 'standards' on context menu behavior and respond to right-mouse-down. 2) Provide an 'Advanced UI' preferences category allowing the user to decide. And the default could be 'On right-mouse-click,' as long as I can choose otherwise. I am, on one hand, happy to see that I am not the only one who considers Mozilla's context menu behavior to be an egregious step away from Netscape and toward IE. Prior to reading everyone's comments, I thought I was a lone Netscape 4.x user who despised IE for some very simple UI reasons (context menu doesn't appear until mouse-up; 'open in new window' allows OS to size window rather than inheriting current window size). I agree with everyone who has written a statement of the flavor: 'I am sad that I will have to make the decision between a buggy and no longer supported Netscape 4.x, with its extremely quick mouse-based navigation -or- a solid, evolving Mozilla with UI quirks that remind me of why I don't use IE.' I absolutely love the latest Mozilla build (the first I've used since an early Alpha) and the fact that users can respond and provide input on issues like these is proof that this model of development is more user-friendly. I feel, decidedly, that Mozilla's developers must recognize the enormous clamor around this issue and provide at least the option of choosing the context menu's behavior. I really enjoyed the comments of another Brian: 'Why even bother making your own browser if you make it exactly like IE?' Netscape 4.x users have been staving off the IE steamroller for a long time and I believe they expect Mozilla to be their next browser platform.
Even though I commented differently a while back, I'm fine with the behavior now. It's standard Windows behavior. It doesn't inconvenience me at all. If this is enough to make someone think that we're making a browser that's "exactly like IE", then they're not looking very deep below the surface. Just wait till we build the Active Desktop support. ;) And even if we were to enable the context menu on button-down, it doesn't work. The menu doesn't grab capture until the mouse button is released (early bug 16766).
This is still a large problem for me -- the user interface in this state slows me down significantly compared to context-menu-on-button-down behaviour of Netscape 4.x.
The function that I use this menu for 99% of the time in 4.x is Open in New Window. Now that I can do this with a single-click of the middle mouse button, I don't use the menu at all. I know, many mice don't have a middle button.
I know this has been decided to keep the OS behavior of menu on release, but just for the sake of matching the OS? It goes against usability. You'd think the reasons for context on mousedown outwiegh the resons for on mouseup. People using Netscape didn't have a problem with the menu on down method. It's faster and not as awkward to use. This is one of the things about IE I don't like. Coudn't there be a setting in preferences somewhere to have context menus on down? I hate it when I use Mozilla and it starts to feel like IE.
Please, people, stop referring to the current behavior as the `OS standard'. When there are many, many Windows apps which open the context menu on mousedown, including apps in Microsoft Office 2000, and even some parts of Windows 2000 itself, referring to opening on mouseup as a `standard' is misleading at best and disingenuous at worst. And no, there is no point in making this a preference, since no-one prefers the current behavior over the 4.x behavior. (No-one who's spoken up in this bug, anyway.) Either they tolerate it, or (like Dean) they use a middle mouse button instead, or (like brian, Brian, and Charles) they go back to 4.x.
<i>And no, there is no point in making this a preference, since no-one prefers the current behavior over the 4.x behavior. (No-one who's spoken up in this bug, anyway.)</i> Are you kidding? Plenty of people have spocken up here and in the newsgroups. From this bug alone: Dean Tessman ------------ <i>The function that I use this menu for 99% of the time in 4.x is Open in New Window. Now that I can do this with a single-click of the middle mouse button, I don't use the menu at all. I know, many mice don't have a middle button.</i> Brian Hauer ----------- <i>If you see my commends on that bug, however, you will see that I am definitely of the opinion that Mozilla should take either of the following approaches: 1) Violate Windows 'standards' on context menu behavior and respond to right-mouse-down. 2) Provide an 'Advanced UI' preferences category allowing the user to decide. And the default could be 'On right-mouse-click,' as long as I can choose otherwise.</i> anon0322@yahoo.com ------------------ <i>Please fix this. This annoying problem is one of the few things that's preventing me from switching over to Mozilla from Communicator. Also, just to add to what's above, this problem occurs on Win9x and Windows 2000 machines as well as on NT.</i> Ben Ruppel ---------- <i>I'm sorry, but in every single other case, the rule has been to adhere to the current NS4.x behavior, and changes from this behavior must be justified. This context menu on mouseup thing is a big pain in the butt for the many people, and big turnoff from mozilla. Context menus on mouseup gets the user nothing, while context menus on mousedown offer a faster way to browse and perform actions.</i> That's just the first four I saw and won't list them all for obvious reasons. A lot of people want this. Why not just provide an undocumented pref?
Oops, I read it wrong. You said no one prefers the current behaviour...
As I alluded to earlier it's not as easy as just changing it from button up to button down. When the context menu was displaying on button down, it didn't work. You still had to release the mouse button in order for the menu to start responding. A lot of time was spent trying to diagnose it, but no resolution was found. It's not an excuse, but I just wanted to make sure that people realize it's a deeper issue than it appears.
actually it is that easy. I run my own special build of mozilla where the menu comes up on mouse down, and I have not seen any bugs because of it. fyi, the code I change is in nsWindow.cpp /* case WM_CONTEXTMENU: result = DispatchMouseEvent(NS_CONTEXTMENU); break; */ case WM_RBUTTONDOWN: { ... some code snipped for brevity ... result = DispatchMouseEvent(NS_MOUSE_RIGHT_BUTTON_DOWN); result = DispatchMouseEvent(NS_CONTEXTMENU); } break; sure it's not very pretty, but it works perfectly (for me at least).
Using this code I still run into the same problems that I mentioned before. Although the context menu shows up on right button down, it doesn't respond (items don't highlight) until I release the mouse button. Then I have to click again to select an item from the menu. Also, you can't take WM_CONTEXTMENU out completely or you'll toast keyboard support for context menus (VK_APPS). Here's some modified code, using a define set in makefile.win. case WM_CONTEXTMENU: { // if the context menu is brought up from the keyboard, |lParam| // will be maxlong. Send a different event msg instead. PRUint32 msg = (lParam == 0xFFFFFFFF) ? NS_CONTEXTMENU_KEY : NS_CONTEXTMENU; #ifdef WIN32CONTEXTMENUONMOUSEUP // context menu from the mouse is handled in WM_RBUTTONUP - only // send the context menu if initiated from the keyboard if (msg == NS_CONTEXTMENU_KEY) #endif result = DispatchMouseEvent(msg); } break; ...... case WM_RBUTTONDOWN: { ...... result = DispatchMouseEvent(NS_MOUSE_RIGHT_BUTTON_DOWN); #ifdef WIN32CONTEXTMENUONMOUSEUP result = DispatchMouseEvent(NS_CONTEXTMENU); #endif
well I'll be damned, you're right *opens mouth, inserts foot* I never noticed that one because I use real popup menus (ie: TrackPopupMenu()). I can assure you it has never crashed because of it though :)
Actually. What in the world. Pinkerton and I have both commented that the way it is, is the way it should be. Do we not exist? <q class="useless-repetition"> I prefer the current implementation. I didn't speak up because I didn't feel a need to spam people over a bug that has been fixed for a while.</q> mpt: please don't make sweeping generalizations about products w/o including steps to reproduce.
> Pinkerton and I have both commented that the way it is, is the way it should > be. Um, no. Pinkerton said that it's the way that it is not because he preferred it that way, but because: * It's what WM_CONTEXTMENU does -- which is true, but so what? We've worked around bugs in the Windows APIs before. (Just ask danm.) * It apparently fixes other bugs -- but he has failed to name any of them, despite repeated requests to do so. You said it should be the way it is because: * You think Mozilla should support right-click-drag, an action which the User Interface Hall of Shame has described as [emphasis in original] `perhaps the *least* intuitive operation ever conceived in interface design'. > mpt: please don't make sweeping generalizations about products w/o including > steps to reproduce. -sigh- ... Fine, then. Here's steps to reproduce: * Mousedown with the right mouse button. What you should see: * A context menu appears. What you actually see: * The context menu does not appear until the mouse button is released. * You need to click twice, instead of once, to use the context menu. * It's unnecessarily difficult to get rid of the context menu once you've opened it. Problem occurs with: * Mozilla build 2001061520, Windows 98 Problem does not occur with: * Adobe Acrobat Reader 4.0 * Adobe Illustrator 9.0 * Adobe ImageReady 3.0 * Corel Quatto Pro 8.0 * Corel WEB.SiteBuilder 8.0 * IDM UltraEdit 8.0 * Microsoft Photo Editor 3.0 * Microsoft Excel 2000 * Microsoft Publisher 98 * Microsoft Publisher 2000 * Microsoft Word 97 (toolbar area only) * Microsoft Word 2000 (ditto) * Microsoft Windows 2000 Disk Defragmenter * Microsoft Windows 2000 IME Pad * mIRC * Netscape Communicator 4.x * RealPlayer 7.0
Problem also does not occur with: - UltraEdit v.7.10a - F-Secure SSH v.1.1 "Context-menu-on-right-button-up" is definitely _not_ a Windows standard, despite what lies the documentation may contain.
Ok, i have bery few of those programs, the behavior mpt suggests sdoes not appear to occur in the w2k as disk defragmenter, he'll have to provide better teps tp reproduce. it does kind of occur in acrobat5 (a dn corel quatropro 8, but both of them were not very happy when i ran them. mpt also listed mirc which is a program which should earn a ui hall of shame slot, but that's ok.
WE ARE NOT CHANGING THIS IN MOZILLA. GET OVER IT.
Well, if that is your attitude, it is a big f@#@in' CRYING SHAME that you've had a chance to start over fresh, and chose to break your darn browser. Have fun with crapzilla!
> WE ARE NOT CHANGING THIS IN MOZILLA. GET OVER IT. Heh, that's funny. I thought Mozilla was an effort to build a browser and listen to users input on what they liked and disliked. Where everyone contributes somthing and they're a part of the project. I guess the programmers only listen to other programmers. There's been enough people that don't like this IE style "feature", and it could probably be made to do both if people weren't lazy. But what good is the drag functionality good for? How much drag and drop do you really _need_ in a browser? It's pretty sad when the developers are "screeming" at people for making suggestions.
I'm sorry, I usually have a lot of respect for the mozilla programmers and their decisions, but the responses I've seen in this bug are utter baloney. It seems that we used to have context on buttondown working just fine, but then a bunch of other bugs popped up. Rather than fixing the bugs, it was decided to go with the quick fix by changing mozilla behavior. Mozilla usability was compromised for the sake of a quick hack, and non-existant "OS standards" are being used as a crummy crutch in arguments.
Context menus on right-button down NEVER worked properly. See bug 16766, which originally was for all platforms and also my comments from yesterday. Oh, and here's a tip. Don't call people lazy, especially when they, speaking personally, put in countless hours trying to work on 16766.
We match the OS behavior here. We respond to the native message which also gives us shift+f10 for key access to the menu (and should the key change in the future, we'll continue to support the correct OS key). Changing to respond to this message is not a "hack". The code is simpler and more elegant, and we're matching the correct Windows behavior (and we're doing it ONLY on Win32).
This is the whole point (which is apparently being missed by some developers): this isn't "correct Windows behaviour". Even MS-Office 2000 doesn't behave this way. It seems that roughly 10% of the userbase that has commented on this issue (in this bug and the various duplicates) likes the current behaviour, and about 90% feel very strongly that the previous behaviour made for a significantly better user experience.
You are wrong. Here's a sampling of apps. I'll use UP and DOWN in the list below to indicate menus that come up on a mouse up and a mouse down respectively. Visual C++ - UP Internet Explorer - UP Outlook Express - UP Notepad - UP Wordpad - UP Adobe Photoshop 5.5 - UP Office (Word 97) - UP ... and so on ... I'm not sure what OS you're running, pal, but every app I've tried (including Office) is bringing up context menus on a mouse up.
In fact, the only app (on my machine) that I can find that deviates from this behavior is Netscape 4.7. Also, we've made it clear that this is the OS behavior. We are responding to the Win32 generated WM_CONTEXTMENU message. The OS itself is generating that message on a right mouse up and on SHIFT+F10. We are not listening to the mouse or the keyboard, and are instead letting the OS decide when a context menu should be invoked. So when we say OS behavior, we literally mean that Win32 is deciding when to send us that message, and its default behavior is to do this on a mouse up (hence the reason nearly every app on Win32 has mouse up behavior, since you have to deliberately deviate from the OS behavior to make it come up on a mouse down).
> > It seems that roughly 10% of the userbase that has commented on this issue > > (in this bug and the various duplicates) likes the current behaviour, and > > about 90% feel very strongly that the previous behaviour made for a > > significantly better user experience. > This bug has 18 cc's, and 10 votes. We don't consider bugs w/ 100 cc's or > votes as representing even 1% of our userbase. Please refrain from making > extremely in accurate comments. That's why I said "...of the userbase which has commented on this issue (in this bug and the various duplicates)...". It's a bug. It's a nasty one. Lots of users submit this bug. Some of the developers seem to feel that this is not a bug because somewhere the Windows docs say this is "standard OS behaviour". Never mind that Mozilla doesn't act this way on any other platform. Never mind that most of the applications I use on win32 don't behave this way. The reason so many applications do not follow this "standard" Windows behaviour (including Office 2000) is that the standard is broken, and less usable than the obvious context-menu-on-button-down.
David Hyatt wrote: > You are wrong. Here's a sampling of apps. I'll use UP and DOWN in the > list below to indicate menus that come up on a mouse up and a mouse down > respectively. [...] Office (Word 97) - UP No (I mean 'NO!' ;-), as somebody mentioned above: * Microsoft Word 97 _(toolbar area only)_ * Microsoft Word 2000 (ditto) Right-klick in the *toolbar* of MS Word 2000 - and voilà, the menu appears on mouse-down. Please, please solve this bug, _make it an option_ how the context menu comes up - or it will never be quiet around this bug again...
Do see Matthew Thomas' (mpt's) list of applications that use a right-mouse-down as an invocation of the context menu. He labels his list, "Problem does not occur with..." I think this whole discussion is getting side-tracked, though, into a discussion concerning which apps behave one way or another. And sadly, it may have become way more heated than it needs to be. Nevertheless, many people have noted that the majority of users who have spoken up about this so far would prefer a right-mouse-down context menu. The bugs that are introduced by doing this change notwithstanding, can't this issue be at least marked as something the developers will look into more in the future? I can understand tabling it for the time being due to attending to more important matters, but eventually, it should be addressed. Obviously it's not impossible to support a context menu on right-mouse-down--Netscape 4 has been doing this for years.
So Office is internally inconsistent, choosing to (within the same window) sometimes invoking a context menu on a mouse up and other times on a mouse down. Gee, that's a great user experience.
Also, mpt's list is not correct. For example, I tested RealPlayer, and the context menu comes up on a mouse up even though it's on his list as coming up on a mousedown. It is quite clear to me that the vast majority of Win32 apps have context menus that are invoked on a mouse up. I've looked at 40 apps now on my machine, and they all bring up the context menu on a mouse up except for Word in the toolbar and Netscape 4.7. So I'm sorry, but the assertion that this is not the OS behavior is bogus. Maybe some very popular apps make the decision to use a mouse down, but they are quite clearly a minority.
Let's go to Redmond and hack the damn "OS behavior" for our own good.
I think I heard hyatt say that if people generate more spam on this bug, he'd be interested in fixing it. Go for it, guys!
what if redmond, in Windows 2002 decides to change wm_contextmenu from mouse up to mouse down (or even makes it an option), will the code be able to handle it? if not, then that really is a bug that should be fixed. the code shouldn't assume it's being called by right mouse down-up unless it's actually doing if (mouse up){ }. btw, this really should be marked "WONTFIX" (if you admit it's a bug but don't feel like fixing it) or "INVALID" (if you refuse to admit it's really a bug).
That's the whole point of listening to the message. If Windows does change the behavior, yes, we'll pick it up automatically.
In an attempt to say something new in this discussion: Even Netscape 4.x behaves differently in different areas. If you right-click in the adress bar, the menu comes up on *mouse-up*. If you rigth-click on a link or something like that, it comes up on *mouse-down*, as desired by quite a few users and programmers here. I wouldn't say this is inconsistently, I think it is fully intentional. It makes sense because you are faster in such often-used actions like opening a link in a new window or view source or copy link to clipboard, although the standard menu comes up at mouse-up. On the other hand, I would say the different behaviour of MS Word (text: mouse-up - toolbar: mouse-down) is inconsistent, I seems not to foollow any careful consideration. So, please solve this bug, so that you are able to use Mozilla like Netscape 4.x, at least as an *option*.
yes, the code will open the menu on mouse down, but will you be able to *use* the menu? from what I can tell, the menu will appear, but you'll have to release the button, then click again to select any item. sounds like a bug that needs fixing to me.
*** Bug 83764 has been marked as a duplicate of this bug. ***
Ten dups, --> mostfreq. Of course, you don't need to have Dave Hyatt's level of programming experience to realize that Microsoft will never change the WM_CONTEXTMENU event to mousedown -- since that would break the apps which have (unwisely) chosen to use right-click-and-drag. What Microsoft would do instead is publish (and start recommending the use of) the event which they're already using in Microsoft Excel, Microsoft Publisher, Microsoft Works Spreadsheet, Microsoft Photo Editor, etc -- the one which triggers on right-mousedown *as well as* right-click and Shift+F10, the one which Netscape Communicator 4.x either used or imitated. (For the record, my list *is* correct: I checked RealPlayer 7.0 again and it does indeed open its context menus on mousedown.)
Keywords: mostfreq
Would it be possible to also pop up the context menu on the message generated by right-click-and-drag? (Is there such a message?) We could pop it up at the initial drag coordinates. This would mean both parties in this argument were happy, except that those right-dragging to select menu items would see a small "delay" in the appearance of the menu. IMO, though, it's no big deal if this doesn't get fixed as the most useful quick-access command on the menu by far is "Open In New Window", and that's now XP middle-mouse-button. Gerv
While the addition of "Open in new window" to the middle mouse button is nice, it isn't the only context menu item I use on a regular basis. I regularly use "Save image...", "Save target...", and "Copy link location..." as well. And I have no middle mouse button on one of the computers I use. Maybe a new tack is needed here. How about a bribe? :) First Mozilla developer who manages to get this changed in the tree gets $50.
I have RealPlayer 8. They changed it to mouseup. :) Anyway, what would complicate the code is that there is no mousedown context menu event. If you want to deviate, you have to listen to all the messages(mouse and key) by hand (which is what we did in 4.x).
Reproduced on: 2001-06-21-04, Win98 & Win2k 2001-06-18-04, Win98 & Win2k 2001-06-09-20, Win98 & Win2k 2001-06-04-04, Win98 & Win2k So again, a few programmers are deciding the fate of a supposed 'open-source' project. Way to go. I have a great deal of respect for the mozilla developers, but I'm starting to notice many flaws with their thinking -- especially on handling controversial bugs. And quite interesting, as has been noted by others, that this is considered RESOLVED FIXED. RESOLVED LATER or RESOLVED REMIND makes much more sense. So, to those who wish to keep this option in place: who gives you the right to decide the fate of all users? This is open source. At least offer a documented hidden pref. This bug, these users, this problem will not go away. It is cancerous; it will only spread and get uglier.
...adding myself to CC. Wow, hmm, up to 12 votes now. Common sense dictates at least nominating for nsCatfood. Anybody?
while I don't agree with the developers, I don't really blame them. If they don't feel like fixing this bug, that's their parogitive. opensource isn't, "we'll do anything you want us to do." it's, "here's the source code, if you want a feature, feel free to program it yourself, and post your changes so others may enjoy the fruit of your loins." I'm sure someone will figure out the focus bug and post a patch somewhere that everyone will download, except maybe the mozilla developers. I'm investigating it and will post here when (if) I discover the root of the problem. I don't really mind if the bug is fixed or not. I use k-meleon, which already has a workaround for this bug; but I figure I may as well attempt to fix it for those of you that don't use k-meleon.
(Gotta love the spam! Hehe) Brian, it's people like you -- along with your correct line of thinking -- that make open source work. If I had the ability (read: skills) to program for mozilla, I would. You do, and you are, so kudos to you. At least someone, somewhere, will have the option. So if there's anyone out there that is serious about this bug *and* can help him out, why not give him a buzz? It's always best to collaborate to solve these problems, hence the open-source structure...all making sense now, isn't it? :D
Just another comment on it.. As small as this feature seems, it is one of the things that makes netscape more usable. If you use NS4 then use IE you can see the differences in usability. Context menu features are there when you need them, progress indicators actually follow the progress of what the page is doing instead of just the progress of time. (what's that about, I can look at a clock on the wall if I want to know that) It just feels more like a tool than a program trying to hide stuff from you. Taking away little things like context on mouse down is taking away the main reason I like Netscape, the feel of usability and responsivness as a tool.
With some help from Dean, I tracked down the problem. When you right-click on the page, it calls CaptureMouse which redirects all mouse messages to that window. In things like the bookmarks this isn't a problem because the context menu and the bookmark window have the same viewmanager, but on a webpage it doesn't work like that. It turns out we don't even have to call capturemouse on right mouse down, since there's no code that relies on that (really its only use is right-click-and-drag, which, as others have mentioned, will not be implemented in mozilla). I also had to change the popup listener code that relied on the context menu appearing on mouse up. While I was at it, I added a pref |contextmenu.open.on_mouse_down|. It defaults to false, and context menus behave exactly as they do now; but if you change it to true, they act like the context menus in NS 4. I've tested the patch quite a bit, everything seems to work fine with it. Things that are broken also happen to be broken in the daily builds, so that's not my problem :)
Hey Binarycowboy, I think I speak for a lot of people when I say I'd like to buy you a beer!
forget the beer, I want my $50 from charlesc-mozilla@qcc.sk.ca :)
Nice! Is this somthing that the developers will implement? I don't see why not if it defaults to the current behavior and doesn't cause any other problems.
I'm not qualified to review this code, but you will probably want to do something with pref listeners instead of checking the pref on every context menu popup. Maybe. Anyway, find who owns this code and ask them to have a look. Adjusting stuff... Gerv
Status: RESOLVED → REOPENED
OS: Windows NT → All
Resolution: FIXED → ---
Summary: Make context menus display on button down instead of up → Add option to make context menus display on button down
I'm going to re-close this bug, but mark it as a duplicate of bug 89308. This bug has become too polluted to be of any use. Please see my comments from today in 89308. *** This bug has been marked as a duplicate of 89308 ***
Status: REOPENED → RESOLVED
Closed: 24 years ago23 years ago
OS: All → Windows 2000
Resolution: --- → DUPLICATE
Verified dupe
Status: RESOLVED → VERIFIED
Component: XP Toolkit/Widgets: Menus → XUL
QA Contact: nobody → xptoolkit.widgets
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: