Red Hat Bugzilla – Bug 165655
scim should notice IMEngines being installed/updated/removed
Last modified: 2007-11-30 17:11:11 EST
Description of problem:
When a new engine installed and if the SCIM is already running, the engine list
will not show the newly installed engines. Currently it requires user to kill
SCIM manually or restart X
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. rpm -e scim-chewing
2. run SCIM
3. rpm -Uvh scim-chewing*
4. Look at the engine list
Chewing is not in the list
Chewing should be in the list
In scim-1.4.2-2 I'm adding a "scim-restart" script which restarts
the main scim-launcher process. So if one runs it before step 4 and
starts a new application the IME menu should be up to date in the new
Ideally scim could respond to a certain signal and restart itself. Then scim
packages in %post could killall -SOMESIGNALNAME and all running scim's on that
box would react. It would need to be a little smart, maybe not restarting scim
immediately as it may be in use. We can find the 'safe' event oppportunities
like maybe the language bar is dismissed, the user chooses "Reload", and
possibly other chances.
Or maybe this signal idea is just plain crack. We need more opinions.
Created attachment 122439 [details]
patch for reload engines
I wrote a patch to let CommBackEnd class use newly written reload method to
rescan all the engines, and reload engines again. User can activate it through
"Reload Configuration" button in panel.
I have send this patch to the upsteam. James Su said he had a better way to
handle this issue. But I have not got any reply from hi by now.
I had a talk with James Su. He said it would unload IMEs unclearly if uses this
reload patch, and would cause some other bugs. He said he has no good solution
for this bug.
The above patch was removed in 1.4.4-2 because it induces bug 179807.
scim-restart works fairly well for me fwiw.
The reload-engines patch needs to be made smarter so it only *signals* the user
daemon, and the user daemon decides when it is safe to restart itself. A bit
more work yes, but this is the only way.
Upstream is planning to address this issue for scim 2.0. Closing for now.
*** Bug 186843 has been marked as a duplicate of this bug. ***