Skip to content

Conversation

@ksqsf
Copy link
Member

@ksqsf ksqsf commented Nov 2, 2024

Pass UI settings directly from f5m to librime. The approach here is to define some variables in tunnel.cpp, and the dynlib loader will automatically resolve undefined symbols to the definitions in the main program. However, we have to pass some linker flags to silence linker complaints. I don't expect the mechanism to be used in the future, except for hacks like this.

How to test

  1. Build and install the new f5m main program
  2. Build and install the new librime (rime: update selector to respect f5m settings fcitx5-macos-prebuilder#44)
  3. Build and install the new fcitx5-rime (rime: respect f5m UI settings fcitx5-macos-plugins#48)
  4. Launch the new f5m

After this change, the new f5-rime plugin (shipped by f5m) will require the latest main program to function, or it won't be loaded (with an error message similar to 'undefined symbol' in Fcitx5.log).

Please merge prebuilder first and then merge the plugin to make sure the plugin is linked with the patched librime.

@ksqsf ksqsf requested a review from eagleoflqj November 2, 2024 15:23
Copy link
Member

@eagleoflqj eagleoflqj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested 6 combinations with rime. LGTM!

@eagleoflqj eagleoflqj merged commit 6b16d7b into master Nov 3, 2024
4 checks passed
@eagleoflqj eagleoflqj deleted the tunnel branch November 3, 2024 00:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants