[Geany] Source folding

Kurt Maier karmaflux at xxxxx
Thu Jul 20 17:07:46 UTC 2006


On 7/20/06, Alexandre Moreira <alexandream at gmail.com> wrote:
> We would only have to create a system where a plugin could navigate through
> all folding markers at the current file, and then a user script/plugin could
> do the feature. That way the GUI for that wouldn't really be a Geany core
> problem, and plugins could configure their own gui the way they wanted, be
> it a weird button on the toolbar or a keybinding for the user.

...as the guy who opened the can of extensibility worms, I feel like I
should pipe up here.  Please note that this branch of the discussion
is hypothetical and contingent upon the idea that geany will one day
have scripting hooks or the like.

Leaving the interface design decisions to the plugin/script writers is
a dangerous idea.  If a system of external hooks is to be implemented
-- and I hope it will be -- the smart thing to do would be to
_require_ specific interface schema.  I would suggest requiring _both_
a menu entry and a configurable keybinding.  Fooling about with the
standard toolbar is a bad idea from a usability standpoint; it would
make more sense to have an optional second toolbar containing the
access elements for scripts and plugins.

I say this because of firefox.  Firefox is basically the "standard"
extensible GUI program -- I know it's been done before, but never with
as much success as firefox.  It's led to a nightmare of usability
problems.  Some extensions add menu items, some add toolbar icons,
some add toolbars, some add icons or text to a status bar -- it's a
bit of a chore to track down the interface elements for any given
extension.  As an example, I submit the Download Manager Tweak.  Great
extension, but it produces the only sidebar in Firefox without a
keybinding to close it.  It forces the user to hit a tiny button
somewhere in the left third of the window.

Basically, I submit that part of any extensibility framework within
geany needs to tightly control who puts what buttons where.  I'm
partial to what I said earlier: add menu entries as needed.
Extensions with more than one menu entry need to cascade them tro
avoid cluttering the main menu windows.  Each menu entry must have a
keybinding -- even if it defaults to nothing, it should let the user
change it.  As for toolbar modifications, I think they should be
restricted to an "extensions" toolbar; that way installing a
third-party extension or script doesn't disrupt or destroy standard
toolbar buttons.

Geany is a great program.  I'm keenly interested in helping it stay
that way.  :)

Kurt



More information about the Users mailing list