[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: IBus and different GTK versions
From: |
宋文武 |
Subject: |
Re: IBus and different GTK versions |
Date: |
Mon, 14 Sep 2015 17:18:31 +0800 |
2015-09-14 16:28 GMT+08:00, Ricardo Wurmus <address@hidden>:
>
> 宋文武 <address@hidden> writes:
>
>> Ricardo Wurmus <address@hidden> writes:
>>
>>> [...]
>>>
>>> It seems that GTK3 only looks for
>>> ‘$libdir/gtk-3.0/3.0.0/immodules.cache’ and GTK2 only looks for
>>> ‘$libdir/gtk-2.0/2.10.0/immodules.cache’ by default, where ‘$libdir’ is
>>> ‘$out/lib’ 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 ‘immodules.cache’ files that are *not*
>>> located in their ‘$libdir’. In that case we could generate a fresh
>>> ‘immodules.cache’ file for each major GTK version when building a
>>> profile. Unfortunately, I haven’t been able to find any documented
>>> 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’s profile for
> this to work? I thought ‘GTK_EXE_PREFIX’ would change the path of
> ‘$libdir’ for *all* of GTK’s libraries. It can only 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.