Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
wants to merge 1 commit into from

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.

@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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants