Correction. It can use Qt4 (and will if you are running under KDE) but it can also run on a system without Qt (or Gtk for that matter).thenktor wrote:Opera is no open source at all. But still it's a nice browser (and it even uses Qt4 )jayseye wrote:Is there a fully open source version of Opera?
Other talk about Salix
- Posts: 233
- Joined: 24. Jul 2011, 17:22
- Location: Brownsmead, Oregon (Center of the Universe)
Interesting ruario: must you download a separate version compiled for each different platform? Seems that it would be complex for a unified version to sense the run-time environment, and use the appropriate interface. AFAIK, GTK+ and Qt are complete app frameworks, rather than just UI libraries.
Opera checks if it is running under KDE as it starts up. If it is it loads /usr/lib/opera/liboperakde4.so. If KDE isn't running but Gtk libs are present it loads either /usr/lib/opera/liboperagtk2.so or /usr/lib/opera/liboperagtk3.so. These libs are used to make Opera look "native". If no KDE and no Gtk libs Opera will still start and use only its own builtin toolkit for skinning. AFAIK we are the only major browser to do this.
True but Opera only uses parts of them. The most obvious being for skinning but other things change as well, e.g. Opera will use KDE file open/close, print, etc dialogs under KDE and Gtk ones under Gnome/Unity/Xfce/LXDE or its own dialogs when these are not present. It is all pretty clever really.jayseye wrote:AFAIK, GTK+ and Qt are complete app frameworks, rather than just UI libraries.
No, it is not based on Athena. The toolkit was developed in house and is actually a cross platform toolkit used on all the Opera desktop browsers (including Mac and Windows). The toolkit is called Quick (though it has nothing to do with "Qt Quick", that is just a coincidence in naming choice).jayseye wrote:Very impressive, thanks for the detailed replies. Any info available about "its own builtin toolkit?" Is that based on X11's old, native Athena toolkit?
Basically Opera optionally loads Gtk or Qt and paints widget elements with them. Though that does not make it a true Gtk or Qt application, since it still has to live within the rules of Quick. On other platforms, Opera uses their native toolkits to paint Quick's widget elements (e.g. Cocoa on Mac).
Last edited by ruario on 7. Dec 2012, 13:22, edited 1 time in total.