From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?5a6L5paH5q2m?= Subject: Re: IBus and different GTK versions Date: Mon, 14 Sep 2015 17:18:31 +0800 Message-ID: References: <87a8sqa7at.fsf@elephly.net> <87mvwq35c4.fsf@gmail.com> <87k2rt8kvp.fsf@elephly.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46279) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZbPuE-0004Es-0W for guix-devel@gnu.org; Mon, 14 Sep 2015 05:18:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZbPuC-0002Ss-QX for guix-devel@gnu.org; Mon, 14 Sep 2015 05:18:33 -0400 Received: from mail-lb0-x230.google.com ([2a00:1450:4010:c04::230]:33428) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZbPuC-0002Sl-Iz for guix-devel@gnu.org; Mon, 14 Sep 2015 05:18:32 -0400 Received: by lbcjc2 with SMTP id jc2so63896726lbc.0 for ; Mon, 14 Sep 2015 02:18:31 -0700 (PDT) In-Reply-To: <87k2rt8kvp.fsf@elephly.net> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ricardo Wurmus Cc: guix-devel 2015-09-14 16:28 GMT+08:00, Ricardo Wurmus : > > =E5=AE=8B=E6=96=87=E6=AD=A6 writes: > >> Ricardo Wurmus writes: >> >>> [...] >>> >>> It seems that GTK3 only looks for >>> =E2=80=98$libdir/gtk-3.0/3.0.0/immodules.cache=E2=80=99 and GTK2 only l= ooks for >>> =E2=80=98$libdir/gtk-2.0/2.10.0/immodules.cache=E2=80=99 by default, wh= ere =E2=80=98$libdir=E2=80=99 is >>> =E2=80=98$out/lib=E2=80=99 of the GTK package. (According to >>> https://developer.gnome.org/gtk3/stable/gtk-running.html) >>> >>> To make IBus work we need to find a way to make the different major >>> versions of GTK respect different =E2=80=98immodules.cache=E2=80=99 fil= es that are *not* >>> located in their =E2=80=98$libdir=E2=80=99. In that case we could gene= rate a fresh >>> =E2=80=98immodules.cache=E2=80=99 file for each major GTK version when = building a >>> profile. Unfortunately, I haven=E2=80=99t been able to find any docume= nted >>> means to achieve this. It might require patching the GTKs to check an >>> additional path or environment variable. >>> >> We can set 'GTK_EXE_PREFIX' to the '~/.guix-profile', and generate the >> 'immodules.cache' files in a profile hook. It will work for both gtk2 >> and gtk3 applications. > > Does this mean that GTK needs to be installed in the user=E2=80=99s profi= le for > this to work? I thought =E2=80=98GTK_EXE_PREFIX=E2=80=99 would change th= e path of > =E2=80=98$libdir=E2=80=99 for *all* of GTK=E2=80=99s libraries. It can o= nly have one value, not > a list of paths to look for libraries. Yes, this require install GTK+ into user's profile. Also, there is a 'GTK_DATA_PREFIX' in a same situation, which I think is the only way to set the GTK+ 2 theme.