[Geany] Modifying the document browser's behavior

Nick Treleaven nick.treleaven at xxxxx
Wed Feb 27 11:57:55 UTC 2008


Hi,

On Mon, 25 Feb 2008 12:45:50 -0500
"Adam Plumb" <adamplumb at gmail.com> wrote:

> Editpad has a sidebar file browser that is a mix of Geany's Documents
> sidebar + the file browser plugin.  That is, it only shows open
> documents, but it reveals which directory each file is in, like so...
> 
> includes
>       pdf
>          - pdf.php
>    - file.php
>    - http.php
> - index.php
> - something.php

Sounds good, I wonder how it knows what directories to prune -
e.g. for /home/user/code/project/includes presumably all the parent
dirs are stripped. I guess it could remove any parent paths which
appear in all documents.

> So if you're working on files in different directories, it gives you a
> visual representation of that, rather than a flat list of open
> documents in the Geany Documents sidebar.  And it only shows files
> that are open.

OK, so the feature would be like an enhanced Documents sidebar tab, not
for browsing the file system.

[...]
> I was wondering if this functionality already exists in either Geany
> or in a plugin.  If so, I haven't been able to find it.  If this

It doesn't exist, at least not in the core (and no plugin authors have
responded yet, so probably no plugins do it either).

> functionality doesn't already exist, would it be better for me to
> look into making a plugin for it?  I haven't actually opened up the

Personally I think this would be nice to have in the core.
@Enrico: what do you think?

> geany code yet, so I don't know much about what is going on
> internally.  But I would appreciate some steering in the correct
> direction as to the best way I could implement this.

I think this can be done by modifying the documents GtkTreeView, which
currently uses a flat GtkListStore to use GtkTreeStore. It may require
some code refactoring also. This code is in src/treeviews.c.

Please read the HACKING file for some notes about the codebase, and if
you have more questions just ask ;-)

Regards,
Nick



More information about the Users mailing list