Skip to content

changing fcitx to be implemented as a wrapper in order to use plugins#4713

Closed
cdepillabout wants to merge 1 commit intoNixOS:masterfrom
cdepillabout:fcitx-with-plugins
Closed

changing fcitx to be implemented as a wrapper in order to use plugins#4713
cdepillabout wants to merge 1 commit intoNixOS:masterfrom
cdepillabout:fcitx-with-plugins

Conversation

@cdepillabout
Copy link
Member

The plugin system in fctix is not very nice to work with. Plugins are distributed as separate packages, but they must be installed into the same directory path as fcitx itself. fcitx doesn't have any sort of
option to look in a different directory path for it's plugins.

For instance, if you install plugins separately like below, there is no way to tell fcitx where to look for them:

/nix/store/xxxxxxxx-plugin1/lib/fcitx/plugin1.so

/nix/store/xxxxxxxx-plugin2/lib/fcitx/plugin2.so

The only solution is to install the plugins with fcitx itself. This commit creates a wrapper fcitx package that makes it possible to enable or disable plugins. A user can enable plugins for fcitx much like
enabling plugins for firefox or chrome.

There are also two default fcitx packages available, one with no plugins and one will all plugins enabled. This should provide binary packages for users that don't want to compile fcitx (but still may want to use
plugins).

Currently the only plugin available is the anthy plugin.

This fixes the issue at #4550. The issue was raised upstream at fcitx/fcitx#179, but the author doesn't seem to have any desire to fix this problem.

The plugin system in fctix is not very nice to work with.  Plugins are
distributed as separate packages, but they must be installed into the
same directory path as fcitx itself.  fcitx doesn't have any sort of
option to look in a different directory path for it's plugins.

For instance, if you install plugins separately like below, there is no
way to tell fcitx where to look for them.

/nix/store/xxxxxxxx-plugin1/lib/fcitx/plugin1.so

/nix/store/xxxxxxxx-plugin2/lib/fcitx/plugin2.so

The only solution is to install the plugins with fcitx itself.  This
commit creates a wrapper fcitx package that makes it possible to enable
or disable plugins.  A user can enable plugins for fcitx much like
enabling plugins for firefox or chrome.

There are also two default fcitx packages available, one with no plugins
and one will all plugins enabled.  This should provide binary packages
for users that don't want to compile fcitx (but still may want to use
plugins).

Currently the only plugin available is the anthy plugin.
@cdepillabout
Copy link
Member Author

The travis CI build appears to be failing because it exceeds 50 minutes.

@Fuuzetsu Fuuzetsu added the 0.kind: enhancement Add something new or improve an existing system. label Oct 29, 2014
@cdepillabout
Copy link
Member Author

On the nix mailing list, Damien gave an example of how to do this in a cleaner way, so I will try to implement it that way instead.

http://lists.science.uu.nl/pipermail/nix-dev/2014-October/014801.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

0.kind: enhancement Add something new or improve an existing system.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants