[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-kant
Subject:    [Kde-kant] A patch, some bugs and some ideas
From:       Johan Hanson <misagon () mail ! bahnhof ! se>
Date:       2001-11-19 20:57:02
[Download RAW message or body]

Hello Kate team.

I have written a patch to Kate as found in kdebase 2.2.1.
It is attached to this mail. The changes I have made are:

 * I modified the rendering of the cursor, because it was difficult to see.
   It blinked with the foreground color on top of the text - in the foreground
color.
   It was very difficult to spot the cursor on characters such as 'H' with a
vertical line
   in the leftmost pixel column - overlapping the cursor almost completely.
   
   The new cursor is 2 pixels thick in insert mode and a block cursor in
overwrite-mode.
   It is rendered using XorROP raster op with the 'pixel' set to the
exclusive-or
   of the foreground and the background. In other words, it exchanges foreground
and
   background colors on the pixel where it is painted. It does so on both
truecolor
   (24bit, 16-bit) and on pseudo-color (16-color, 256-color) screens.
   The cursor looks just like before in most cases but where the cursor overlaps
   with the character all pixels intersecting the cursor will now blink.
   The rendering is not perfect with halftones in anti-aliased text, but that
   is not too noticable.

 * I find the old bracket mark confusing, as its matches the character to the
*left*
   of the cursor. To make this more visible, I modified
KateViewInternal::paintBracketMark()
   to paint a "ghost cursor" instead of the underline. Examples: (| |)  |( )|

 * if 'Auto Indent' is enabled but 'Remove Trailing Spaces' isn't, then
KateDocument::newLine()
   will indent the new line simply according to the previous line - even if the
previous
   line contains nothing but whitespace. The old behavior was to trace upwards
until the first
   line with any non-whitespace character and to copy the indentation from that
line.
   The old behavior makes sense when 'Remove Trailing Spaces' is
enabled.                                                                     
   Otherwise, I just find it annoying.

 * I extended the 'Smart Home' option to also be 'Smart End'. Convenient if you
want to
   remove trailing whitespace by hand.

Other things I found quirky but haven't tried/been able to fix:
 * Undo does not take saves into account.
   - When undone to the initial document then the 'modified' flag should be
clear.
   - When undone/redone to a save point then the 'modified' flag should be
clear.
   - No action group should span across a save point.
   It would also be nice if save points were visible in the Undo/Redo History
lists and
   if the editor would ask for confirmation when the user tries to Undo past a
save point.

 * There are no scroll borders (except at the left).

 * The cycling order for views is the order in which they were created .. I
suggest that
   the order be left-to-right/top-to-bottom.

 * What's the deal with the "Apply" button in the configuration dialog if it is
   a modal dialog? Make it non-modal, please.

Wish list/ideas:
 * Make it possible to change he file-cycling order by reordering the entries in
the file list.
   For instance, I prefer related *.h and *.cpp files to be together.

 * Automatic unselect on Cut and Copy as a visual confirmation that the
operation
   succeeded, and that my old keyboard hasn't given up on me yet. ;-)
   I hate it when I paste something and it is the wrong clip because that
   Ctrl+C I pressed before didn't take.

 * Being able to set default tab-size for a highlight mode and then to override
the
   tab-size for specific documents by selecting tab-size from a menu.
   For instance, I prefer to use size 4 for source code and size 8 for
Makefiles.
   Also, I often read or edit other peoples source code and they more often than
not
   use other coding conventions than I do.

 * A language-sensitive "Smart End" that would jump over comments. First 'End'
press
   would move the cursor to the end of the line as usual. The second 'End' press
   would move the cursor to the end of the code *before* the comment, as:
    code code code code;   // comment
	                    ^cursor is here

 * Being able to insert any character code and to read the code of the character
at the cursor.

 * In a highlighting file, enable keywords to start with a prefix from a list
followed by
   any of a number of suffixes. For instance, ARM assembly language has
mnemonics
   made up of some 50 prefixes and 15 suffixes.
   Right now, a highlighting file for ARM assembly language needs a large
regexp..

Bugs I have encountered:
 - Some times the view will blink (reminiscent of the 'Visual Bell' that Xterm
has)
   when inserting or deleting a line. I have only noticed it once and I don't
know
   how to reproduce it but I think it only occurs if there is only a single file
   and it is small.

 - I can bind Ctrl+Shift+Tab, but not use it. It is recognized by the config
dialog
   but not by the editor. The key is only bound to the Tab keycode in my
~/.Xmodmap.

 - I can not bind any Alt+ or Meta+ combination.

 - Action "End Of Line" does not work. There is also no "Beginning Of Line".

 - The highlighting configuration dialog can make Kate crash if the language
file is bad.

-- 
/ Johan@tiq.com
-------------------------------------------------------------------------
char*s="moc.qit@nahoj                        ",c,a[40],r[40];q(p,a)char*p
;{*p=(*p?*p-1-a:rand())%24+a;}main(){l:for(c=40;--c;){q(r+c,0);q(a+c,13);
printf("\e[%d;%dH%c\n",24-r[c],c*2+1,s[a[c]]);}usleep(1<<12);goto l;}
----------------------------------------------- 218 bytes -- aj där ya --
["kdebase.diff.gz" (application/x-gzip)]
_______________________________________________
kde-kant mailing list
kde-kant@mail.kde.org
http://mail.kde.org/mailman/listinfo/kde-kant


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic