Currently, the gtk-engines eclass determines which gtk+ library is installed (slot 1 or 2) then removes the other engine and theme. However, most installations currently have both GTK+ 1.2.x and GTK+ 2.x applications installed, and would be nice if there was an easy way to have it install both, aside from editing the eclass.
Some thoughts on this issue: Technically, the SLOT variable doesn't reflect the gtk+ library installed on your system (it is used for this purpose on the eclass, kind of, but it's not the meaning of SLOT). It's just a convenient way to let Portage install more than one version of a certain package. You can read more about the SLOT variable in the Portage Manual: http://www.gentoo.org/doc/en/portage-manual.xml As you may hint from this, the idea is that, for those packages that include both GTK-1 and GTK-2 engines/themes, there will be only one package in Portage, but with (at least) two different versions. You can have both versions of the same engine installed at the same time. As an example, for the package you mention (gtk-engines-mist), those will be gtk-engines-mist-0.8-r1 and gtk-engines-mist-0.8-r2. So, emerging those two versions will let you have installed the GTK-1 and GTK-2 flavors of the engine. You don't need to edit the eclass, just emerge those two versions. Note that there is a convenient package that provides you with all the available theme engines (for both GTK-1 and GTK-2): gtk-themes. If you want GTK-2 themes/engines, all you need to do is: emerge gtk-themes And if you want GTK-1 themes/engines, this is what you should do: emerge =gtk-themes-1* Granted, this is a bit awkward and it's not really obvious when a package provides more than one SLOT. I think this is more of a Portage thing, and hopefully it will be different in the future. Please let me know if I missed your point and you think this is still a bug.