Listing available XIM (X Input Method) services

आशीष शुक्ल ा "\"Wah Java !!\"" <[email protected]> Tue, 14 Mar 2006 16:50:32 +0530
Newsgroups gmane.user-groups.linux.delhi.devel
Message-ID <1142335232.7772.2.camel__43588.4842220277$1142335358$gmane$org@megahardlabs>
SGksIAoKSSd2ZSB3cml0dGVuIGZvbGxvd2luZyBwcm9ncmFtIGluIEMgKHVzaW5nIFhsaWIpIHRv
IGxpc3QgWElNcyBhdmFpbGFibGUuCkkndmUgcmVhZCB0aGUgWElNIHNwZWNpZmljYXRpb24gKHRo
YXQgc2hpcHMgd2l0aCB4b3JnLXgxMS1kb2MgcGFja2FnZSwKQlRXIEknbSBvbiBGZWRvcmEgQ29y
ZSA0IEFNRDY0KS4gCgovKiBsaXN0X2ltLmMgLS0gYmVnaW5zIGhlcmUgKi8gCi8qIFRoaXMgcHJv
Z3JhbSByZXRyaWV2ZXMgbGlzdCBvZiBpbnB1dCBtZXRob2Qgc2VydmljZXMgZXhwb3NlZCBieSB0
aGUKWCAKICogc2VydmVyLCB3aXRoIHRoZWlyIHRyYW5zcG9ydCBkZXRhaWxzIGFuZCBsb2NhbGUg
ZGV0YWlscyAKICovIAoKI2luY2x1ZGUgPFgxMS9YbGliLmg+IAojaW5jbHVkZSA8WDExL1hhdG9t
Lmg+IAoKI2luY2x1ZGUgPHN0ZGlvLmg+IAojaW5jbHVkZSA8c3RkbGliLmg+IAoKI2RlZmluZSBY
SU1fU0VSVkVSUyAiWElNX1NFUlZFUlMiIAojZGVmaW5lIFRSQU5TUE9SVCAgICJUUkFOU1BPUlQi
IAojZGVmaW5lIExPQ0FMRVMgICAgICAgIkxPQ0FMRVMiIAoKI2RlZmluZSBTVFJfQUNUSVZFICAg
ImFjdGl2ZSIgCiNkZWZpbmUgU1RSX0lOQUNUSVZFICJpbmFjdGl2ZSIgCgojZGVmaW5lIFNJWkUg
MjU2IAoKc3RhdGljIEF0b20gRmV0Y2hBdG9tKERpc3BsYXkqLCBjb25zdCBjaGFyKikgCiNpZiBf
X0dOVUNfXyAKLyogQlRXLCBob3cgdG8gY2hlY2sgZm9yIHg4NiBhcmNoaXRlY3R1cmUgPyAqLyAK
ICAgICAgICBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgCiNlbmRpZiAKICAgIDsgCnN0YXRp
YyBCb29sIFJlc3BvbnNlSGFuZGxlcihEaXNwbGF5KiwgWEV2ZW50KiwgWFBvaW50ZXIpOyAKc3Rh
dGljIFdpbmRvdyB3X3Byb2cgPSBOb25lOyAKCmludCBtYWluKCkgCnsgCiAgICBEaXNwbGF5KiBk
aXNwbGF5ID0gTlVMTDsgCiAgICBXaW5kb3cgd19yb290LCB3X2ltOyAKICAgIEF0b20geGFfWElN
X1NFUlZFUlM7IAogICAgQXRvbSB4YV9UUkFOU1BPUlQ7IAogICAgQXRvbSB4YV9MT0NBTEVTOyAK
ICAgIHVuc2lnbmVkIGNoYXIqIGJ1ZmZlciA9IE5VTEw7IAogICAgQXRvbSBwcm9wVHlwZTsgCiAg
ICBpbnQgcHJvcEZtdDsgCiAgICB1bnNpZ25lZCBsb25nIG5JdGVtcywgbkJ5dGVzUmVtYWluaW5n
OyAKICAgIGNoYXIqIHAgPSBOVUxMOyAKICAgIGludCBpOyAKICAgIEF0b20qIHBBdG9tID0gTlVM
TDsgCiAgICBYRXZlbnQgZXZlbnQ7IAoKICAgIGRpc3BsYXkgPSBYT3BlbkRpc3BsYXkoTlVMTCk7
IAogICAgaWYoIWRpc3BsYXkpIAogICAgeyAKICAgICAgICBmcHV0cygiWE9wZW5EaXNwbGF5KCkg
ZmFpbGVkLlxuIiwgc3RkZXJyKTsgCiAgICAgICAgcmV0dXJuIC0xOyAKICAgIH0gCgogICAgeGFf
WElNX1NFUlZFUlMgPSBGZXRjaEF0b20oZGlzcGxheSwgWElNX1NFUlZFUlMpOyAKCiAgICB3X3Jv
b3QgPSBYRGVmYXVsdFJvb3RXaW5kb3coZGlzcGxheSk7ICAgIAogICAgWEdldFdpbmRvd1Byb3Bl
cnR5KGRpc3BsYXksIHdfcm9vdCwgeGFfWElNX1NFUlZFUlMsIDAsIFNJWkUsIAogICAgICAgICAg
ICAgICAgICAgICAgRmFsc2UsIFhBX0FUT00sICZwcm9wVHlwZSwgJnByb3BGbXQsICZuSXRlbXMs
IAogICAgICAgICAgICAgICAgICAgICAgJm5CeXRlc1JlbWFpbmluZywgJmJ1ZmZlcik7IAoKI2lm
ZGVmIERFQlVHIAogICAgcCA9IFhHZXRBdG9tTmFtZShkaXNwbGF5LCBwcm9wVHlwZSk7IAogICAg
cHJpbnRmKCJQcm9wZXJ0eSBUeXBlOiAlc1xuIiwgcCk7IAogICAgcHJpbnRmKCJOdW1iZXIgb2Yg
aXRlbXM6ICVkXG4iLCBuSXRlbXMpOyAKICAgIHByaW50ZigiQnl0ZXMgcmVtYWluaW5nOiAlZFxu
IiwgbkJ5dGVzUmVtYWluaW5nKTsgCiAgICBYRnJlZShwKTsgCiNlbmRpZiAKICAgICAKICAgIHBB
dG9tID0gKEF0b20qKWJ1ZmZlcjsgCgogICAgeGFfVFJBTlNQT1JUID0gRmV0Y2hBdG9tKGRpc3Bs
YXksIFRSQU5TUE9SVCk7IAogICAgeGFfTE9DQUxFUyA9IEZldGNoQXRvbShkaXNwbGF5LCBMT0NB
TEVTKTsgCgogICAgd19wcm9nID0gWENyZWF0ZVdpbmRvdyhkaXNwbGF5LCB3X3Jvb3QsIDAsIDAs
IDEsIDEsIDAsIDAsCklucHV0T25seSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFhEZWZh
dWx0VmlzdWFsKGRpc3BsYXksClhEZWZhdWx0U2NyZWVuKGRpc3BsYXkpKSwgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDAsIE5VTEwpOyAKCiAgICBwdXRzKCJSZWdpc3RlcmVkIGlucHV0IG1l
dGhvZHM6Iik7IAogICAgZm9yKGkgPSAwOyBpIDwgbkl0ZW1zOyBpKyspIAogICAgeyAKICAgICAg
ICBwID0gWEdldEF0b21OYW1lKGRpc3BsYXksIHBBdG9tW2ldKTsgCiAgICAgICAgd19pbSA9IFhH
ZXRTZWxlY3Rpb25Pd25lcihkaXNwbGF5LCBwQXRvbVtpXSk7IAoKICAgICAgICBYQ29udmVydFNl
bGVjdGlvbihkaXNwbGF5LCBwQXRvbVtpXSwgeGFfVFJBTlNQT1JULCBOb25lLCB3X3Byb2csCkN1
cnJlbnRUaW1lKTsgCiAgICAgICAgWElmRXZlbnQoZGlzcGxheSwgJmV2ZW50LCAmUmVzcG9uc2VI
YW5kbGVyLAooWFBvaW50ZXIpU2VsZWN0aW9uTm90aWZ5KTsgCiAgICAgICAgcHJpbnRmKCJcIiVz
XCIgaXMgJXMiLCBwLCAoKHdfaW0gPT0gQmFkV2luZG93KSA/ClNUUl9JTkFDVElWRTpTVFJfQUNU
SVZFKSk7IAogICAgICAgIFhGcmVlKHApOyAKICAgICAgICBpZighZXZlbnQueHNlbGVjdGlvbi5z
ZW5kX2V2ZW50KSAKICAgICAgICAgIHByaW50ZigiIGlzIGRlYWQiKTsgCiAgICAgICAgaWYoZXZl
bnQueHNlbGVjdGlvbi5wcm9wZXJ0eSAhPSBOb25lKSAKICAgICAgICB7IAogICAgICAgICAgICBw
ID0gWEdldEF0b21OYW1lKGRpc3BsYXksIGV2ZW50LnhzZWxlY3Rpb24ucHJvcGVydHkpOyAKICAg
ICAgICAgICAgcHJpbnRmKCIgYXQgXCIlc1wiIiwgcCk7IAogICAgICAgICAgICBYRnJlZShwKTsg
CiAgICAgICAgfSAKCiAgICAgICAgWENvbnZlcnRTZWxlY3Rpb24oZGlzcGxheSwgcEF0b21baV0s
IHhhX0xPQ0FMRVMsIE5vbmUsIHdfcHJvZywKQ3VycmVudFRpbWUpOyAKICAgICAgICBYSWZFdmVu
dChkaXNwbGF5LCAmZXZlbnQsICZSZXNwb25zZUhhbmRsZXIsCihYUG9pbnRlcilTZWxlY3Rpb25O
b3RpZnkpOyAKICAgICAgICBpZighZXZlbnQueHNlbGVjdGlvbi5zZW5kX2V2ZW50KSAKICAgICAg
ICAgIHByaW50ZigiIGlzIGRlYWQiKTsgCiAgICAgICAgaWYoZXZlbnQueHNlbGVjdGlvbi5wcm9w
ZXJ0eSAhPSBOb25lKSAKICAgICAgICB7IAogICAgICAgICAgICBwID0gWEdldEF0b21OYW1lKGRp
c3BsYXksIGV2ZW50LnhzZWxlY3Rpb24ucHJvcGVydHkpOyAKICAgICAgICAgICAgcHJpbnRmKCIg
YXQgXCIlc1wiIiwgcCk7IAogICAgICAgICAgICBYRnJlZShwKTsgCiAgICAgICAgfSAKICAgICAg
ICBwdXRjaGFyKCdcbicpOyAKICAgIH0gCiAgICBYRGVzdHJveVdpbmRvdyhkaXNwbGF5LCB3X3By
b2cpOyAKICAgIFhGcmVlKGJ1ZmZlcik7IAoKICAgIFhDbG9zZURpc3BsYXkoZGlzcGxheSk7IAp9
IAoKc3RhdGljIEF0b20gRmV0Y2hBdG9tKERpc3BsYXkqIGRpc3BsYXksIGNvbnN0IGNoYXIqIGF0
b21fbmFtZSkgCnsgCiAgICBBdG9tIGF0b20gPSBYSW50ZXJuQXRvbShkaXNwbGF5LCBhdG9tX25h
bWUsIFRydWUpOyAKICAgIGlmKGF0b20gPT0gTm9uZSkgCiAgICB7IAogICAgICAgIGZwcmludGYo
c3RkZXJyLCAiWCBBdG9tIFwiJXNcIiBkb2Vzbid0IGV4aXN0cy5cbiIsIGF0b21fbmFtZSk7IAog
ICAgICAgIGlmKHdfcHJvZyAhPSBOb25lKSAKICAgICAgICB7IAogICAgICAgICAgICBYRGVzdHJv
eVdpbmRvdyhkaXNwbGF5LCB3X3Byb2cpOyAKICAgICAgICAgICAgd19wcm9nID0gTm9uZTsgCiAg
ICAgICAgfSAKICAgICAgICBYQ2xvc2VEaXNwbGF5KGRpc3BsYXkpOyAKICAgICAgICBleGl0KC0x
KTsgCiAgICB9IAogICAgcmV0dXJuIGF0b207IAp9IAoKc3RhdGljIEJvb2wgUmVzcG9uc2VIYW5k
bGVyKERpc3BsYXkqIGRpc3BsYXksIFhFdmVudCogZXZlbnQsIFhQb2ludGVyCnBvaW50ZXIpIAp7
IAogICAgcmV0dXJuIChldmVudC0+dHlwZSA9PSAoaW50KXBvaW50ZXIpOyAKfSAKLyogbGlzdF9p
bS5jIC0gZW5kcyBoZXJlICovIAoKT24gbXkgbWFjaGluZSBJIGRvbid0IHRoaW5rIEkndmUgYW55
IFhJTSBzZXJ2ZXIgKGV4Y2VwdCBpaWlteCwgYW5kIHRoYXQKdG9vIHVzdWFsbHkgaXMgbm90IHJ1
bm5pbmcpLCBzbyBvdXRwdXQgb2YgbXkgcHJvZ3JhbSBpbiB0aGF0IGNhc2UgaXM6IAoKLS0gb3V0
cHV0IGJlZ2lucyBoZXJlIC0tIApbd2FoamF2YUBtZWdhaGFyZGxhYnMgcGNdJCAuL2xpc3RfaW0g
ClggQXRvbSAiWElNX1NFUlZFUlMiIGRvZXNuJ3QgZXhpc3RzLiAKLS0gb3V0cHV0IGVuZHMgaGVy
ZSAtLSAKCkFmdGVyIHJ1bm5pbmcgWElNIHNlcnZlciAoaW4gbXkgY2FzZSBpdCBpcyBpaWlteCwg
aW4gc2VwYXJhdGUgdGVybWluYWwpLApvdXRwdXQgb2YgbXkgcHJvZ3JhbSBpczogCgotLSBvdXRw
dXQgYmVnaW5zIGhlcmUgLS0gClt3YWhqYXZhQHBjIFhsaWJdJCAuL2xpc3RfaW0gClJlZ2lzdGVy
ZWQgaW5wdXQgbWV0aG9kczogCiJAc2VydmVyPWh0dCIgaXMgYWN0aXZlIAoiQHNlcnZlcj1paWlt
eCIgaXMgYWN0aXZlIAotLSBvdXRwdXQgZW5kcyBoZXJlIC0tIAoKQXMgYWJvdmUgb3V0cHV0IGNs
ZWFybHkgaW5kaWNhdGVzIHRoYXQgaXQgaGFzIGRldGVjdGVkIHRoYXQgWElNIHNlcnZlcgpuYW1l
ZCAiaHR0IiBhbmQgImlpaW14IiBhcmUgcnVubmluZyAoSSBtZWFuIHRoZXkncmUgYWN0aXZlIG5v
dCBqdXN0Cm9ycGhhbiBhdG9tcykgYnV0IGl0IGlzIG5vdCBnaXZpbmcgdGhlIGRldGFpbHMgb2Yg
dHJhbnNwb3J0IGFuZApsb2NhbGVzLiAKCkknbSBhIG5ld2JpZSBpbiBYbGliIChidXQgZWFnZXIg
dG8gbGVhcm4gaXQpLCBzbyBpcyB0aGVyZSBhbnkgYnVnIGluIG15CmNvZGUgPyAKClRoYW54IGlu
IGFkdmFuY2UsIApBc2hpc2ggU2h1a2xhIGFsaWFzIFdhaCBKYXZhICEhCi0tCkFzaGlzaCBTaHVr
bGEgIldhaCBKYXZhICEhIgrgpIbgpLbgpYDgpLcg4KS24KWB4KSV4KWN4KSy4KS+CgogICw9ICwt
Xy0uID0uCiAoKF8vKW8gbyhcXykpCiAgYC0nKC4gLilgLScKICAgICAgXF8vCgpNeSBibGFoLCBi
bGFoLCBibGFoIGF0IGh0dHA6Ly93YWhqYXZhLmJsb2dzcG90LmNvbS8KTXkgd2VicGFnZXMgYXQg
aHR0cDovL3d3dy5nZW9jaXRpZXMuY29tL3dhaF9qYXZhX2RvdG5ldC8KCk15IEdQRyBGaW5nZXJw
cmludDogQkJBOSBBRDdEIEJBNzEgNjFFQiBCRTQ2IDhDRjUgRTQ0QSBDNjYzIEEwM0YgNDI2MQoK
TXkgR1BHIGtleSBhdApodHRwOi8va2V5c2Vydi5uaWMtc2Uuc2U6MTEzNzEvcGtzL2xvb2t1cD9v
cD1nZXQmc2VhcmNoPTB4QTAzRjQyNjEKLS0KIkEgZnJhY3RhbCBpcyBieSBkZWZpbml0aW9uIGEg
c2V0IGZvciB3aGljaCB0aGUgSGF1c2RvcmZmIEJlc2ljb3ZpdGNoCmRpbWVuc2lvbiBzdHJpY3Rs
eSBleGNlZWRzIHRoZSB0b3BvbG9naWNhbCBkaW1lbnNpb24uIgotLSBNYW5kZWxicm90LCBfVGhl
IEZyYWN0YWwgR2VvbWV0cnkgb2YgTmF0dXJlXwoKCgoKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KVGhlIElMVUdELURldiBtYWlsaW5nIGxpc3QKSWx1Z2Qt
ZGV2QGxpc3RzLmxpbnV4LWRlbGhpLm9yZwoKU3Vic2NyaWJlL1Vuc3Vic2NyaWJlL1N1c3BlbmQg
eW91ciBsaXN0IG1lbWJlcnNoaXAgYXQ6Cmh0dHA6Ly9mcm9kby5oc2VydXMubmV0L21haWxtYW4v
bGlzdGluZm8vaWx1Z2QtZGV2Cg==