[Geany-Devel] A direction for Geany

Matthew Brush mbrush at xxxxx
Mon Nov 11 13:28:18 UTC 2013


On 13-11-11 02:42 AM, Thomas Martitz wrote:
> Am 11.11.2013 10:31, schrieb Matthew Brush:
>>
>> [snip]
>> * GtkSourceView completely integrates into our GUI toolkit, using
>> native (not custom drawn like Scintilla) widgets inside and interacts
>> properly with stuff like scrolling, focus, DnD, key-bindings, etc.
>
> With ScintillaGTK it also interacts properly, doesn't it? It impements
> GtkWidget and can act as such.
>

Not really, I mean it is technically a subclass of GtkWidget, but it 
draws its own text instead of using GtkTextView, it uses its own 
scrollbars instead of using GtkScrollable/GtkScrolledWindow, it has 
problems with focus (see related functions in Geany's source), it 
hijacks keybindings completely outside of GTK+, it provides only a 
single crazy signal for every possible thing, it hasn't any GTK+ 
properties or style properties, it hasn't any methods/functions/API but 
a single weird mandatory function thing (scintilla_send_message) that 
requires to constantly be doing casts on its parameters since they try 
to accept every type through long/ulong, it doesn't use any G* types for 
anything (ex. enums, function parameters, colours, images, etc) and so on.

>> [snip]
> All of these points read like whine. Some of them also apply to
> GtkSourceView (GSV) and you haven't shown how GSV improves things. I can
> read that you don't like Scintilla but how is GSV better and what do we
> gain? Perhaps you could summarize the nice things about GSV? Note that I
> have done nothing with it and therefore no idea how it works or what
> APIs it provides. But I also do not know why you would chose it over
> Scintilla or even convert an existing Scintilla-based project to it.
>

It's probably easier to list the things that are worse in GSV since 
there's only one point I can think of where Scintilla beats it hands-down:

* No code folding (promised since forever, not sure when it ever comes).

Anyway, it will be added to any list of big potential changes and we can 
discuss on the wiki or wherever this might eventually end up if it goes 
anywhere, I guess this isn't really the thread to be getting as detailed 
as I did or continue such detailed discussions (ping me on IRC if you want).

Cheers,
Matthew Brush





More information about the Devel mailing list