firefox/open office integration with KDE

Duncan 1i5t5.duncan at cox.net
Fri Jun 11 13:46:27 BST 2010


mafeusek posted on Fri, 11 Jun 2010 09:07:43 +0200 as excerpted:

> Hallo Group Members
> 
> I work with group of people that used windows and now `have to' use KDE.
> They are not computer scientists, just day to day computer users. In
> general they like KDE (modern look and feel), except one part they
> don't, it is firefox/open office integration with KDE.
> 
> I suggested using KDE equivalents: konqueror/koffice, but again both of
> these programs are not popular and thus, for example there are no
> plugins, like google toolbar present.
> 
> My concern is why KDE team spends time on developing separate programs
> (konqueror/koffice) instead using their invaluable capabilities to
> integrate firefox/open office?

You ask an interesting question.  Kevin K is a KDE dev, so he can 
certainly answer from that perspective.  

FWIW, I'm just a (sysadmin-level) user that enjoys customizing his own 
systems, so I know a bit about that, and enjoys the freedom of free/libre 
and open source software (FLOSS), to the extent that I spend some hours 
each day in the community, so perhaps my opinion there can be said to be 
worth something as well.  (OTOH, I make no apologies for considering those 
who write proprietaryware (proprietary software, not free/libre or open 
source) and expect me to simply surrender my rights as an intelligent 
human being to use it, on about the same level as others who have little 
or no respect for human rights.  See the sig.  So my opinion of MS 
shouldn't have to be stated any more explicitly.)

So to take your questions in reverse order, noting that your last question 
is rather philosophical, so to answer properly, requires a somewhat 
detailed philosophical answer:

KDE is part of the FLOSS community.  In this community, many people are 
either volunteers, or started out that way, and while they may now get 
paid to work on the software, they'd work on it even without pay, as it's 
something they enjoyed working on before they were paid to do it, and 
still enjoy, only using the fact that they get paid to enable them to do 
more of it.  As such, the volunteer dynamic in the community is very 
strong, far stronger than in most proprietaryware communities, even if 
some people happen to actually being paid for their work.

Now, there's an interesting quality with volunteers.  They're doing it 
because they like and enjoy it, not because they're paid, and as such, 
there's a definite limit to how much anyone can degree "work on this".  
They'll work on what they want to work on, and if they can't work on it, 
it doesn't necessarily mean they'll go work on the alternative project, 
but rather, often means they just find other stuff to do with their free 
time.

Now, people in the community will naturally have different ideas about the 
best way to implement things.  From my perspective, for example, the GNOME 
project tends to have a "there's only one right way to do it" philosophy, 
and their goal is to find that one true way.  As such, they don't tend to 
have the customization options people like me tend to like, but they're 
perfect for folks who don't care much about that, and want it to "just 
work" out of the box.  KDE OTOH seems to lean the other way, towards the 
"make as much as possible customizable" side of things.  That drives 
people who just want it to work out of the box and those who are scared to 
touch the settings lest they mess something up crazy, but it's ideal for 
folks like me that enjoy that level of customization.  BTW, that's one 
reason I run Gentoo as well -- it takes a bit more time to install and 
update stuff, but to me, it's worth it, as it give me more opportunities 
to configure it to match my precise needs and desires.

So there's these two desktop projects, both implementing a lot of the same 
stuff, but with different general ideas about how things should work and 
what level of customization, among other things, should be exposed to the 
user.  Actually, there's more than that.  See for example XFCE, etc, but 
I'm using the two as examples.

Now, many people see all this duplication of work and think how much 
farther a single project would get were everybody contributing to it, 
instead.  But it doesn't work that way.  As I already explained, many of 
the contributors to both projects (and to all the others as well) are 
volunteers, doing it because they love working on what they're working 
on.  If they were somehow forced to all work together on the same project, 
the result would probably be LESS work getting done, LESS progress, not 
more, for a couple reasons.  First, as mentioned, they'd enjoy the project 
less, and so many would simply find they suddenly had less time to 
contribute -- other things in their life would take higher precedence.  
Second, you'd have all these conflicting ideas about the "proper" way to 
do things fighting all the time.  People who think there's only one 
"right" way for things to be would be unhappy with all the "unnecessary" 
customization, that "only confuses the users", while people who enjoy 
customizing things and recognize that individuals have different 
personalities and that some just aren't going to be happy with the same 
layout as others, are going to be unhappy with all the forced uniformity.  
Time arguing is time not coding.

So it simply works better to let the two (really more) projects stay 
separate, each doing things their own way, each drawing contributions from 
those happy with the way that project is going, as compared to the other
(s).

So that's a bit of the philosophy, let's see how it applies to the apps 
you mentioned.  Here's a bit of the technical foundation:

As you may or may not know, KDE is based on the Qt toolkit.  (A toolkit in 
this context is a set of libraries containing the GUI framework, the set 
of GUI widgets like textboxes, radio buttons, checkboxes, progress bars, 
etc, plus a programmer's framework for using them.)  GNOME is based on the 
gtk+ toolkit (the "t" in "Qt", and "tk" in "gtk", standing for toolkit).  
There's a bit of a history there, which I won't go into, but it can be 
noted that there are other toolkits as well, tk/tcl and fltk being a 
couple of them.  Other apps don't build on any toolkits, but provide their 
own solutions, coded from scratch.

As it happens, firefox is built on the gtk+ toolkit as well, while open 
office was originally developed before the major toolkits matured and and 
thus coded its own solutions.

So what happens is this.  All kde apps use the kde libraries, and 
integrate together.  Qt-but-not-kde apps will naturally integrate as well, 
but to a somewhat lower degree.

Meanwhile, firefox is a gtk app, so will integrate reasonably well with 
gnome, also built on gtk, but less well with kde -- at least without some 
help, we'll get to that.  (FWIW, the XFCE I briefly mentioned is also GTK 
based.)

And then there's open office, which is using its own, entirely independent 
solution.  It doesn't naturally integrate well with either of the above.  
And don't forget the occasional fltk or tcl/tk based app, tho those are 
rare enough they're effectively independent, like open office.

So what that leaves us with is a number of independent classes of apps, 
each of which naturally integrate to some extent with others of their 
class, but don't naturally integrate well if at all with those of other 
classes.  Gnome apps tightly integrate; xfce apps tightly integrate; 
they're both gtk based so loosely integrate with each other and other gtk 
apps such as firefox.  KDE apps tightly integrate, and loosely integrate 
with qt apps, since kde is qt based.  But kde and qt apps don't naturally 
integrate well with gtk, gnome and xfce apps, and then there's independent 
and less common toolkit based apps, that don't integrate well with either 
gnome/gtk/xfce or kde/qt.  firefox is gtk and open office is independent, 
so neither one /naturally/ integrate well with kde.

But there's hope! =:^)

Despite the above, there's some cooperation between the gnome/gtk and kde/
qt sides, and a number of solutions that help with integration to one 
degree or another.

At the base level, there's the freedesktop.org commonly accepted 
specifications, that both gnome/gtk and kde/qt as well as other 
alternatives follow, to some degree or another.  It is due to the 
freedesktop.org common desktop specifications, for instance, that gtk and 
independent apps often appear in the kde applications menu, and 
conversely, that certain kde apps appear in the gnome applications menu.  
A decade ago, when I started in Linux (well, 9 years ago, for me), that 
wasn't the case.  Each desktop environment did its own thing, 
independently, and it was only due to the efforts of the distribution, if 
you had chosen one that handled it, that items from outside a particular 
desktop environment appeared in its menu.  Similarly, there's a common 
systray spec, so apps that place an icon in the system tray will normally 
do so on both kde and gnome, making things that much easier for the user.  
Again, that didn't used to be the case at all.  And the dbus interprocess 
communication framework is another common specification, used by both kde 
and gnome, as well as many independent apps.

At a higher level, there are actually two choices, the built-in options, 
and themes specifically designed to coordinate kde/qt and gnome/gtk, at 
least.

Built into KDE, in the color settings, there's an option to apply colors 
to non-KDE4 apps.  If that setting is applied, it'll change the colors of 
/some/ apps to match the kde4 colorscheme, tho the match may not be 
perfect.  This applies to gtk+ apps, so it /can/ apply to firefox.  
However, firefox 3.6 has its own skinning and color theming options, and 
if they are applied instead of just using the defaults, it's going to 
override the color settings that kde would normally apply.

Then in firefox, there's an option as to which filepicker dialog to use, 
the native one (which means the gtk+ one since on Linux it's gtk+ based), 
or its own xul based filepicker.  Note that firefox is a gtk+ based app, 
and tends to keep to the gtk/gnome idea of not confusing the user with too 
many customization options, so in ordered to actually change this option, 
you'll need to either use an addon (such as configuration mania, where 
it's in the GUI, Other, section), or go to about:config, find the option 
and change it there manually.  But anyway, if it's set to native, it'll 
use the gtk one, since that's what it's based on, on Linux, so at least 
then it'd integrate with other gtk+ apps, if not use the kde filepicker, 
or if it's set to xul, it uses that one regardless, and doesn't look like 
anything else.  But, the kde color settings do seem to apply to the 
filepicker dialog either way, at least here, with the kde color option 
mentioned above checked.

I don't use open office here (and have kword, not all of koffice, 
installed but only use it very rarely), so I won't attempt to go there, 
except to remark again that open office does use its own independent 
widget set, so it likely won't integrate so well.  But I don't know, if 
it's color themeable, perhaps that same kde color option applies to it as 
well.

The other choice would be to use a theme specifically designed to make kde 
and gnome apps look and work as much alike as possible.  There's a couple 
of these themes, the more famous one being curve.  If you set kde's theme 
to curve, and set gtk's/gnome's theme to curve as well, you should get 
rather matched settings.  I've actually not done this personally, so can't 
say to what degree they match, but from what I've read, it's a deeper 
matching than the simple color matching and file picker choice I mentioned.

Of course, the availability of the curve theme will depend on your 
distribution, and all of the above pretty much depends on how locked down 
your corporate policy is, as well, and who has control of it, you, the 
individual users, or someone above you.

One more thing.  I realize I was a bit vague on where the settings are, 
above.  If you can't find the color setting I mentioned, for instance, 
just ask.  Oh, and it helps too, if you mention what specific distribution 
and release you're using, plus the kde version.  And of course the firefox 
version if you're asking about it.  FWIW, I'm running firefox 3.6.x here, 
kde 4.4.4, gentoo ~arch, with the gentoo/kde overlay.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman

___________________________________________________
This message is from the kde mailing list.
Account management:  https://mail.kde.org/mailman/listinfo/kde.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.




More information about the kde mailing list