Summary: | Make cursor insertion point a few pixels larger vertically | ||
---|---|---|---|
Product: | [Applications] kate | Reporter: | shenlebantongying <shenlebantongying> |
Component: | general | Assignee: | KWrite Developers <kwrite-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | wishlist | CC: | nate |
Priority: | NOR | Keywords: | usability |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Other | ||
Latest Commit: | https://invent.kde.org/frameworks/ktexteditor/commit/9a07647ee120da5b046cc71186590decebc8ded9 | Version Fixed In: | |
Sentry Crash Report: | |||
Attachments: | A screenshot of this larger beam. |
Description
shenlebantongying
2022-04-22 12:04:22 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/ktexteditor/-/merge_requests/532 Git commit 5934689df192aa681c6d7856bd6eaed9f22790a5 by Christoph Cullmann, on behalf of Waqar Ahmed. Committed on 29/03/2023 at 18:10. Pushed by cullmann into branch 'master'. Draw caret ourselves Drawing caret ourselves helps solve a few issues: 1. With custom line height, the caret is no longer smaller than line 2. Cursor direction depends on the block content, not keyboard layout (bug 172630). Our own cursor will not draw the direction marker and thus will avoid this issue 3. Make cursor insertion point a few pixels larger vertically (bug 452853). You can just increase the line height and the caret will be bigger :) Technically, this is not exactly what is requested, but it works. Making Cursor visually larger than the line is _possible_ but it means that now we need to _always_ dirty 3 lines for repaint: current line, line above, line below which is a lot of uneeded work for such a small thing. So this will do. It is also more efficient than the Qt implementation as the work done in here is a lot less. Related: bug 172630 M +24 -1 src/render/katerenderer.cpp https://invent.kde.org/frameworks/ktexteditor/commit/5934689df192aa681c6d7856bd6eaed9f22790a5 Git commit 9a07647ee120da5b046cc71186590decebc8ded9 by Waqar Ahmed. Committed on 04/04/2023 at 18:59. Pushed by cullmann into branch 'kf5'. Draw caret ourselves Drawing caret ourselves helps solve a few issues: 1. With custom line height, the caret is no longer smaller than line 2. Cursor direction depends on the block content, not keyboard layout (bug 172630). Our own cursor will not draw the direction marker and thus will avoid this issue 3. Make cursor insertion point a few pixels larger vertically (bug 452853). You can just increase the line height and the caret will be bigger :) Technically, this is not exactly what is requested, but it works. Making Cursor visually larger than the line is _possible_ but it means that now we need to _always_ dirty 3 lines for repaint: current line, line above, line below which is a lot of uneeded work for such a small thing. So this will do. It is also more efficient than the Qt implementation as the work done in here is a lot less. Related: bug 172630 M +24 -1 src/render/katerenderer.cpp https://invent.kde.org/frameworks/ktexteditor/commit/9a07647ee120da5b046cc71186590decebc8ded9 |