Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Post History

71%
+3 −0
Q&A Disable transient symbols for compose and dead keys in GTK programs

An article in the GTK blog explains the situation very well, but here is my go at it. In my keyboard layout, accents are handled as dead keys, so to insert "ë", first I type ¨ and then e. Nothing ...

1 answer  ·  posted 2y ago by Quasímodo‭  ·  last activity 1y ago by Quasímodo‭

#1: Initial revision by user avatar Quasímodo‭ · 2022-01-21T16:16:10Z (over 2 years ago)
Disable transient symbols for compose and dead keys in GTK programs
[An article in the GTK blog][3] explains the situation very well, but here is my go at it.

In my keyboard layout, accents are handled as [dead keys][2], so to insert "ë", first I type `¨` and then `e`. Nothing happens on the screen until the very last step, at which point `ë` is inserted.

That, however, recently changed in all my GTK3 programs: An underlined meta-character is displayed when a dead key is pressed. E.g., when I type `¨`, I see an underlined diaeresis:  
![Meta-character displayed when pressing ¨](https://linux.codidact.com/uploads/AwXKDKVCHu4xeBCR8JwrZWPr)

Of course, that transient character goes away once I complete the sequence by pressing `e`, but I find the new behavior confusing because for years I have been used not to see any character until after the key sequence was complete. Now it just looks like I have fat-fingered — not to mention some misbehavior that may occur in some programs when backspacing.

The same happens when using a [compose sequences][1].

Thus the question: **How can I disable transient symbols for compose and dead keys and revert back to the good, old behavior?**

[1]: https://en.wikipedia.org/wiki/Compose_key
[2]: https://en.wikipedia.org/wiki/Dead_key 
[3]: https://blog.gtk.org/2021/03/24/input-revisited/