I have recently tried geany and I am really surprised of the work done
in this "small" IDE. It's definitely the nicest / most intuitive IDE I
have ever tried.
And now about the problem. I use to program a lot in fortran.
Unfortunately I found out that geany doesn't distinguish between fix and
free fortran format. After a short look into the scintilla part in geany
sources I realized that only the free format lexer of sintilla is
currently linked and used in geany (lmfortran and not lmf77 of
But that's not really the problem. The problem is that the chosen
scintilla free format lexer seems to apply on everything between column
7 an column 72, which is a fix format convention. That means the source
code is truncated between the 7th and 72th column, like it was fixed
format and then highlighting is applied using the lmfortran scintilla
lexer like we had fortran free format source code. The same problem is
related to folding (because of truncating everything before the 7nth
As result of this inconsistency neither fortran fix format nor fortran
free format is being highlighted and folded correctly.
About the solution.
At first one should repair the fortran free format by not truncating the
code lines. Or rather truncating them from the first column up to the
column defined in geany as maximum line length.
In the menu
Document->Set filetype -> Fortran Source File (F77)
the specification (F77) has also to be omitted (actually this statement
is anyway not 100% true).
As Compiler and Linker the "g77" option in "filetype.fortran" should be
replaced by "g95".
Most users (me too) would be happy with only this modification. Anyway
most fix format fortran code was written in a period where not only text
highlighting but even color monitors were scientific fiction.
In a second step, in order to also repair the fix format representation
one should define two distinct filetypes one for the fix format and the
file extensions *.f, *.for, *.ftn and *.f77 and one for the free format
and the file extensions *.f90,*f95,*.f2k.
For the fix format filetype the lexer module lmf77 of LexerFortran.cxx
should be linked instead of lmfortran.
The g77 compiler should be used for compiling and linking.
SciTE currently treats fixed and free fortran format correctly. It would
be useful to compare.
For the implementation of any solution for the problem mentioned here I
am always willing to help. I could test a solution or I could work on a
solution if I had some advise where to begin and what is your opinion
about my suggestions.
I installed Geany on Windows but I cannot compile anything. I get the
"06:48:32: Process failed (Failed to execute helper program (No such file or
I ran Geany -d from the command line, but there isn't any difference, and
the error message is almost the same:"
"g_spawn_async_with_pipes() failed: Failed to execute helper program (No
such file or directory)"
Then I found out that Geany also needs a compiler (well, how was I supposed
to know that? When using Visual Studio I don't need to install any
In any case I installed MinGW, and i set the path to the g++.exe in Geany,
and still the same error.
This was the path to the compiler: C:\MinGW\bin\g++ -Wall -c "%f"
I also installed cygwin32, and set the path to its g++:
C:\cygnus\cygwin-b20\H-i586-cygwin32\bin\g++ -Wall -c "%f"
but again the exact same error.
I don't understand why is it so complicated to get to compile a simple
"hello world" program.
If anyone has any idea, I would really appreciate it.
It would be very nice if Geany would use the path selected in the file
browser as the current path. Creating and saving a new file doesn't require
the user to browse to the desired location then...
I'm running into some difficulties compiling geany 0.13 on ubuntu
(xubuntu to be exact), and I'm hoping someone can help. This is the
error that I'm seeing when configuring:
checking for GTK... configure: error: Package requirements (gtk+-2.0
>= 2.6.0) were not met:
No package 'gtk+-2.0' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables GTK_CFLAGS
and GTK_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
Running the command (seen in another thread):
ldd `which geany` | grep gtk
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb7c0e000)
Does anyone have any ideas? AFAIK, I have gtk2 installed, but I'm a
relative noob when it comes to linux, so I could easily be wrong. Any
help would be greatly appreciated!
I need to loop all supported geany filetypes in my geanydoc plugin (http://repo.or.cz/w/geanydoc.git).
filetypes_get_from_uid() is just what I need. Please add it to plugin api. Patch attached.
Also I notice filetypes_get_from_uid() is written somehow strange. Since "id" field also act as pos in filetypes array I think it is not necessary to loop filetypes every time. Second patch use simple if to do job.
Today I desided to see if Arch linux can help me in building custom linux distributive, and I encounter pitfall.
Step to reproduce:
1) Install Arch
2) Install geany
3) run geany (It remember that my make_cmd is "" ;-) )
4) Install make
After this step "make" support is still broken since make_cmd firmly set to "". Even more it dangerously try to execute "all" or any other custom build target in sh. I think it is not very nice.
Here is two patches, each solve the problem:
1) If we get "" from settings try to find default tool in path.
2) If tool cmd is not set in config just use default value without any manipulation with g_find_program_in_path()
If we can find it with this function, then usage without full path will work too. So it should not be too smart.
As for me I like 2 solution better.
while I was working on a website and added some of these little neat
button images, I thought it would be cool to have one for Geany, too.
So, I searched a button generator and created one.
The result is attached. It's not ideal and probably can be done better
but it's enough for me.
If anyone like to use it, feel free to grab it.
Get my GPG key from http://www.uvena.de/pub.key
I installed Geany on Ubuntu, and I have a small problem:
For some reason Geany cannot build code from a project, it gets permission
denied, and I noticed that it tries to access a root folder.
Why does it want to access that folder? If however, I just open a code file
it compiles & builds right away, no problems. I just thought that creating a
project would be better, but I can't understand why the permission denied
message, and why is it going in /usr/bin/lib or something like that (I'm at
work now, so I can't test.)
I successfully installed Geany at work on Windows 2000.
The reason is that I want to work on the same code at home on Linux and at
work on Windows.
The program starts, and I can work on the code. However there is one
problem… I cannot compile.
When I click compile I get the following error:
13:50:06: File C:\USERS\personal\test1\test1.cpp opened(1).
13:50:07: Process failed (Failed to execute child process (No such file or
I did download and install the most complete version of the binaries, and I
also tried installing the GTK. Still no success.
The files compiles easily on Linux.
Thank you very much for your time!
As mentioned in my previous posting, I have spent some time to try 0.13 new
project features. While starting to test, I've found to smaller glitches.
* vcdiff: if the CVS access uses SSH, the passphrase entry is invible. If I
call geany from the shell, I'm able to enter the passphrase there.
* enforce the extension of the project file. I've edit the filename first,
and forgot the extension. After this, ".geany" got lost.
* opening a project automatically closes all files from outside the
the project, if the file was loaded previously to the project. After
closing the project, these file got loaded again.
Now I load the project first, and than the "other file". After closing the
project, the "other file" is closed too. This is also the case, if Geany
is closed with the project and the "other file" open. After the new start,
all files are open. But again, closing the project will close the
"other file" too!
Is this a bug?
But now the notes on the project management.
* I need to switch between different projects. It would be
good to have a sidebar with all projects listed. The project properties
should have a checkbox to hide a (inactive) project in the sidebar. It
therefore must be visible in the "open project" dialog.
All files from outside these projects can be automatically added to an
"virtual" project 'unmanaged'. So the user can fast toggle between a
project and the "other" files.
* The tabs with the opened files and the "documents" sidebar allways shows
the loaded files of the current project. To make access even easier, the
"documents" sidebar could hold all of todays used projects as special entries
(i.e. as bold text). Maybe this highlighting could be used for the
"projects" sidebar to.
* The "projects sidebar" or the main toolbar should have a "drop down" box
with a list of "release flavours". The list can be fix or may be part of
the project properties. The handling of these "flavours" is done in the
makefile. To make the change of a flavour visible, Geany should remove
a flag file in the project director. This file should be defined in the
project properties. As default .build-stamp can be used. Without this file,
a "make clean & make" is performed (by the makefile) to force a rebuild.
The only thing Geany has to do: (1) if the project properties defines a
"stamp file", this file must be removed when switching the "flavour".
(2) The project properties must be extended to hold configurable list of
"flavour" stings. (3) The selected flavour must available as macro for
the make command (of the project). So it will be passed to make, which
will do all the work. This means there is no makefile generator.
I personally use the flavours "DEBUG", "BETA" and "FINAL". I pass them as
variable RELEASE to make (i.e. make RELEASE=DEBUG). This is handled inside
* one last thing for now ;-) My old Laptop has a screen resolution of
1024x768. It would be great to have icons instead of text as lables for
the tabs of the sidebar.