HumanQtTheme

Differences between revisions 10 and 11
Revision 10 as of 2007-04-13 00:51:30
Size: 5461
Editor: 206-124-31-140
Comment: Changed "Feisty(+1)" to "Gutsy" now that we know what it will be called.
Revision 11 as of 2008-07-10 05:59:05
Size: 5481
Editor: client-86-24-144-11
Comment: Wiki clean. Added to CategorySpec.
Deletions are marked like this. Additions are marked like this.
Line 37: Line 37:
----
CategorySpec

Summary

This specification defines a visually-equivalent (or as nearly so as possible) Human theme for Qt/KDE apps when running in Ubuntu (i.e. not Kubuntu). It also defines appropriate magic to only affect Qt/KDE apps running in GNOME, so as not to interfere with Kubuntu's theme decisions. The goal being that, out of the box, any Qt/KDE app launched in Gutsy (while running GNOME) will look exactly like a GTK/GNOME app. Think Bluecurve for Ubuntu.

What this spec is not:

  • This spec is not GTK/Qt theme integration. Freedesktop.org is working on that, and it's a much more ambitious (but sorely needed) project than this. This is simply a spec to default to a visually equivalent theme for Qt/KDE apps when running them in GNOME (or XFCE, if the Xubuntu folks are interested).
  • This spec is not a proposal to change Kubuntu's default theme or any other aspect of Kubuntu. The only interaction with the Kubuntu folks needed will be in figuring out any necessary packaging / filesystem magic to make sure their theme choices override this when someone launches KDE.
  • This spec is not an attempt to make GTK/GNOME apps take on a Kubuntu-like theme by default when running KDE (i.e. the reverse of this spec). That is at least as complex as this project, and there's probably very little the two projects could share, code-wise. I don't use Kubuntu/KDE, but if someone in the Kubuntu camp wanted to implement such a creature, I'd certainly welcome it and help out wherever I could.

Rationale

  • Emily uses Skype to phone friends over her broadband connection. But when she installs the (closed source, Qt-based) Skype client on her Ubuntu laptop, it looks very boxy and pixelated (aliased fonts), not curvy and polished like most of the other programs she runs on her Ubuntu system. Then she notices that her friend Bobby is running the same program on his Fedora laptop, and it looks pretty nice. At least it looks like every other app on his system. She wonders why it's broken on her Ubuntu computer.
  • Sarah is a Kubuntu user who writes software in Qt. She would like to encourage Ubuntu and Xubuntu users to try out her programs too, but she first has to direct them to [http://ubuntuforums.org/showthread.php?t=56630&highlight=Qt+theme a lengthy and complicated HOWTO on making their Qt apps look more GNOME-ish] (or at least not butt ugly). She thinks her apps should look like first-class citizens on Ubuntu / Xubuntu out of the box.

Dependencies

  • A Human look-a-like Qt theme. Candidates:
  • A Qt icon theme that matches the default GTK icon theme in Ubuntu. Apparently this is much easier in Qt 4 vs. Qt 3, but I think we need to support both.
  • Some package system or filesystem magic to make sure this only applies when people are running Qt/KDE apps in GNOME.
    • The ideal would be to have the system automatically setup the GNOME/Human-equivalent theme for Qt/KDE apps when someone logs in to GNOME, but have the KDE packages in Kubuntu be aware of that so they can tear it down and put back their theme (or whatever the user changed it to while running KDE) when/if the user logs in to KDE.
    • Perhaps a good starting point compromise for the initial implementation would be to just have a dependency on the Qt library packages for a "qt-theme" package This dependency would be provided by both a package containing this Human-lookalike theme and the by the default Kubuntu packages. But the default, if neither is installed, would be for the Human-lookalike theme package to be installed. That way, the first time a Qt-based app is installed in Ubuntu, the Human theme will be used.
      • The qt-theme-human package would conflict with the appropriate package from Kubuntu, so that if someone also installed kubuntu-desktop on their system, it would remove the qt-human theme and revert to the Kubuntu default. This is less desirable, but easier to implement for the first go-round, where our attention really should be focused on the aesthetics.
      • Now that I think about it a little more, we would probably want to install this theme by default as a part of ubuntu-desktop (rather than just making it satisfy a dependency of the shared Qt libraries). Because binary-distributed programs will often come w/ Qt statically linked and thus won't pull down our Qt shared library packages as dependencies.


CategorySpec

HumanQtTheme (last edited 2008-08-06 16:30:48 by localhost)