[Geany-Devel] A direction for Geany
Dimitar Zhekov
dimitar.zhekov at xxxxx
Thu Nov 14 18:56:58 UTC 2013
On Tue, 12 Nov 2013 17:47:26 -0800
Matthew Brush <mbrush at codebrainz.ca> wrote:
> On 13-11-12 10:43 AM, Dimitar Zhekov wrote:
> > On Mon, 11 Nov 2013 01:31:35 -0800
> > Matthew Brush <mbrush at codebrainz.ca> wrote:
> >
> >>> 1. An architecture that allows multi-threading to be used for non-GUI
> >>> tasks.
> >>
> >> Another (perhaps more obvious) candidate here is file loading/saving,
> >> which is *way* easier than the parsing stuff since [...] and because
> >> Scintilla and GIO make this quite easy (probably wouldn't even require
> >> threads but just mainloop/async stuff).
> >
> > We don't even have a proper saving with all GIO/GFile/whatever levels,
> > because some people haven't completed even one level properly.
> >
>
> I didn't understand what this means?
We have several options to save a file in different ways, because all
GLib stuff is either unreliable or has side effenct (owner and
permissions change).
> Slightly off-topic but Vala makes the async/GIO file stuff insanely easy
> and short to write as it has support for it built right into the
> language syntax.
GLib-based, right? Well, at least we'll have only one (GIO) set of
problems to worry about.
> >>> 2. Language specific assistance, such as indentation, or dynamic error
> >>> marking and intelligent autocompletes. [...]
> >>>
> >>
> >> A way for plugins to "handle" certain filetypes so that plugins can be
> >> loaded/unloaded as a filetype is used in a document and unload when no
> >> documents currently use it or something.
> >
> > Nice idea, but why? It's not like they eat a lot of resources, and
> > constantly (un)loading plugins has it's cost too.
> >
>
> So they don't have to connect to every single document and notebook
> signal and only activate themselves when a specific filetype is
> opened/closed/saved/etc and de-activate themsleves when the tab switches
> and stuff.
Don't worry, gtk+3 will waste more time than all the current plugins
together.
> What's more it would/could provide some form of conflict
> resolution over which plugins are handling which filetypes and stuff.
> This is especially useful since we're talking about "language support
> plugins", not run-of-the-mill existing Geany plugins which just (can)
> stomp all over each other and Geany anyway :)
We'll be lucky if these _future_ plugins provide so much functionality
as to have conflicts over specific file types.
> > The last time I checked, Geany + Scintilla with GTK+3 flickered on my
> > machine. By the time they fix this, GTK+3 may drop or deprecate so many
> > non-GNOME-3 features that I'll simply switch to Qt-based GUI.
>
> It works fine here with Scintilla, FWIW.
You forgot the obligatory "YMMV". Should I make a video clip and post
it? :)
> GTK3 overall definitively feels
> a little slower and some of the new "touch friendly" dialogs and stuff
> are kind of annoying, but I mean barring completely switching toolkits
> (unlikely) or writing our own cross-platform wrapper toolkit
> (infeasible), it's what we're stuck with for the future, so why fight it
> kicking and screaming?
Because it's slower and annoying? Because we don't know what funny
thing the gtk+ devs will do tommorow? The more I think about it, the
more a transision to KDE seems a good idea.
> >> 5. Drop Scintilla and use GtkSourceView. I'll just enumerate the reasons
> >> that come to mind, in no particular order:
> >>
> >> [...]
> >
> > Nice points. But long time ago, I chose Geany specifically because it
> > provided rectangular selections, and the GtkSourceView based editors
> > did not - and still don't. Maybe in the next century?.. Of course,
> > both rectangular selection and virtual space in Scintilla are
> > afterthought and implemented as hacks, but they work.
> >
>
> Yeah, and rectangular selection is definitively a valid point, but I
> think we shouldn't rule out listing (on the wiki or wherever this
> discussion winds up) the pros and cons of each and seeing what comes.
The rectangular selection is a must have for me, as I'm using Geany for
a general purpose editor as well.
> We wouldn't have to use the latest greatest version of GtkSourceView,
> although I don't see why not (assuming we're sticking with GTK+), since
> that project is all about making a kick-ass powerful, flexible, GTK+
> friendly source code editing component.
It's really disheartening to see it lacking features that the MS-DOS
editors in the 80-s had. I mean it, no sarcasm here.
> >> 6. Automatically-bindable plugin API that we officially support for
> >> multiple languages. Writing plugins in C is crap, IMO.
> >
> > It depends on the need for speed. A GeanyInsertNum, GeanyExtraSel or
> > Scope in <insert your favorite interpreter here> would be pointless.
>
> What does Scope do that it needs hard-core low-level speed for?
The message loop and processing.
> Or the other plugins?
Nothing. After the rectangular selection was rewritten in Scintilla
2.x, it became so slow than even a shell script will not make any
difference.
--
E-gards: Jimmy
More information about the Devel
mailing list