Open
Bug 36305
Opened 24 years ago
Updated 2 years ago
Proxy icon in title bar
Categories
(Core :: XUL, enhancement, P3)
Core
XUL
Tracking
()
NEW
Future
People
(Reporter: hsivonen, Unassigned)
References
Details
(Keywords: helpwanted, platform-parity, Whiteboard: [Windows: 0%][Mac OS: 0%][OS/2: 0%])
Since Mac OS 8.5 there has been an option to include a draggable icon in the window title bar. In Mozilla the icon (if added) could function as a reference to the location remote file or a direct reference to a local file. The appearance of the icon would change depending on the the location (remote/local) of the file. Dragging a reference to a remote file to Finder would create an Internet pointer to the remote file and set the name of the Internet pointer to the title of the document. Dragging to a target accepting text would be equivalent to dragging the URL as text. Dragging a reference to a local file would have the same effect as dragging the file in Finder.
Comment 1•24 years ago
|
||
XPToolkit has no time to do this, targetting M30, adding helpwanted keyword.
Keywords: helpwanted
Target Milestone: --- → M30
Comment 2•24 years ago
|
||
Also, becoming convention to support Finder behaviour by showing enclosing contexts when command clicking the name in the title bar. e.g. the Finder shows enclosing folders BBEdit and CodeWarrior should folders enclosing file being worked on IE5 shows enclosing folders in url.... so www.foo.com/bar/baz/bat/index.html would give a menu containing www.foo.com www.foo.com/bar/ www.foo.com/bar/baz/ www.foo.com/bar/baz/bat Will investigate docs and try to attach a URL describing icon trick for reference by whoever might find time to implement this. (or I might do it myself if it looks easy enough)
Comment 3•24 years ago
|
||
Here is URL of docs - looks easy enough to support default behaviour, as Mozilla browser windows aren't document orinented, so simply creating an internet shrotcut, similar to how dragging the icon in the URL bar on the mac should work. Indeed, it looks like the WindowManager may do this for you. Supporting in composer and messenger will be more interesting, as these have the concept of unsaved documents... http://developer.apple.com/techpubs/macos8/HumanInterfaceToolbox/WindowManager/ ProgWMacOS8.5WindowMgr/WindowMgr.5.html
Comment 4•24 years ago
|
||
Tracking a Proxy icon drag: http://developer.apple.com/techpubs/macos8/HumanInterfaceToolbox/WindowManager/0 Displaying a popup path menu: http://developer.apple.com/techpubs/macos8/HumanInterfaceToolbox/WindowManager/1
Comment 5•24 years ago
|
||
There may be other issues with this if/when we take over the native windows in XUL.
Updated•24 years ago
|
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Reporter | ||
Comment 6•24 years ago
|
||
Why would you want to take over the window border rendering in XUL? Why reinvent the wheel? My guess is that trashing native windows would not only prompt even more complaints from Mac users, but would also prompt complaints from Linux/UNIX users and even some complaints from Windows users.
Comment 7•24 years ago
|
||
Everything we are doing could be seen as 'reinventing the wheel'. In this case, taking over drawing of window borders allows us to do webtops/desktops, MDI-style UI, and skin the entire window.
Comment 8•24 years ago
|
||
Oh, come on. This has stopped being funny now. * Doing `webtops/desktops' is the role of the OS, if indeed it is a good idea (and how much of a good idea it is can be gauged by the popularity, or lack thereof, of Microsoft's `Active Desktop'). * MDI is an abomination unto the user, and should never have been invented. * Skinning the entire window is the role of the OS. If Mozilla stops using native windows on any OS which has them, the first thing I will do is laugh. The second thing I will do is leave the sinking ship -- quit contributing to Mozilla UI design/QA/documentation/anything else, and go and volunteer for another project. (Mnemonic is looking interesting ...) Re lordpixel's comment about unsaved documents: in that case, the icon in the title bar should appear disabled -- as it does in BBEdit.
Comment 9•24 years ago
|
||
MDI, eeekk! OS/2 has draggable icon too. On X this would require window manager support. I was considering adding this to icewm based on _MOZILLA_URL X property (just need to get Xdnd finished). Icewm already has the icon in proper location (OS/2 like). If anybody is interested in this, mail me. If mozilla ever draws the border/titlebar (on windows only, it's not workable proposition for X), I hope it is *considerably* faster responding to user input than it is now. Any delay >> 0.1 second ever would be totally unacceptable. Right now mozilla often goes to sleep for several seconds without responding. This is why X has superior window management, one process is responsible for it and apps cannot interfere a lot (unless the toolkit is broken and grabs the mouse and locks up, which reminds me that I need to file a bug about mozilla doing this on Windows).
Reporter | ||
Comment 10•24 years ago
|
||
Reality check: * Mozilla is not the only app around. It is not even the only browser around. It not the only software technology around that attempts to be a middleware platform for cross-platform apps. * End users will run other apps, too. Other apps will use native widgets and windows. Mozilla will not look good among the crowd, if it doesn't respect the system-wide theme settings. * Styling window borders is a job for the system-wide window manager. The window manager can be built-in to the OS (Mac OS, Windows) or up to the user to choose (X11). * The desktop belongs to the system. The desktop software can be built-in to the OS (Mac OS, Windows) or up to the user to choose (X11). * The UI for launching apps belongs to the system. * MDI makes interapplication operations more difficult to conduct. Users who don't want to see multiple apps at the same time can use the hiding features of the windowing system they are using. They don't need MDI to hide other apps. Savvy users who want to work with multiple apps won't like MDI style windowing. While Windows users may silently accept MDI, there is no good reason why Mac and Linux/UNIX users should accept MDI style windowing. * Mac users are known to care a lot about the UI. They didn't choose a Mac for nothing. * Linux/UNIX users choose their window manager for a reason. They are not going to like an app that doesn't respect their choice. * There is a lot work being done to bring consistency to UI toolkits, desktops and windowing on Linux. Doing things differently will not only be counter-productive on Mac and Windows, it will also be counter-productive on Linux. * Windows and Mac users can continue using IE if Mozilla fails to respect platform conventions. * Moving from normal native windows to borderless native windows with XUL borders does not yield considerable benefits in terms of managing events. In fact, it would be more diffucult to implement things like window moving and resizing.
Comment 11•24 years ago
|
||
I don't think it is appropriate to start discussing long lists of issues and points here. This is a bug report, and it is effectively not assigned. If anyone wants to comment on the requested enhancement, or take on the work, that would be great; but please post more general comments, and the ensuing discussions, in the appropriate newsgroups. Thank you.
Summary: [RFE] Icon in title bar on Mac OS → [RFE] Proxy icon in title bar on Mac OS
Comment 12•24 years ago
|
||
Mass-moving all M20-M30 XPToolkit bugs to Future
Target Milestone: M30 → Future
Comment 13•24 years ago
|
||
Adding 4xp because IE 5 has this (on both Windows and Mac OS), pp because it will require different implementations on each platform.
Reporter | ||
Comment 14•24 years ago
|
||
Nominating for Mozilla 1.0. This is a feature new apps are expected to have.
Keywords: mozilla1.0
Comment 15•24 years ago
|
||
heh. mine. Here's a code fragment: case inProxyIcon: { RgnHandle dragRgn = ::NewRgn(); DragReference theDrag; OSStatus status; const char * url = "http://www.apple.com"; SetWindowModified(whichWindow, false); status = ::BeginWindowProxyDrag(whichWindow, &theDrag, dragRgn); ::AddDragItemFlavor(theDrag, 0, 'url ' ,url,20, 0); if( status == errUserWantsToDragWindow ) { //fall through into inDrag } else if( status == noErr ) { status = ::TrackWindowProxyFromExistingDrag( whichWindow, anEvent.where, theDrag, dragRgn ); if( status == errUserWantsToDragWindow ) { //fall through into inDrag } else if( status == noErr ) { } status = ::EndWindowProxyDrag(whichWindow, theDrag); if( status == errUserWantsToDragWindow ) { //fall through into inDrag } else { if (dragRgn) ::DisposeRgn(dragRgn); break; } } //before falling through, clean up if (dragRgn) ::DisposeRgn(dragRgn); } case inDrag: All this does (when combined with a couple of other trivial changes) is to make the Proxy icon in the Mac title bar draggable to the desktop, where it magically becomes a shortcut to www.apple.com. Much more work is needed (i) Only add icons to windows which currently support it. I'll probably do * Navigator * Bookmarks - maybe, if I can get the currently selected URL... * ?Messenger? Drag a URL to the news story currently in the 3 pane? * Mail compose * Composer As you go down the list, the less likely I am to implement that window type. If we don't have it implemented yet, that window should not have an icon. (ii) Determine what sort of window is having its icon dragged when the drag begins. If (i) is fixed then only supported windows will ever have drags, so this'll be a simple dispatch... (iii) if its a Navigator window get the URL in the addressbar and make a shortcut if its dropped in the finder, etc... (iv) For compose windows, need to manage dirty state of window (as you can't drag when there are unsaved changes) with a document state listener. Need to find out where to add this listener - i.e. what file to put my functions in. If the window is clean, then need to associate proxy icon with file on disk. My main focus will be to get Navigator windows going. Once that's fixed I may well file new bugs for each other kind of window to encourage each team to fix their own.
Assignee: trudelle → lordpixel
Status: ASSIGNED → NEW
Comment 16•24 years ago
|
||
Cool! Andy, I suggest this bug just be for the ability to use XUL or JS to specify icon data (image, URL of data which the icon represents, and enabled/disabled status) for a document window in any XP Toolkit application, and for this to work the right way in Mac OS *and* in Windows and OS/2 (so you'll need to reassign to someone for the Windows part once you're done on Mac). Separate depending bugs can then be filed to hook this up for specific windows in the Mozilla application in particular. [Removing 4xp, since the definition of 4xp has changed.]
Keywords: 4xp
Summary: [RFE] Proxy icon in title bar (Mac OS, Windows) → [RFE] Proxy icon in title bar
Whiteboard: [Windows: 0%][Mac OS: 0%][OS/2: 0%]
Comment 17•23 years ago
|
||
Can we leave this out of Win32, the fact that (Internet) Explorer does this just defys win32 platform conventions. In every win32 app that I've used (except for the explorer file manager and IE) the menu that appears when you click the mouse button appears on mousedown, in explorer it appears on mouse up. I still have a habit of using this menu, probably because of my days of using win3.1 so the fact that menus appear on mouse up in explorer is annoying when you like to mousedown, drag and release to activate a menu. I'd like to know what benefit this would bring to anyone on a Windows platform,the icon next to the URL bar can be used for drag and drop.
Comment 18•23 years ago
|
||
Seems fair enough to me. I think this all got mixed up in the desire to have different icons for Mail and News, Navigator, Addressbook, in the windows taskbar. The drag behaviour isn't really necessary on windows for the reasons you note. I note the icon bits been done in NS 6.1
Comment 19•23 years ago
|
||
*** Bug 93155 has been marked as a duplicate of this bug. ***
Updated•13 years ago
|
QA Contact: jrgmorrison → xptoolkit.widgets
Comment 20•2 years ago
|
||
The bug assignee didn't login in Bugzilla in the last 7 months, so the assignee is being reset.
Assignee: lordpixel → nobody
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•