Friday, December 31, 2021

Re: wip/help wanted: fcitx5{,-gtk}

Yifei Zhan <openbsd@zhan.science> writes:

> Thanks Stefan and Omar for looking into this! Now these ports are in
> a much better shape :)
>
> On 21/12/30 08:27PM, Omar Polo wrote:
>> but why disable uthash? it builds fine with that enabled, it just needs
>> CFLAGS += -I${LOCALBASE}/include, so I'm adding it to BUILD_DEPENDS.
>
> I missed that because I didn't know uthash is already included. Thanks
> for the heads-up!
>
>> regarding fcitx5 itself, why disable enchant? I've added
>> textproc/enchant2 as LDEP and it builds fine.
>
> I was in the build-hack-rebuild loop so I disabled it to increase my
> compile speed. I tested fcitx with enchant enabled and it works fine, so
> let's leave it enabled.

np :)

>> These entries from the PLIST are suspicious:
>>
>> etc/
>> etc/xdg/
>> etc/xdg/autostart/
>> etc/xdg/autostart/org.fcitx.Fcitx5.desktop
>>
>> They should end up in ${PREFIX}/share/examples/xdg/... and then
>> @sample'd as happens for other ports. cmake/kf5/qt is not really my
>> area, but throwing a -DCMAKE_INSTALL_SYSCONFDIR in CONFIGURE_ARGS fixed
>> the plist, not really sure why it's not happening by default... A grep
>> confirms that there are some other instances of that in the port tree
>> already (devel/ccache, net/icinga, net/mosquitto, ...) so maybe it's not
>> completely wrong.
>
> I'm not totally sure about this as well, but your tweaks look good to
> me.
>
>> I can't understand how it's supposed to be used, I ran fcitx5 and it
>> switched from my custom dvorak to the us layout, fcitx5-configtool says
>> that I'm "currently running Fcitx with GUI, but fcitx5-config-qt
>> couldn't be found" and then opens up Emacs on the ~/.config/fcitx5/conf
>> directory. I guess I should edit that file to customize it?
>> Unfortunately there's no documentation in the package, I'll dig in
>> HOMEPAGE later
>
>
> You can edit that file to enable and setup IME plugins you want, but
> it's more common to use fcitx5-config-qt for that. A typical workflow
> would look like this:
>
> 1. install fcitx5 fcitx5-gtk fcitx5-qt fcitx5-config-qt fcitx5-$IME_Plugin
> which $IME_Plugin to use depends on which language you want to type.
> (e.g. fcitx5-anthy for Japanese)

i suppose all of these fcitx5-* packages are yet to be submitted ^^"

> 2. setup session environment variables in ~/.xsession, and start fcitx
> when logging in
>
> export XMODIFIERS=@im=fcitx
> export GTK_IM_MODULE=fcitx
> export QT_IM_MODULE=fcitx
> /usr/local/bin/fcitx5

Oh, I should have guessed that, it's similar to fcitx4. Maybe we can
adopt the same wording as in fcitx' DESCR?

...
Usage requires setting the following in the environment:
export XMODIFIERS="@im=fcitx"

(and similar for the gtk and qt module)

> 3. re-login, then enable and maybe tweak your IME plugin in
> fcitx5-config-qt, after which fcitx will be functional.
>
> here attached is a further tweaked version based on Omar's:
>
> - revised license markers
> - set conflict marker against fcitx-* (fcitx4)

Since fcitx5 is meant to be the successor for fcitx4 which is no longer
developed, it may make sense to replace fcitx4 with 5 instead of keeping
both in the port tree? I'm not using either, so I'm probably missing
something here.

> also attached, is a WIP port of fcitx5-gtk, it handles input within GTK3
> based applications, it works fine and lib deps check is happy. However
> I'm not sure the state of GTK on OpenBSD and how this should be imported.

forgot to attach the tarball? ;)

> Should supports for GTK2/GTK4 also be packaged? or they are obsolete/not
> ready yet? If they are to be packaged, should subpackages be used?
>
> [2. application/x-gzip; fcitx5.tweaked.tar.gz]...
>
> [3. application/x-gzip; xcb-imdkit.tweaked.tar.gz]...

Cheers,

Omar Polo

No comments:

Post a Comment