Xfce, xfce4-terminal, and UTF-8

Guido Falsi mad at madpilot.net
Fri Jan 1 22:46:51 UTC 2021


On 01/01/21 23:37, George Mitchell wrote:
> On 1/1/21 3:12 PM, Guido Falsi via freebsd-ports wrote:
>> [...]
>> .cshrc does not look like the correct place for it anyway. That file 
>> is executed multiple times during a session. I'm not sure how it can 
>> work for everything else. Also the fact that XFCE has it's own 
>> configuration, if it's not configured from there could cause conflicts.
>>
>> IMHO a better place would be .xsession if using a display manager or 
>> Xinit if using startx.
>>
>> If using XFCE as your DE it's own settings tool would be the best place.
>>
> 
> Regardless of where I put setxkbmap, xev shows this sequence of events
> when I type the compose key (Left Win), ', and e to enter "é":
> 
> KeyPress event, serial 37, synthetic NO, window 0x2e00001,
>       root 0x50f, subw 0x2e00002, time 89630, (34,51), root:(905,493),
>       state 0x10, keycode 133 (keysym 0xff20, Multi_key), same_screen YES,
>       XLookupString gives 0 bytes:
>       XmbLookupString gives 0 bytes:
>       XFilterEvent returns: True
> 
> KeyRelease event, serial 37, synthetic NO, window 0x2e00001,
>       root 0x50f, subw 0x2e00002, time 89758, (34,51), root:(905,493),
>       state 0x10, keycode 133 (keysym 0xff20, Multi_key), same_screen YES,
>       XLookupString gives 0 bytes:
>       XFilterEvent returns: False
> 
> KeyPress event, serial 37, synthetic NO, window 0x2e00001,
>       root 0x50f, subw 0x2e00002, time 92574, (34,51), root:(905,493),
>       state 0x10, keycode 48 (keysym 0x27, apostrophe), same_screen YES,
>       XLookupString gives 1 bytes: (27) "'"
>       XmbLookupString gives 1 bytes: (27) "'"
>       XFilterEvent returns: True
> 
> KeyRelease event, serial 37, synthetic NO, window 0x2e00001,
>       root 0x50f, subw 0x2e00002, time 92750, (34,51), root:(905,493),
>       state 0x10, keycode 48 (keysym 0x27, apostrophe), same_screen YES,
>       XLookupString gives 1 bytes: (27) "'"
>       XFilterEvent returns: False
> 
> KeyPress event, serial 37, synthetic NO, window 0x2e00001,
>       root 0x50f, subw 0x2e00002, time 98926, (34,51), root:(905,493),
>       state 0x10, keycode 26 (keysym 0x65, e), same_screen YES,
>       XLookupString gives 1 bytes: (65) "e"
>       XmbLookupString gives 1 bytes: (65) "e"
>       XFilterEvent returns: True
> 
> KeyPress event, serial 37, synthetic NO, window 0x2e00001,
>       root 0x50f, subw 0x2e00002, time 98926, (34,51), root:(905,493),
>       state 0x10, keycode 0 (keysym 0xe9, eacute), same_screen YES,
>       XLookupString gives 0 bytes:
>       XmbLookupString gives 1 bytes: (e9) "�"
>       XFilterEvent returns: False
> 
> KeyRelease event, serial 37, synthetic NO, window 0x2e00001,
>       root 0x50f, subw 0x2e00002, time 99062, (34,51), root:(905,493),
>       state 0x10, keycode 26 (keysym 0x65, e), same_screen YES,
>       XLookupString gives 1 bytes: (65) "e"
>       XFilterEvent returns: False
> 
> The same sequence in an xfce4-terminal window shows nothing, but
> any following keypresses act normally.
> 
> I removed the setxkbmap command from my .cshrc and used the XFCE
> keyboard settings to set the compose key to Left Win.  Then I logged
> out and back in.  I verified that the keyboard settings dialog still
> showed that Left Win was used for the compose key.  But it does not
> work at all.  When I type Left Win, ', e in xfce4-terminal (or in
> any other client in my session), it shows 'e.  Xev shows the three
> keypresses and releases but no e with acute accent.      -- George
>

 From what you say it looks like xfce4-terminal is getting the special 
character you typed but is ignoring it or unable to display it for some 
reason.

If you think there is a bug in xfce4-terminal you should file a bug with 
upstream directly.

I'm sorry I have no idea where the blame is, I don't know how 
composition is actually implemented, here it just works for me.

Also make sure all your ports are aligned, I use binary packages from my 
own repo. I did have a glitch with composition (it was not working, much 
like you report above after setting it in xfce preferences) and forcing 
reinstallation of many Xorg and XFCE4 related ports "fixed" it. I 
usually think this is due to package upgrading libraries from below 
other packages and some hidden/unwanted binary compatibility change in 
the library.

This is quite a difficult one to diagnose!

-- 
Guido Falsi <mad at madpilot.net>


More information about the freebsd-ports mailing list