[Geany-Devel] I'm thinking I like Geany...

Matthew Brush mbrush at xxxxx
Sat Mar 9 09:11:45 UTC 2013

On 13-03-08 09:51 PM, Steven Blatnick wrote:
> Thrawn, Guess what I've been working on :-)
> I've got a nearly complete plugin I call "quick-opener" written in C.  I hope you like it.
> I'm not terribly knowledgeable at build files, so if anyone wants to help me figure out how to add it to the autogen.sh and make process for geany-plugins, that would be great.  Let me know what I have to do.
> Here is the code:
> https://github.com/sblatnick/geany-plugins/tree/9ce0a19b39e90ae107621606aa37ffa8cc8dec44/quick-opener

Can you explain what it does? It kind of sounds like one of the things 
the "Commander" plugin does, but I can't tell having not tested it yet. 
Looking back as far as Thunderbird takes me on this thread, it's not 
clear on the term "Snap Open" that the OP used.

> The make script just does the minimum to get it working.  You run it with ./make (it's a bash script).

Having looked briefly at your coding skills, I can assure you that it's 
fully within your grasp to understand how "proper" GNU Make files go, 
it's just a little weird at first. I don't mean to say you should 
understand the full Geany-Plugins build system(s), but I mean in general 
you shouldn't have any problem writing a basic Make file. For example:

     quick-opener.so: quick-opener.o
         $(CC) -o $@ $^ `pkg-config --libs geany`

     quick-opener.o: quick-opener.c
         $(CC) -c -fPIC `pkg-config --cflags geany` -o $@ $<

         cp quick-opener.so ~/.config/geany/plugins/

         rm -f *.o *.so

Not that it matters, I just say for your own interest because I remember 
writing such a shell script as you have made before, not realizing how 
simple a basic Make file could be.

> When I say nearly complete, I mean that you can't configure the plugin yet with directories/files to exclude.  It already excludes hidden directories, certain binary extensions, and starts at the project's working directory.
> I haven't made a pull request yet because I don't have the packaging stuff done (documentation, build stuff I need help with).

Come ask on IRC or here on devel-list with questions. If you can write 
reasonable C code, then the rest is just crusty old m4 nonsense. I think 
everyone has problems groking Autotools and/or Waf, at least at first.

Matthew Brush

More information about the Devel mailing list