Friday, December 31, 2021

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

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.

> 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)

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

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)

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.

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?

No comments:

Post a Comment