Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Jan 2021 23:46:44 +0100
From:      Guido Falsi <mad@madpilot.net>
To:        George Mitchell <george+freebsd@m5p.com>, freebsd-ports@freebsd.org
Subject:   Re: Xfce, xfce4-terminal, and UTF-8
Message-ID:  <e1aa2a33-ed84-e65e-22ad-d7fb80e1d65c@madpilot.net>
In-Reply-To: <2a81a2dd-9986-4e7b-3478-91c3926bcb8e@m5p.com>
References:  <1db44c6b-de53-9990-3b12-0d583e86d42b@m5p.com> <5a858dc2-a657-c0e8-dd86-5e3fee1c6030@madpilot.net> <a8473438-1a23-5b79-78fb-22939d7a1f43@m5p.com> <90d5da8c-6cee-5c10-cf86-2f566ae89089@madpilot.net> <2a81a2dd-9986-4e7b-3478-91c3926bcb8e@m5p.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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@madpilot.net>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e1aa2a33-ed84-e65e-22ad-d7fb80e1d65c>