I've been happily using Geany for a little while now, coding mostly in
Python. I have a couple questions:
1. For a dark color scheme, eg Vibrant Ink, how do i get the active
line to not be highlighted. White text + white highlighting =
invisible text on the line I'm trying to edit. Arrgh!
2. Any debugger advice for python? I am finding winpdb is pretty slow
and actually crashes on my machine a fair amount.
I'm on a windows 7 64 bit installation.
A musician must make music, an artist must paint, a poet must write,
if he is to be ultimately at peace with himself.
- Abraham Maslow
in the last couple of weeks I've been playing with Geany on OS X and got it
to the state where Geany is fully functional, integrated with OS X and have
a self-contained app bundle so Geany can be distributed without any
additional external dependencies. Apart from the few limitations listed
below I'm not aware of any problems.
This is where I would find it very useful if the brave souls among you who
are not scared of running unknown binaries from the Internet and who use OS
X could try out the binaries I uploaded here:
Any feedback is welcome.
* Integrated menubar
* Opening files from Finder using Open With
* Opening files using drag and drop to Geany icon
* Double-click on project file in Finder opens the project
* Retina font rendering
* All basic plugins (without extra dependencies) and themes included by
* The VTE terminal is missing (VTE doesn't work, seems to be a problem in
* Scrolling the editor window is somewhat slow using the mouse
* OS X 10.7 or higher (I have tested just with Yosemite)
* x64 processor
I will try to get all the necessary patches into Geany mainline (some are
already being reviewed, some - the integration ones - I haven't published
yet) and will make a github project with the app bundle creation
instructions + all the necessary config files, themes, icons, etc. I also
plan to provide OS X binaries for all the future Geany releases.
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 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
to register keybindings.
- A new plugin loader mechanism (a thread about this is already running
on the devel list): Similarly to the keybindings, the plugin_* functions
implemented by plugins do not carry any context information, making it
hard for non-C plugins to implement them properly. Therefore a new
loader mechaism is needed so that the context information can be passed.
The loader works such that an API function is called to register a
function pointer table. This is crucial to possibly support plugins that
register other plugins (so called pluxies) which is simply not possible
with the current mechaism. The current loader is kept for backwards
compatibility (but will not receive new features).
- New API functions to allow plugins to act as proxy plugins (pluxies).
These pluxies can then implement whatever is needed to execute code in
the in the actual plugin, like invoking an interpreter or firing up a
java vm. The pluxies call the new loader's API function on behalf of the
actual plugin. The API function to implement the pluxies is a simple
geany_register_pluxy() that, much like the normal plugin loader, that
pluxies use to pass a function pointer table which implements the
necessary hooks (probe(), load() and unload())
Once this is in place in the core, my roadmap contains the following
items, which are implemented (at least initially) in a plugin, so no
further changes to the cure should be necessary.
- Modify geanypy to use the new pluxy APIs. This will finally enable
geanypy to show the python plugins in the normal PM dialog and support
- Create a new pluxy that supports libpeas-based plugins (codename:
peasy). Peasy will use libpeas to load plugins and their metadata.
- Part of the peasy work is also work on creating vala and
gobject-introspection bindings for Geany's API functions, so that we can
This is my roadmap so far. It changed quite a bit since I started this
non-C-plugins effort a year ago, but I hope it will be good for
everyone. Please share your opinions on this or ask questions.
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
Hate democracy? All the more reason to vote: http://bit.ly/1ErcOTx
7th May 2015 | #AnyoneButUkip | Save Britain, save yourself!
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
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.
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.
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?
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:
Sorry for my late reply -- I just turned on Digest mode so it took a
while to see your message.
1. I have Geany 1.23, Ubuntu 12.04. Yes, my file is .py
I went into Geany and did these extra things: Turn off "Tab key indents"
in Indentation, Turn on "Snippet completion" in Completions.
Still, when I hit a tab key, it just inserts white spaces (sometimes 1,
2. What's the best way to raise interest in a feature like Code minimap?
I looked at the Feature Request page on SourceForge and they seem to
request mainly support for miscellaneous language. Whereas some of the
slick Sublime-like features (minimap, multiple cursors, put both quotes
around a highlighted word) would seem to be universally appealing.
Thanks, - Anh
> Hi all, I recently stumbled upon Sublime Text 2 and was pretty
> impressed with its Snippet completion and Code minimap. I'm delighted
> to find out that Geany has snippet as well, but hitting Tab (my
> snippet completion keybinding) does not do anything for me... I did
> reload configuration + close/restart Geany From my snippets.conf
>> # Optional keybindings to insert snippets
>> # Note: these can be overridden by Geany's configurable keybindings
> There is also the appropriate section for Python snippets
>> for=for i in xrange(%cursor%):\n\t
>> if=if %cursor%:\n\t
>> elif=elif %cursor%:\n\t
>> while=while %cursor%:\n\t
>> try=try:\n\t%cursor%\nexcept Exception, ex:\n\t
>> with=with %cursor%:\n\t
>> def=def %cursor% (%cursor%):\n\t""" Function doc """\n\t
>> class=class %cursor%:\n\t""" Class doc """\n\t\n\tdef __init__
>> (self):\n\t\t""" Class initialiser """\n\t\tpass
> The second issue is that I'm wondering if there's code minimap planned
> for Geany? I'm surprised that Google only turns up one such request.
> Thank you all,
> Best regards,
> - Anh
> Message: 2
> Date: Sun, 1 Dec 2013 13:01:58 +1100
> From: Lex Trotman <elextr(a)gmail.com>
> To: Geany general discussion list <users(a)lists.geany.org>
> Subject: Re: [Geany-Users] Snippet completion not working + is code
> minimap planned?
> Content-Type: text/plain; charset="iso-8859-1"
> On 1 December 2013 11:43, Anh <ale(a)colgate.edu> wrote:
>> Hi all,
>> I recently stumbled upon Sublime Text 2 and was pretty impressed with its
>> Snippet completion and Code minimap.
>> I'm delighted to find out that Geany has snippet as well, but hitting Tab
>> (my snippet completion keybinding) does not do anything for me... I did
>> reload configuration + close/restart Geany
> What version of Geany? What operating system? So you type for<tab> and
> nothing happens? Is the window you are in a Python filetype?
>> From my snippets.conf
>>> # Optional keybindings to insert snippets
>>> # Note: these can be overridden by Geany's configurable keybindings
>> There is also the appropriate section for Python snippets
>>> for=for i in xrange(%cursor%):\n\t
>>> if=if %cursor%:\n\t
>>> elif=elif %cursor%:\n\t
>>> while=while %cursor%:\n\t
>>> try=try:\n\t%cursor%\nexcept Exception, ex:\n\t
>>> with=with %cursor%:\n\t
>>> def=def %cursor% (%cursor%):\n\t""" Function doc """\n\t
>>> class=class %cursor%:\n\t""" Class doc """\n\t\n\tdef __init__
>>> (self):\n\t\t""" Class initialiser """\n\t\tpass
>> The second issue is that I'm wondering if there's code minimap planned for
>> Geany? I'm surprised that Google only turns up one such request.
> No, its not planned. Its probably implementable as a plugin if somebody
> wants to do it.
>> Thank you all,
>> Best regards,
>> - Anh
>> Users mailing list