https://bugs.kde.org/show_bug.cgi?id=435975

--- Comment #8 from Ivan Sorokin <[email protected]> ---
Thank you for the detailed response, Kovid.

First, I would like to express my regret for the harsh tone of my previous
comment. My criticism stemmed largely from the fatigue of attempting to
implement the full scope of the kitty protocol specs. I found myself struggling
with the complexity of correctly mapping unshifted vs shifted keys across
various layouts and handling the duplication of unicode symbols on the terminal
side. I respect the work you have done to push the ecosystem forward.

To move this discussion into a constructive direction for Konsole, I believe it
is useful to summarize that both approaches have their specific strengths and
trade-offs.

The kitty protocol is the current de-facto standard for modern unix-like
terminal capabilities with wide adoption among popular applications like neovim
and helix. It handles complex state management very robustly.

The win32 input mode offers a very simple structure that is easy to parse and
clearly separates virtual key codes from text. It is ideal for applications
ported from the windows world or those preferring a simpler event loop.

Given this reality, in far2l we decided against a "one or the other" approach.
Instead, we implemented both, to give application developers the freedom to
choose what fits best.

However, regarding the kitty protocol support in our project, we opted for a
pragmatic subset rather than the full specification to keep complexity
manageable. We implemented the core event structure but omitted the complexity
of the full flags stack, using a single apply mode. We also simplified the
unshifted vs shifted logic, as we discussed previously on the kitty bug
tracker.

It is worth noting that this implemented subset has proven sufficient for all
practical cases. We have not received a single complaint regarding missing
capabilities in the kitty protocol implementation in far2l for several years.

I believe supporting both (the industry-standard kitty protocol as a functional
subset and the simpler win32 mode) provides the best flexibility for users and
developers.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to