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