Thomas Martitz | 29 Mar 00:23 2015

[Geany-Users] My non-C plugin roadmap


I was asked to share a bit about my roadmap regarding plugins. I'll try 
to give you a better idea with this post.

My ultimate goal is to implement a clean and maintainable way to support 
non-C plugins, preferably using existing widely used techniques. I 
concluded that libpeas[1] in conjunction with gobject-introspection can 
provide the base for this. Since Geany is not at all prepared for this I 
have several infrastructure which I do want to get merged into Geany. 
When Geany core is sufficiently setup for this, the non-C plugin 
enablement can happen outside the core, as a plugin, to stabilize there.

So, here's the set of infrastructure changes for the core. Please let me 
stress that all of this will happen in backward-compatible manner, no 
existing plugins break as part of this.

- linkage-cleanup (PR#429) - This changes the way plugins access Geany 
API functions. Instead of exporting a pointer to a struct of structs of 
API function pointers, now the APIs are exported directly. This work 
also includes an effort to stop exporting all function (we do this 
currently as a workaround to allow gtkbuilder to work), so *only* API 
function are exported and plugins cannot call internal function anymore. 
This change is also required to allow gobject-introspection to find 
geany functions at runtime (through g_module_symbol()) in the future.
- new API functions for registering keybindings (PR#376). The current 
API functions do not allow context information to be stored and passed 
to the key handler function. This makes it very hard for non-C plugins 
to use these function. So what's  needed are key handlers that get the 
necessary context information. This allows interprepted language plugins 
(Continue reading)

James Brierley | 19 Mar 17:26 2015

[Geany-Users] Lisp improvements

Hi all.

Geany has been as good to me over the past year or two of Lisping as it 
was with anything involving curly braces, but I would be interested in 
writing/contributing code to improve the support for tagging and 

Unless I’m doing something horribly wrong, Common Lisp is not supported 
by the symbol list out of the box the way that Python or C files are. 
So, I take it I would need to write a parser of the type under 
tagmanager/ctags in git — there isn’t one for Common Lisp at present. Is 
this correct? Syntax highlighting for Lisps (for what syntax there is) 
works fine but I would like to work on making the symbol list functional 
as well.

Take care,



James Brierley

Hate democracy? All the more reason to vote:
7th May 2015 | #AnyoneButUkip | Save Britain, save yourself!
Users mailing list
Users <at>
(Continue reading)

Lex Trotman | 17 Mar 23:18 2015

[Geany-Users] Communication reminder

Reminder to all those who are discussing changes that affect others,
like APIs or UIs.

Please discuss the changes on the ML not exclusively on IRC, not
everyone monitors IRC, and time zone issues mean not everyone is able
to contribute.

Do not discuss it on IRC and then dump it on the ML as a decided thing.

Yes the ML slows down the communication process, but then that's
probably a good thing anyway.  Deciding the first thing someone thinks
of is not always the best thing.

Matthew Brush | 12 Mar 10:20 2015

[Geany-Users] ANN: Overview Plugin (Minimap)

Hi all,

I made a plugin that puts one of those little zoomed-out scrollable 
mini-views into Geany, similar to Sublime Text's minimap. It's quite new 
but I think most of the bugs are worked out. If you wanna try it out or 
see it, you can from here:

Matthew Brush
Alessandro Pasotti | 11 Mar 17:45 2015

[Geany-Users] geany on hidpi screen


I'm using Geany on Kubuntu with an hidpi 4k screeen, it works fine
except for the tab close icons and the tree icons (both in the code
window for fold/unfold and the files tree).

Is there any setting for those icons size?


Alessandro Pasotti
Ongun Arısev | 6 Mar 12:21 2015

[Geany-Users] Reverting Geany color scheme to default


I would like to revert the Geany color scheme to the default one that it has when it is installed on the system. How can I do so? Furthermore, is there an easy way to download and change the color schemes? I always got confused when I tried to do it with Geany.

Many thanks,

Ongun Arısev
Users mailing list
Péter | 3 Mar 18:36 2015

[Geany-Users] Matching brace, colon inside

Geany does not find some rather obvious brace pairs. I edited my .bashrc file. Its recognized filetype is
"Config file" 
(I do not know, why.)

For testing, paste this text into an empty file, and issue a "Set Filetype"/Miscellaneous/"Config file" command.

The matching pair sometimes is found, sometimes isn't:

aa {}     good
aa []     good
aa ()     good
aa {:}    bad
aa [:]    bad
aa (:)    bad
  {:}      good
  [:]      good
  (:)      good
{:}       bad
[:]       good
(:)       bad



Users mailing list
Users <at>
Richard Mindorff | 13 Feb 20:34 2015

[Geany-Users] debugging while interacting with program

When using the komodo ide for php I could interact with my program, putting
in data and using checkboxes and other HTML controls while debugging the
code in the IDE.
I would like to do the same thing for a C project. Geany uses GTK+ which has
controls. Can I interact in some terminal  while debugging in the geany ide?
Can I use other libraries like allegro to get controls that I can interact with?
Jiří Techet | 30 Jan 17:18 2015

[Geany-Users] The future of the GeanyPrj plugin


me again :-). With other Geany developers we have been discussing the future of the GeanyPrj plugin. The problem is the original developer behind it has abandoned the project so it is unmaintained now. There are several things we could do:

1. Nothing - i.e. keep it in the plugins repository unmaintained.

2. Somebody volunteers to maintain it (anyone?).

3. The plugin will be removed from the geany-plugins repository.

I would like to discuss the option (3) - while I haven't used the plugin myself much, I think the main reason people were using it was you could see multiple projects in the sidebar (and have them indexed). This is however possible with my ProjectOrganizer plugin now (see the announcement) so the question is whether there is any other use for the plugin. Otherwise I believe ProjectOrganizer offers many more features and displays the project files better so at least from my point of view (which may be biased), I think ProjectOrganizer is more or less a superset of GeanyPrj. (One exception is that with ProjectOrganizer you have to create projects explicitly while with GeanyPrj there's just kind of implicit project specification by pointing it to the directory where you keep projects).

