[ Jorge, your mailserver is not healthy... I tried to send this 3 times without success, so it goes to the list instead... ] On Mon, 8 Sep 2003 11:13:32 -0400 (CLT) Jorge Arellano Cid <jcid@softhome.org> wrote:
You're right. In that case it causes more troubles than help. Please send me the patch to commit it to CVS.
It is part of the tab/frame patch... It uses the document abstraction. In non-patched Dillo, it would be something like: if(bw->nav_stack_ptr != -1) gtk_widget_grab_focus(GTK_BIN(bw->docwin)->child); else gtk_widget_grab_focus(bw->location); Question is, how much sense does this make in a single-document window? When the window is created, the navigation stack is empty, so focus will always be on the location bar... By the way, there are some problems with 'hidden focus' in Dw. These problems only become directly noticeable in the tab/frame patched version, but they are present in CVS Dillo as well. To see the problem: 1. start dillo on a longish directory listing or a long document (so that the vertical scroll bar appears) 2. use up and down arrow keys to scroll the document. This works in unpatched Dillo. In the (current) patched version, it only works AFTER pressing the UP key once... 3. press SHIFT-TAB twice. Focus is now set on... something. Something invisible. There is no visible focus cue 4. press DOWN key. Nothing happens, no matter how often you press it... Same for TAB, ENTER, RIGHT, ... 5. press UP or SHIFT-TAB or LEFT key. Focus is now on the document, and scrolling keys work as they should. The problem does not show (in patched or unpatched Dillo) when in fullscreen mode. I've searched for the cause of this problem, but have not yet found it.
Clashing with other apps. is almost unavoidable (unless we clone), but we have chosen to rely over an underlying cognitive model for our UI. It has been very succesful, and praised!
Now, as a matter of serendipity :), the bouncing keyboard may have shown us both a better way. If we make Ctrl-L focus the location bar (as Ctrl-U does now) and a second Ctrl-L to clear it, that may be a good choice.
Well, Ctrl-U is generally used for 'clear entry' in GTK1 (not in GTK2 though), so I think it is best to use it for that purpose in Dillo as well. For GTK2, following the toolkit default bindings is the logical thing to do. Even better is to allow users to decide for themselves which bindings they want. GTK2 does not allow this by default, but it can be re-enabled. No matter how well thought out a model is, the user should *always* be able to override the designer's defaults. Even if that user messes up a perfectly thought out cognitive model. That is also why I make just about everything user-selectable using preferences with sane default values. So, one of my next goals will probably be to implement user-selectable accelerators in Dillo... Based on GTK's default mechanisms for doing such a thing.
Of course, a more orthogonal way to do it, is the same functionality, but inside the location popup. But please experiment with the above suggested idea, and tell me your findings.
Generally I find that popup menu's are more a hinder than a help. This is more of a problem with window managers which do not correctly manage them than with the basic concept of popups, but as the state of the art currently stands I try to avoid them as much as possible. I will therefore try to implement the functionality of Dillo's transient popups (find and open url) in the main window, the former probably in the status bar and the latter in the location bar. And, of course, make a preference to allow the user to choose which version to use - popup or main window. As for using CTRL-L for clearing the location bar, I do not think this is a good idea. But, it is not for me to say it is a bad idea either.
PS: If you send me the requested patches, chances of fast commit are very high
Attached two patches, one for hand_cursor, one for right_click on image. Some remarks: The 'image save as' function in the image popup works, but is dependent on the dpi for the actual save function. That dpi (or, rather, wget) does not know how to handle some link types (eg. file: links), so it will fail on those. The hand_cursor patch works fine, but input_images do NOT work as stated in my previous message. Reverse the patch to dw_button.c to get them back to live... Maybe the image popup should be a submenu on other popups? See the frame/frameset popups (in the tab/frame patch) for an example of what I mean. That way, the image can also be accessed in links (and, maybe, in input images, even those currently do not react to RMB-clicks for obvious reason...) Please be aware of the fact that I will have to keep on adding these patches to the tab/frame patch while the document abstraction has not been committed to CVS... So I will have to patch my own patches, not something I want to keep on doing too long... Cheers//Frank -- WWWWW ________________________ ## o o\ / Frank de Lange \ }# \| / +46-734352015 \ \ `--| _/ <Hacker for Hire> \ `---' \ +31-640037120 / \ frank@unternet.org / `------------------------' [ "Omnis enim res, quae dando non deficit, dum habetur et non datur, nondum habetur, quomodo habenda est." ]