[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Text Input Management System
From: |
Kazunobu Kuriyama |
Subject: |
Text Input Management System |
Date: |
Mon, 28 Jul 2003 18:54:04 +0900 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; ja-JP; rv:1.4) Gecko/20030624 Netscape/7.1 |
WARNING: This is under development and thus for experimental use only.
Before trying it, please read the following intensively.
This is an effort to fully implement the Cocoa text input management
system (TIMS)
in GNUstep:
http://developer.apple.com/documentation/Cocoa/Conceptual/InputManager/index.html
The implementation I put forward is far from practical use. Nonetheless,
I'd like to put
forward it to you to hear your opinions before going ahead. Rather, I
absolutely
need your opinions to make up my mind to go ahead or do away with such
an effort, because,
once GNUstep decides to adopt the Cocoa text input management system,
the current
implementations of text editable objects plus NSResponder probably need
to be modified
a little bit so that they can interact with a running input server.
Without a consensus
of the community and supports from the development team, my project is
likely to be
in vain.
To try the new TIMS, you need to reinstall -gui and install the input
server program
GSInputServer. After applying the patch gui.patch to the whole -gui
source tree,
do a usual build and installation procedure. The input server program
can be installed
in a usual way; it will be installed in GNUSTEP_USER_ROOT/Applications.
Then, say,
$ openapp GSInputServer
$ openapp Ink
to see how it works.
Before playing with it, make sure you can recover the genuine -gui at
any time.
I can't guarantee the patched -gui always works fine. Again, that is
for experimental
use only. In fact, the current implementation doesn't understanding
even simple key
bindings such as Control-h (This is one of the TODOs).
The following are TODOs I recognize. If someone could suggest me how to
fix them,
I'd greatly appreciate it.
(1) According to the Cocoa document, an input server program should be
put under
Library/InputManagers, not under Applications. I don't know how to
do this
with -make. (If I do this with hand-crafted Makefile, is it possible
to invoke
an input server program with openapp?)
(2) Keyboard's autorepeating causes a segmentation fault. I guess this
is due to
my naive server-client programming because separate keystrokes look
safe.
(3) Elaborate the implementation of NSInputServer so that it can deal
with multiple
clients in a safer way.
By the way, when I invoked Ink, I got a lot of messages like 'Ink[PID]
autorelease is
called without pool for object (address) of class NS* in thread
<NSThread: address)'
It conceivably relates to the IPC between the client and the input
server. On the other
hand, not all applications show this phenomena. Does anyone know how to
fix this?
Thank you.
gui.patch.gz
Description: application/gzip
GSInputServer.tar.gz
Description: application/gzip
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Text Input Management System,
Kazunobu Kuriyama <=