introduction to gcin & its internal

Download Introduction to gcin & its internal

If you can't read please download the document

Upload: gueste04ab0

Post on 27-Jan-2017

656 views

Category:

Documents


1 download

TRANSCRIPT

Algorithm Design for Multi-row Transistor Placement

Introduction to
gcin & its internal

Written by Edward Liu

Presented by Candyz

gcin

Transmission Protocol

gcin

1.1.4

(CapsLock) cursor shift-Enter

Features

Shift

asdf

/()

Features of gtab()

:

Ctrl-Alt-3 gcin Windows

:

` (backquote ) gtab

Features of gtab

.cin gcin Linux linux

Super slim

- gcin server executable88k ( without XIM)- gcin scim memory size

GTK library gcin memory GTK

Architecture

gcin dispatchgcinXIM.gtab()libgcin-im-client.sogtk-im(im-gcin.so)qt-im(libqgcin.so)GTKQTUnix socketTCP

Patched mrxvt and crxvt

TCP: for clients over network

Local clients

libgcin-im-client.so

GCIN_client_handle *gcin_im_client_open(Display *disp);void gcin_im_client_close(GCIN_client_handle *handle);void gcin_im_client_focus_in(GCIN_client_handle *handle);void gcin_im_client_focus_out(GCIN_client_handle *handle);void gcin_im_client_set_window(GCIN_client_handle *handle, Window win);void gcin_im_client_set_cursor_location(GCIN_client_handle *handle, int x, int y);int gcin_im_client_forward_key_press(GCIN_client_handle *handle, KeySym key, u_int state, char **rstr);int gcin_im_client_forward_key_release(GCIN_client_handle *handle, KeySym key, u_int state, char **rstr);

libgcin-im-client.so function call

Advantage over XIM

gcin server gcin server

UTF-8 XIM zh_TW.Big5 UTF-8

KeyRelease event Shift event

terminal 'pkill gcin' terminal

gcin's Transmission Protocol

Text is in UTF-8 encoding

The network byte order is little endian.

Data are encrypted.

Allow multiple gcin servers on single/multiple displays on a single host. Xnest gnome open KDE desktop(PS gcin mouse window )

Encryption of gcin

gcin client fetches a 31-byte random key and a random seed from gcin server with XGetWindowProperty(protected by ssh)

client & server use the same random number generator/seed to choose a byte from the 31-byte key and xor this with the input/output data to encrypt/decrypt data.

Why not SSL library

remote displaySSL(secure socket layer) dependency memory

gcin protocol + ssh X11 forwarding

Debugging & Testing gcin

In source dir gcinx.x.x, some shell scripts

gcinx.x.x/tenv: script to test your own gcin, use gcinx.x.x/data as table dir, instead of ~/.gcin.

gcinx.x.x/tval.gdb: Run gcin with valgrind, execute gdb if any errors occur. 'valgrind' is a good memory check & profiling tool.

Debugging & Testing gcin

gcinx.x.x/gtk-im/tgedit: Test new gtk-im without installing it. Use LD_PRELOAD to do this.

To Do

gtab() buffer buffer buffer

On-the-spot

AP clients

keys IM server translate keys gaim Enter OpenOffice Shift gnome-terminal ctrl-alt

Firefox 1.5 patch over-spot firefox cursor positiongtk-im module firefox report position

Click to edit the title text format

Server RSSExtra memory(RSS) on the client side

Gcin8M0

Scim31M+1.5M(relative to gcin)

???Page ??? (???)2005/12/30, 14:02:41Page /