So my preferred choice is (3) but if someone still finds the plugin useful and uses it, we can keep the plugin in the repository.


Users mailing list
Jim Dodgen | 30 Jan 17:12 2015

[Geany-Users] Replace on pop up menu

Is there anyway to add entries to the popup menu (the menu the comes up when I right click the mouse) currently it has search and it would be nice if it had replace.

Jim Dodgen

Users mailing list
Jiří Techet | 30 Jan 16:59 2015

[Geany-Users] [ANN] GProject plugin renamed to ProjectOrganizer + new features


while announcing things, there are also some changes in the plugins I develop. First of all the GProject plugin has been renamed to ProjectOrganizer to make the plugin's name more descriptive. In addition, there are some new features in the plugin, most notably:

* It is possible to add additional directories to the sidebar (which are also indexed). This should address the problem of many users who need to access multiple projects at the same time. Even though one project is still primary for build commands, the additional directories are accessible from the sidebar and indexed so goto tag definition/declaration across the directories. One can also use this feature to add e.g. /usr/include (or probably just its subset) and have access to all the system symbols.

* The speed of indexing has been improved greatly (actually the slow part that has been improved is tag sorting and the way Geany handles updates of the tag array). This part was mostly done in Geany itself so if you are using the GeanyPrj plugin, you should get the same benefits. The parsing speed is about 100 files/s for normal HDD (just because of slow random access time) and thousands of files per second for SSD disks. Once the project is loaded, all the file opens, closes, updates should be instant no matter what the size of the project is.

If you want to try the updated plugin, just compile Geany together with the plugins project from sources on Linux or get the Windows nightlies Enrico has prepared here:



I have also created a new GeanyCtags plugin - it uses ctags to parse a project once and again offers goto tag definition/declaration similarly to ProjectOrganizer. It is meant to be used for really huge projects where the parsing speed of PorjectOrganizer is too slow to perform on every project load. 

Basically if you are using an SSD disk, you won't need this plugin (parsing the linux kernel with 30000 files takes something like 20s) but may be useful with rotational HDDs (it takes over 5 minutes for the linux kernel to parse).


Users mailing list