I just made a test build of Geany Plugins 1.22 for Windows.
A little surprisingly for me, it all worked fine on the first attempt :).
I only had problems loading the Geany-Lua plugin with some strange error
message which I didn't investigate yet:
The error message occurs on plugin loading. I'm not sure whether it is
caused by my system or something else.
If anyone wants to test it, any feedback is appreciated.
... requires an existing Geany 1.22 installation.
Get my GPG key from http://www.uvena.de/pub.asc
I saw this code in src/symbols.c at line 1917:
while (sci_get_style_at(sci, start) != fn_style
&& start < max_pos) start++;
If start >= max_pos then sci_get_style_at will be called (with out of
bounds value?) and then the loop will bail out.
I suggest that the condition is reordered as:
while (start < max_pos
&& sci_get_style_at(sci, start) != fn_style)
Then sci_get_style_at will only be called if start is less than max_pos.
It is just my humble suggestion.
this topic has been brought up already a couple of times, for example on
What do you think about dropping Waf support in Geany and in the
While I was defending Waf in Geany, I somewhat changed my mind. Not
because I don't like it anymore, but I increasingly see the efforts in
maintaining two (to be exactly three for Geany) build systems is too
much. Since the make/MSYS build system support seems to get better and
better due to Nick's and Dimitar's work on it, I thought about dropping
the Waf support. It seems nobody knows it well enough and probably
except for a few users nobody is using it.
(And obviously I don't do so much anymore and also lost a bit interest
in maintaining forever.)
The other thing is that Waf causes often problems for distro packages,
especially for the Debian folks .
So, I'd go the easy way in this case and just remove Waf. Then we only
need to maintain the autotools based build system for non-Windows
systems and the make based for Windows.
For Geany-Plugins, we would need to get something working on Windows but
maybe we could re-use Geany's make based system for Windows here.
What do you guys think?
Get my GPG key from http://www.uvena.de/pub.asc
Now that 1.22 is out, how about removing the MSYS build dependency
under Win~1? I tried to compile Geany with the default MinGW make,
without any MSYS, and there were some easily fixable problems:
cd foo && $(MAKE) -f makefile.win32 && cd ..\..
does not work, probably requires some sh. But if we depend on GNU make
(which seems to be the case, since we're using ifdef/else/endif), it's
easier and shorter to:
$(MAKE) -C foo -f makefile.win32
Linking does not work, because the stock make supports \ only for
variables, not commands. But that's even easier to fix:
= ../scintilla/scintilla.a ../tagmanager/tagmanager.a ../tagmanager/mio/mio.a
$(TARGET): $(OBJS) $(RES) $(STLIBS)
$(CXX) $(OBJS) $(RES) -o $(TARGET) $(STLIBS) $(ALL_GTK_LIBS)
with the added benefit that static library names are not repeated
There is also some inconsistency: CP = copy, but "cp -r" and "cp" at
the end of makefile. The install target can be rewritten as several
-$(MD) and non-recursive $(CP) commands, and no MSYS will be required.
RFC. If we consider this worthy, I can make the required changes.
Attached a little patch concerning the file saving dialog.
I may have missed some use cases, but it works on all cases mentioned in
the commit message.
The main point is about the âRenameâ, the unsaved file one (last commit
message line) is a bonus.
Quentin "Sardem FF7" Glidic
I'm sending my stack of patches against geany again, this time as individual patches. Here's the full list:
[PATCH 01/19] Prevent -Wmissing-prototypes report warning when compiling a plugin
[PATCH 02/19] Add signals for project options dialog opening and closing
[PATCH 03/19] Make the project menu accessible by plugins
[PATCH 04/19] Make it possible to change project patterns by plugins
[PATCH 05/19] Don't be annoying when not necessary
[PATCH 06/19] Make it possible for plugins to change the base directory of msgwindow
[PATCH 07/19] Open the file in the msgwindow even if no linenumber is specified
[PATCH 08/19] When closing tab, return to the document at the top of the MRU list
[PATCH 09/19] Use wider entry for project file path
[PATCH 10/19] New utils function to get relative path from one directory to another
[PATCH 11/19] File name in the project settings dialog shouldn't look it is editable
[PATCH 12/19] Use relative paths in the project files
[PATCH 13/19] Remove the "set" button from the project properties dialog
[PATCH 14/19] Rewrite tab switching queue
[PATCH 15/19] Do not insert --include= when the search pattern entry is empty
[PATCH 16/19] Use project patterns in the FIF dialog
[PATCH 17/19] Make the tab switching dialog a bit more useful
[PATCH 18/19] Use standard include paths for "open selected file"
[PATCH 19/19] Use per document indent sizes
Only some of them are required by gproject - others are just suggestions for improvements. I didn't explicitly distinguish between these two types of patches but it should be pretty clear from the description. There have been some minor changes since my last post - mainly the change of the FIF dialog to contain combo box for pattern selection and there are also some new patches - the detailed description is in the individual emails. Of course many of the patches are suggestions only so further discussion is welcome.
this is my first post so I'd like to thank all programmers
working on geany. it is so close to perfect :) thanks!
I keep my ~/.config/geany dir under git so I can
distribute my environment prefs on all machines
I use. unfortunately there are some config entries
which always collide since they are "local" to the
current machine. those are:
I modified keyfile.c to keep all those in separated
(session/local) file so it can be excluded from git.
diff/patch is against
I'd like to ask for a review of the patch?
thank you and good luck!
Engineering Lead, ePay.bg Ltd.
ePay.bg <cade(a)epay.bg> http://epay.bg
DataMax SA <cade(a)datamax.bg> http://datamax.bg
pgp/gpg key 6F35B214 http://pgp.mit.edu
Does Geany have any kind of automatic code formatter, either in the
core or as a plugin? Looking through the plugins project/website, I didn't
see anything like it, and if not I think I'd enjoy working on it in my free
time, I just wanted to double check before investing a bunch of time.
I guess I'm not entirely adapted to how things are done in the open source
world. I made a pull request at github, when I should have sent you all an
e-mail here first. So, here is the text I wrote there with a couple of
*So, I've been exploring Geany a bit for a little while now, and I must say
I enjoy the IDE quite a lot. It took me, however, a couple of tries before
I finally gave it a real chance. The reason, to be very frank, is because
the application icon gave me the impression that the program has a
made-at-home-hack rather than a substantial IDE suited for all kinds of
programming situations, which I discovered it is. So, I took the liberty of
making a new Geany icon in Inkscape, made a fork and sent a pull request.*
*The idea of this pull request is not necessarily for the community to
merge it with no second thoughts, which I don't believe is going to happen.
Rather, I would like to start a discussion on the role of the application
icon. If, after the discussion, people are happy to use the icon, I'll
gladly let the community use it at leisure. If this discussion leads to the
community switching to another icon, then at least the community saw the
validity of my point. If this leads to the original icon not being
replaced, then at least there was a consideration being made.*
*So, as a discussion starter, I'm here listing the roles and priorities I
believe the application icon should fulfill:*
*1. To single out the application from the crowd.*
*The lamp and the name 'Geany' fulfill this role very well. I guess its
some kind of pun referring to rubbing the magic lamp and using the genie
popping out to fulfill your programming ambitions. Its a simple and
*2. To communicate the ambition that has been, and is being put into the
*I don't believe there is any one programmer who wants to use software that
is dying or lacks a community or company continually backing it up. By
labeling a piece of software with an icon/logo which looks solid,
professional, and artistic communicates that there is enthusiasm behind it.
Take the Mozilla Firefox logo, as a noticeable example. Its elegant,
artistic and simple.*
*As of today most professional looking icons/logos are based on simple
curves and/or shapes to make them explicit and harmonious. They use few,
but carefully chosen, colors. The Geany icon as of today fulfills the color
requirement, but lacks elegance in it's shapes and lines. My suggestion as
a substitute reuses the colors of the original icon, with some slight
adjustments, but strips down the lamp into more basic shapes and lines.*
*3. To communicate the purpose of the application.*
*The Geany icon of today fulfills this purpose very poorly, but so does a
lot of other icons as well. Look at some examples with, in my opinion, well
designed logos: Google Chrome (a ball with colors?), NetBeans (a cube?),
FileZilla (a stamp?). The role of the icon/logo is only relevant as long as
the user has no knowledge of the application, which is why I put it as the
So, that's what I wrote. And in order to be able to have something to talk
about, I've added the .svg files I've made as an attachment. The first
version already got shot down by elextr, so there is a second version here
too. Somehow the second one makes me think of Disney, but I guess that's no
problem. I'm not sure about the colors and the brackets visible in the
second version, and should there be a disc in the background? All
suggestions are helpful.
If you are interested to have that much of a party, it would be fun if
people started to fire up Inkscape themselves and fiddle with what I made,
or conjure up things on their own.
Any one able to tell me why this line fails in plugin and in the
from gi.repository import Gtk as gtk,GObject as gobject,GLib as glib
you can still use import gtk glib and gobject but they are being depricated
in favour of the above and the current versions of glade generate xml for
the new way not the old.