Contents
- Focused plugins prevent Conkeror key bindings from working
- Loading many windows at once leaves only the first properly set up
- --help shows non-working options
- Duplicates when completing on both history and bookmarks
- Command-line remoting does not work on OS X
- Gdk-WARNING **: XID collision, trouble ahead
- html input boxes too small
- ui.caretWidth
- Ci.nsIContentPolicy.shouldProcess
- Web elements' colors affected by GTK theme make some text unreadable
The following XULRunner bugs affect Conkeror.
1. Focused plugins prevent Conkeror key bindings from working
When a plugin such a Flash or Java becomes focused, Gecko gives the plugin complete control over the keyboard. You have to use the mouse to unfocus the plugin. For lack of a time machine to go back and throttle the individual who wrote this into the Mozilla platform, there happens to exist the following work-around in Conkeror. Bind a key in your window manager to run the following command:
conkeror -f unfocus
This command remotes the command unfocus to the active conkeror window. A message will appear in the minibuffer on success.
Further information: https://wiki.mozilla.org/Plugins:AdvancedKeyHandling
2. Loading many windows at once leaves only the first properly set up
Conkeror does most of the initialisation for a window (including creating the minibuffer and initial buffer) in a Javascript function (window_initialize) called from an onload attribute in conkeror.xul. However the XULRunner cache screws up and only executes the onload attribute for the first window, so all the rest don't get properly set up.
There are a couple of workarounds, you can create the windows asynchronously using setTimeout with a 0 timeout, or append a unique query string to the chrome URL, the latter of which make_chrome_window now implements for you.
Update: this was apparently fixed recently. (xulrunner 1.9.3 maybe?) to-do: test it and determine when we can safely remove the workaround.
3. --help shows non-working options
-width and -height do not work in any xulrunner application. This is a bug inherited from Mozilla and known since 2000. See https://bugzilla.mozilla.org/show_bug.cgi?id=50201
4. Duplicates when completing on both history and bookmarks
When url_completion_use_bookmarks and url_completion_use_history are both true, there may be duplicates in the completions list. Due to a as-yet-unimplemented flag called QUERY_TYPE_UNIFIED in Mozilla. See bug 378798 and bug 425726.
5. Command-line remoting does not work on OS X
Details at https://bugzilla.mozilla.org/show_bug.cgi?id=380163. This problem is not expected to be fixed in Xulrunner 1.9.1, though a provisional patch is available.
6. Gdk-WARNING **: XID collision, trouble ahead
http://bugs.adobe.com/jira/browse/FP-2253
https://bugzilla.mozilla.org/show_bug.cgi?id=497561
7. html input boxes too small
The specific cause of the problem is hard to guess at, but on some web pages, html input boxes appear smaller than they ought to be, not tall enough to fit the height of the text they contain. Xulrunner is incorrectly applying quirks mode to these elements, causing them to be rendered in an emulation of Internet Explorer's notorious flawed box model. It has been reported that this is related to issue 157. Xulrunner 1.9.0.x has this bug, and to a lesser extent, so does Xulrunner 1.9.1. Here is a work-around that you can put in your rc. This first work-around has the disadvantage that it will result in improper sizing of fields which are *supposed* to be in quirks mode.
register_user_stylesheet(
"data:text/css," +
escape(
"@namespace url(\"http://www.w3.org/1999/xhtml\");\n" +
"input:not([type=\"image\"]), textarea {\n"+
" -moz-box-sizing: content-box !important;\n"+
"}"));Another approach is to explicitly list the websites that exhibit the problem in an @-moz-document form in the css. For details on the syntax of @-moz-document, see @-moz-document MDC. An example of the code for Conkeror is like this:
register_user_stylesheet(
"data:text/css," +
escape(
"@namespace url(\"http://www.w3.org/1999/xhtml\");\n"+
"@-moz-document url-prefix(http://www.naxosmusiclibrary.com/)\n"+
"{\n"+
"input:not([type=\"image\"]), textarea {\n"+
" -moz-box-sizing: content-box !important;\n"+
"}}"));
8. ui.caretWidth
This pref would be so cool if we could use it dynamically, and have a different caret width in caret-mode vs. text-input-mode. However, the pref cannot be set dynamically. It is necessary to restart Mozilla for a new value to take effect.
9. Ci.nsIContentPolicy.shouldProcess
This is documented as a way by which an application or extension could modify content as it was downloaded. This would be tremendously useful to Conkeror because it could be used to cleanly solve focus-stealing problems, and several other things. However, it doesn't work as documented.
10. Web elements' colors affected by GTK theme make some text unreadable
Xulrunner draws some elements (mainly input elements) with partialy fixed coloring. The fixed colors are taken from GTK theme. Result of this missbehavior is that when you have GTK theme 'white on black' the background of the input element will always be black, but the Author CSS can modify its text color to black. That's black on black, unreadable text. Doesn't matter if Author is relying on the default 'black on white' theme or sets the background color explicitly, the xulrunner will ignore the background color. This was even issued in some Firefox releases on Ubuntu. You can fix this with custom coloring.