[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freedesktop-xorg
Subject:    [SOLVED] Re: input context attribute "XNFocusWindow"
From:       Lucien Gentis <lucien.gentis () univ-lorraine ! fr>
Date:       2016-05-09 13:14:46
Message-ID: 06f2eb7e-d0f5-1c67-8fa6-5097ec4ebf25 () univ-lorraine ! fr
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


So I do Questions and Answers

I found a solution to my problem, but no explanation:

In the little program I joigned, I had to replace the line:

if (XSetLocaleModifiers("") == NULL) {

by

if (XSetLocaleModifiers("@im=none") == NULL) {

Output of prog-1 is now correct, and since I modified the application I am developing \
the same way, I can now type in characters with dead keys.

XSetLocaleModifiers man page don't give much details, and someone who could give an \
explanation of XSetLocaleModifiers("@im=none") would be welcome.

Cheers

Lucien

Le 06/05/2016 à 16:27, Lucien Gentis a écrit :
> Additional informations:
> 
> Even XNInputStyle is not set: if I do:
> 
> ic=XCreateIC(im,XNInputStyle,XIMPreeditNothing|XIMStatusNothing,NULL);
> long int st;
> XGetICValues(ic,XNInputStyle,&st,NULL);
> printf ("XIMPreeditNothing|XIMStatusNothing = %ld - style ic = 
> %ld\n",XIMPreeditNothing|XIMStatusNothing,st);
> 
> I get:
> 
> XIMPreeditNothing|XIMStatusNothing = 1032 - style ic = 1
> 
> (style ic should be 1032)
> 
> I have tested this little program on different machines :
> 
> --- 1st machine:
> Ubuntu 14.04: It works
> Another Ubuntu 14.04 system: it doesn't work
> Ubuntu 12.04: it works
> 
> --- 2nd machine:
> Ubuntu 14.04 via VirtualBox on Windows 7: it doesn't work
> NetBSD 7.0 via VirtualBox on Windows 7: it works !
> Ubuntu 14.04 direct install (or live DVD): it doesn't work
> 
> ---3rd machine:
> Ubuntu 14.04: it doesn't work
> 
> 
> 
> 
> 
> Le 28/04/2016 14:40, Lucien Gentis a écrit :
> > Hi to all,
> > 
> > My system : Linux - Ubuntu 14.04
> > 
> > I am developing an application which relies on Xlib Library and I try 
> > to internationalize it.
> > 
> > In order to be able to type in accented character, some of them with 
> > dead keys, I use XmbLookupString function and a unique Input Context.
> > 
> > Since my app has several X windows, each time one of them gets input 
> > focus, I must set "XNFocusWindow" attribute  to it through 
> > XSetICValues function, but it doesn't seem to work:
> > 
> > If "w" is the X window I want to set as "XNFocusWindow" attribute of 
> > the IC, when I reread this attribute through XGetICValues function, I 
> > don't obtain the same value:
> > 
> > XSetICValues(ic,XNFocusWindow,w,NULL);
> > Window winicfocus;
> > XGetICValues(ic,XNFocusWindow,&winicfocus,NULL);
> > printf ("Window w id : %ld - IC focus window : %ld\n",w,winicfocus);
> > 
> > I get:
> > 
> > Window w id : 77594625 - IC focus window : 0
> > 
> > To illustrate that, I have joined a little programme you should 
> > compile through this command:
> > gcc -g -Wall prog-1.cc -o prog-1 -lX11
> > 
> > -- 
> > Lucien GENTIS
> > UNIVERSITE DE LORRAINE - ESPE
> > Centre de Ressources Informatiques
> > 5, Rue Paul Richard
> > C.O. 3 - MAXEVILLE
> > 54528 LAXOU-CEDEX
> > 
> > Tél. 03 72 74 13 28
> > Email :lucien.gentis@univ-lorraine.fr
> > 
> > 
> > _______________________________________________
> > xorg@lists.x.org: X.Org support
> > Archives:http://lists.freedesktop.org/archives/xorg
> > Info:https://lists.x.org/mailman/listinfo/xorg
> > Your subscription address: %(user_address)s
> 
> 
> 
> _______________________________________________
> xorg@lists.x.org: X.Org support
> Archives: http://lists.freedesktop.org/archives/xorg
> Info: https://lists.x.org/mailman/listinfo/xorg
> Your subscription address: %(user_address)s

-- 
Lucien GENTIS
UNIVERSITE DE LORRAINE - ESPE
Centre de Ressources Informatiques
5, Rue Paul Richard
C.O. 3 - MAXEVILLE
54528 LAXOU-CEDEX

Tél. 03 72 74 13 28
Email : lucien.gentis@univ-lorraine.fr


[Attachment #5 (text/html)]

<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>So I do Questions and Answers <br>
    </p>
    <p>I found a solution to my problem, but no explanation:</p>
    <p>In the little program I joigned, I had to replace the line:</p>
    <pre>if (XSetLocaleModifiers("") == NULL) {

by

if (XSetLocaleModifiers("@im=none") == NULL) {

Output of prog-1 is now correct, and since I modified the application I am developing \
the same way, I can now type in characters with dead keys.

XSetLocaleModifiers man page don't give much details, and someone who could give an \
explanation of XSetLocaleModifiers("@im=none") would be welcome. </pre>
    Cheers<br>
    <br>
    Lucien<br>
    <br>
    <div class="moz-cite-prefix">Le 06/05/2016 à 16:27, Lucien Gentis a
      écrit :<br>
    </div>
    <blockquote
      cite="mid:adc03b93-0a58-35f4-6ae0-f72ac7bda540@univ-lorraine.fr"
      type="cite">
      <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
      Additional informations:<br>
      <br>
      Even XNInputStyle is not set: if I do:<br>
      <br>
ic=XCreateIC(im,XNInputStyle,XIMPreeditNothing|XIMStatusNothing,NULL);<br>
      long int st;<br>
      XGetICValues(ic,XNInputStyle,&amp;st,NULL);<br>
      printf ("XIMPreeditNothing|XIMStatusNothing = %ld - style ic =
      %ld\n",XIMPreeditNothing|XIMStatusNothing,st);<br>
      <br>
      I get:<br>
      <br>
      XIMPreeditNothing|XIMStatusNothing = 1032 - style ic = 1<br>
      <br>
      (style ic should be 1032)<br>
      <br>
      I have tested this little program on different machines :<br>
      <br>
      --- 1st machine:<br>
      Ubuntu 14.04: It works<br>
      Another Ubuntu 14.04 system: it doesn't work<br>
      Ubuntu 12.04: it works<br>
      <br>
      --- 2nd machine:<br>
      Ubuntu 14.04 via VirtualBox on Windows 7: it doesn't work<br>
      NetBSD 7.0 via VirtualBox on Windows 7: it works !<br>
      Ubuntu 14.04 direct install (or live DVD): it doesn't work<br>
      <br>
      ---3rd machine:<br>
      Ubuntu 14.04: it doesn't work<br>
      <br>
      <br>
      <br>
      <br>
      <br>
      <div class="moz-cite-prefix">Le 28/04/2016 14:40, Lucien Gentis a
        écrit :<br>
      </div>
      <blockquote
        cite="mid:1917aa2c-1abf-80d6-1fdf-ef0c17138ab7@univ-lorraine.fr"
        type="cite">
        <meta http-equiv="content-type" content="text/html;
          charset=utf-8">
        Hi to all,<br>
        <br>
        My system : Linux - Ubuntu 14.04<br>
        <br>
        I am developing an application which relies on Xlib Library and
        I try to internationalize it.<br>
        <br>
        In order to be able to type in accented character, some of them
        with dead keys, I use XmbLookupString function and a unique
        Input Context.<br>
        <br>
        Since my app has several X windows, each time one of them gets
        input focus, I must set "XNFocusWindow" attribute  to it through
        XSetICValues function, but it doesn't seem to work:<br>
        <br>
        If "w" is the X window I want to set as "XNFocusWindow"
        attribute of the IC, when I reread this attribute through
        XGetICValues function, I don't obtain the same value:<br>
        <br>
        XSetICValues(ic,XNFocusWindow,w,NULL);<br>
        Window winicfocus;<br>
        XGetICValues(ic,XNFocusWindow,&amp;winicfocus,NULL);<br>
        printf ("Window w id : %ld - IC focus window :
        %ld\n",w,winicfocus);<br>
        <br>
        I get:<br>
        <br>
        Window w id : 77594625 - IC focus window : 0<br>
        <br>
        To illustrate that, I have joined a little programme you should
        compile through this command:<br>
        gcc -g -Wall prog-1.cc -o prog-1 -lX11<br>
        <br>
        <pre class="moz-signature" cols="72">-- 
Lucien GENTIS
UNIVERSITE DE LORRAINE - ESPE
Centre de Ressources Informatiques
5, Rue Paul Richard
C.O. 3 - MAXEVILLE
54528 LAXOU-CEDEX

Tél. 03 72 74 13 28
Email : <a moz-do-not-send="true" class="moz-txt-link-abbreviated" \
href="mailto:lucien.gentis@univ-lorraine.fr">lucien.gentis@univ-lorraine.fr</a></pre> \
<br>  <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">_______________________________________________
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" \
                href="mailto:xorg@lists.x.org">xorg@lists.x.org</a>: X.Org support
Archives: <a moz-do-not-send="true" class="moz-txt-link-freetext" \
href="http://lists.freedesktop.org/archives/xorg">http://lists.freedesktop.org/archives/xorg</a>
                
Info: <a moz-do-not-send="true" class="moz-txt-link-freetext" \
href="https://lists.x.org/mailman/listinfo/xorg">https://lists.x.org/mailman/listinfo/xorg</a>
 Your subscription address: %(user_address)s</pre>
      </blockquote>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
<a class="moz-txt-link-abbreviated" \
                href="mailto:xorg@lists.x.org">xorg@lists.x.org</a>: X.Org support
Archives: <a class="moz-txt-link-freetext" \
href="http://lists.freedesktop.org/archives/xorg">http://lists.freedesktop.org/archives/xorg</a>
                
Info: <a class="moz-txt-link-freetext" \
href="https://lists.x.org/mailman/listinfo/xorg">https://lists.x.org/mailman/listinfo/xorg</a>
 Your subscription address: %(user_address)s</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Lucien GENTIS
UNIVERSITE DE LORRAINE - ESPE
Centre de Ressources Informatiques
5, Rue Paul Richard
C.O. 3 - MAXEVILLE
54528 LAXOU-CEDEX

Tél. 03 72 74 13 28
Email : <a class="moz-txt-link-abbreviated" \
href="mailto:lucien.gentis@univ-lorraine.fr">lucien.gentis@univ-lorraine.fr</a></pre> \
</body> </html>


[Attachment #6 (text/plain)]

_______________________________________________
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: https://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic