What happened to separation of concerns?
"Do one thing and do it well"?
Snark aside, it's still orthogonal to my question. I wasn't questioning whether it should be done centralized, but why it's supposed to be part of the display server protocol/compositor.
Note that more complex input methods do somewhat bypass the display server and communicate via dbus instead.
Did you miss the do it well part? Nearly every unix tool does more than one thing, the alternative would be a usability nightmare.
* grep, which primarily does pattern matching has dozens of file traversal related flags that could be handled by calling it from find
* find, a tool supposed to find files for some reason has dozens of flags related to executing applications which could probably be done by using xargs
* did you know that xargs can do pattern matching and replacement on its input string? there are probably dozens of unix tools that are specialized for that
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
SDL_IM_MODULE=fcitx
[0]: https://wiki.archlinux.org/title/Fcitx5#IM_modulesOr in other words, your comparison is like saying food and shit are basically the same thing because both are made up of similar elements.