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