After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 655979 - Auto-load OSK GTK+ modules when OSK is enabled
Auto-load OSK GTK+ modules when OSK is enabled
Status: RESOLVED FIXED
Product: caribou
Classification: Applications
Component: default
git master
Other All
: Normal normal
: ---
Assigned To: caribou-maint
caribou-maint
Depends on:
Blocks: 612662
 
 
Reported: 2011-08-04 14:46 UTC by Bastien Nocera
Modified: 2011-09-19 11:33 UTC
See Also:
GNOME target: 3.2
GNOME version: ---


Attachments
Auto-load OSK GTK+ modules when OSK is enabled (1.62 KB, patch)
2011-08-04 14:46 UTC, Bastien Nocera
none Details | Review
Auto-load OSK GTK+ modules when OSK is enabled (1.69 KB, patch)
2011-09-16 15:05 UTC, Dan Winship
committed Details | Review
module: fix module loading/unloading (2.72 KB, patch)
2011-09-16 15:07 UTC, Dan Winship
committed Details | Review

Description Bastien Nocera 2011-08-04 14:46:20 UTC
.
Comment 1 Bastien Nocera 2011-08-04 14:46:22 UTC
Created attachment 193260 [details] [review]
Auto-load OSK GTK+ modules when OSK is enabled
Comment 2 Eitan Isaacson 2011-08-04 17:15:43 UTC
We don't have a GTK+ module yet, is this for the IM modules? For a future GTK+ module?
Comment 3 Bastien Nocera 2011-08-04 17:41:07 UTC
This is for Nohemi and Dan's OSK work.

Note that this would need more work as tweaking the gsettings key right now would start both Caribou and load up the GTK+ module under gnome-shell.

In any case, something like this will be needed soon, so best handle it all in one location.
Comment 4 Dan Winship 2011-09-16 15:05:07 UTC
Created attachment 196736 [details] [review]
Auto-load OSK GTK+ modules when OSK is enabled

fix module name
Comment 5 Dan Winship 2011-09-16 15:07:37 UTC
Created attachment 196738 [details] [review]
module: fix module loading/unloading

Force the module to stay resident after being loaded (otherwise it
will crash if it's loaded, unloaded, and loaded again, because it will
fail to register its types the second time).

Also fix a few bugs in the unload() function, even though it is no
longer used at this point. To be fixed for 3.4.

----

Originally I wrote a patch to make this track the gsettings key, so it
could disable itself when the keyboard was disabled even though it
wasn't getting unloaded. But that had no effect, since atk-bridge
wasn't getting unloaded either, so we were still getting events from
that. So... we can fix this in 3.4.

(Also, it only matters for fallback mode, since gnome-shell won't show
the keyboard if the setting is disabled anyway.)
Comment 6 Eitan Isaacson 2011-09-16 16:02:50 UTC
I am a bit confused, how will caribou be used in GNOME Shell? Through the caribou daemon (that taps in to AT-SPI), or this module?
Comment 7 Dan Winship 2011-09-16 17:49:44 UTC
With this patch, when you enable the keyboard in the control panel or the shell a11y menu, then caribou-gtk-module and atk-bridge will both be loaded into all gtk apps, and the caribou daemon will be started. If the shell is running, then it will provide its keyboard, and if the user is in fallback mode, then caribou will cause antler to be started. Either way, the keyboard will be receiving notifications from both caribou-gtk-module and the caribou daemon.

It's possible that we don't really need caribou-gtk-module at this point I guess... (my earlier problems with running with a11y enabled turned out to be because of some bad old preferences causing a mix of corba and dbus a11y stuff to be run). I haven't tested that though...
Comment 8 Eitan Isaacson 2011-09-17 17:59:56 UTC
Are both patches non-obsolete? In any case, I trust you. Please commit.
Comment 9 Dan Winship 2011-09-19 11:33:21 UTC
Attachment 196736 [details] pushed as 524b704 - Auto-load OSK GTK+ modules when OSK is enabled
Attachment 196738 [details] pushed as 14ce9ba - module: fix module loading/unloading