The other day I saw the announce by Sven Herzberg about the gutachter tool, so I decided to make a plugin for gedit. The plugin can be downloaded from my github: http://github.com/nacho/gutachter . I hope you enjoy it, and kudos to Sven for making this tool and a so easy to use API.
In this post I want to comment a little bit about the progress on gtranslator. In the past months I fixed several critical bugs and I added a few cool features. Though nowadays I’m not having so much time to invest on implementing big things, I’m just bugfixing. So I was wondering if anybody would like to invest some time in this project helping us to implement some things that I have in mind:
- A new backend for the translation memories using sqlite. Currently we are using libdb and it is becoming a pain to maintain.
- Provide a way to fill automagically the header fields.
- A plugin to provide a glosary (Easy stuff but it would take some time)
- Finish the project manager I made some time ago and maybe deal with damned-lies with it.
- Add some interfaces to be able to open different documents. Right now gtranslator only deals with PO files. Or maybe create some conversors and manage everything with po files internally.
- Seal the API and provide bindings for python or vala.
- Bug fixes in general.
So if you are interested in this project feel free to join us in the #gtranslator channel on GIMPNET to tell you how you can start helping.
I think there was quite some time since my last post about gtranslator. After some months without touching anything on gtranslator I decided to come back to it and fix several critical bugs and I think that right now is in quite a good state. We still have to seal the API and fix here and there but now I think it is usable and quite useful for gnome translators.
About the latest news:
- As you can see we have a new logo!! I think it is really good and I’d like to thanks Ulisse Perusin.
- Removed the subversion plugin as it is quite useless right now. (Hope we will have a git plugin soon)
- I refactored all the api using gtr instead of gtranslator. (Quite a pain task)
- No more weird crashes with the header.
- Now we use libunique so we use a single instance (I’d like to thanks to the libunique devs for their great work)
- And quite a lot of bugfixes.
So if you are a translator please test this program and let us know what you think about it, how you would improve it and file bugs!!
Yeah!! that is our current logo, it looks sooooo old, so we are starting a contest to pick a new one. If you feel brave enought to make us one, here are a few requisites for the logo:
- The logo should be under a free license compatible with gedit’s license
- The logo should be in a format editable with free tools and possibly realized with free tools
- The logo should say gedit, not Gedit or GEdit or gEdit
- The logo should be stylish but simple with not too many colors
- The logo should have a transparent background to fit in different contexts like web-pages, about dialog etc
While you are free to come up with something that looks totally new, here are some suggestions to please some of the maintainers that are going to pick the winning logo:
- We would like to avoid cartoonish logos and cartoonish fonts
- Do not simply take the text-editor icon and stick “gedit” on top
- For historical reasons we would like to keep the current dark red color
Finally, to send us your proposals, you have to send us an email with the logo to: “pborelli AT gnome DOT org”, “jessevdk AT gnome DOT org” and “icq AT gnome DOT org”
Thanks in advance.
Thanks to the great work from John Stowers we finally have updated packages of pygtk, pygobject and pycairo.
So these days we’ve been working a bit on having python plugins working on gedit, and of course we made it!!
You can download the installer from here.
Please test it and let us know which problems you find by commenting here or in the next bug:
PS: The “External tools” plugin as you can imagin doesn’t work on windows.
Even if we don’t blog too much about gedit or gtksourceview, we indeed make some pretty cool things for it. This time I’m going to write about the latest things that we added.
- First of all I’d like to point out gtksourcecompletion, the framework that it was added to gtksourceview to provide some completion features. As you can see in the screenshot above, there we have a plugin using the devhelp api. We also have a plugin in gedit-plugins to provide words completion (completion from the words you already written in the opened files). And for that php lovers we have a completion plugin for it.
- Apart from completion features, jesse added a really cool plugin in gedit-plugins to provide multi editing features. Here you can see a screencast that he made. And a link to his blog post about this feature.
- In the win32 world I finally managed to make python work, the main problem is still pygtk, for some reason the pygtk in the gnome ftp is missing several symbols that I need to make work most plugins, so until we have a working pygtk I can’t really make anything about that. I’ve been investigating about this issue and it seems that right now pycairo is blocking people to be able to build it in visual studio. I hope this will be fixed soon.
- Apart from this, say that we are working in a bunch of things that makes and will make gedit and gtksourceview rock on!! like always.
One week ago I tried to implement the Direct Save protocol on gedit but for some reason I couldn’t find the way to make it work.
The releated bug is: http://bugzilla.gnome.org/show_bug.cgi?id=430798 and the patch: http://bugzilla-attachments.gnome.org/attachment.cgi?id=141835
For some reason when I have to get the name from file-roller, the name I get is “xds.txt” and it should return the name of the file droped from file-roller instead, kind of weird as the func I use for getting this was borrowed from nautilus. Apart from that the patch seems to work fine, it sets the url where I want to make file-roller extract the file and it is extracted ok. If anybody knows how to fix it, help would be appreciated.
This year I decided that instead of looking for a summer job in Spain, I would go to a foreign country to learn some english and to work in something different to computer engineer. So I went to Malta with some friends. There, I found a job as bartender, prostituting myself for a few € but I think it worth it because it was really funny and I met a lot of people. As you can see in the photo bellow, that’s me in my bar of the Empire disco pub.
Apart from working all the summer, I made an English course too, it was awesome being in a room with so many people from different countries. I liked a lot that experience.
I’ve to say that I enjoyed the summer too, mainly in Malta what you have to do “every day” is going out. Going out every day you’ll find each pub or disco, full of people. The main problem is that the party ends at 4:00 as the police don’t allow to have the volume of the music loud from that time. I made some turism too, there aren’t too many places to visit, as malta is not so big but well, as you can see in the photo bellow that’s the Blue Lagoon, nice place if there wasn’t so many people.
I made a few crazy things too, one of the things was jumping to the water from a really high place. It was scaring but funny too.
In relation to free software I’ve been working on gedit like always, not too much, some bug fixing, bugzilla cleanup and so. Haven’t had too much time to invest on it. That’s something I’ll try to change as we want to make some cool things on it for the next cycles.
As you know we ported some time ago gedit to windows, so I’m writing this for saving you some time in case you wanna port your own application.
So, what should be done for porting you application to windows?
- First, follow the great instructions armin did. As you can see, you have to make use of mingw so you can build/use the needed dependencies for your application. That instructions are done for subversion, so now that we are under git, you will have to download msysgit (this is the one I use) or any other git client.
- Once you have mingw working, try building you application. For making this in gedit, I run: am_cv_python_pyexecutedir=/c/Python25/Lib/site-packages ac_cv_path_INTLTOOL_PERL=/c/Perl/bin/perl GMSGFMT=msgfmt ./autogen.sh –disable-spell && make && make install
- If you didn’t get your application built, check the build errors. The main reasons for don’t having working this, is because you are using deprecated dependencies or dependencies that aren’t ported to windows, so GET RID OF THEM! In our case we had to add some ifdefing for not building bacon and for using the gio saver/loader instead of the mmap.
- If you finally got the program working on mingw the pain is not yet ended. Questions like:
- Why don’t we have plugins working?
- This problem is because windows needs some flags for building the dlls. What I had to add was:
PLUGIN_LIBTOOL_FLAGS=”-module -avoid-version -no-undefined -mwindows -Wl,\$(top_builddir)/gedit/libgedit-\$(GEDIT_API_VERSION).a”
-no-undefined (needed for dlls) -mwindows (needed for not showing a terminal when you execute the application and -Wl,\$(top_builddir)/gedit/libgedit-\$(GEDIT_API_VERSION).a because is needed to build directly with the library we use in gedit.
- Why don’t we have an icon?
- In this case this is because the icon in windows is added on build time. So how can you fix that?
In gedit we created the .ico file and a gedit.rc file.
Then with this file you will have to add to your Makefile.am something like this:
$(WINDRES) -i gedit.rc –input-format=rc -o gedit-res.o -O coffgedit_LDADD += gedit-res.o
- Why don’t we have plugins working?
- After doing this you could start thinking about creating your installer. For doing this we’ve chosen Inno Setup, mainly because it was the one used in glom. For creating the installer we created two scripts build-installer which is the one that creates the directory with all needed files and dlls and call the compiler for building the installer, and gedit.iss.in that it is the one used by the inno setup compiler for creating the installer.
- So great we have an installer that should work, but Hey it doesn’t!! Why?
- This is because we were using variables like DATADIR that gets the place where our pixmaps and other files should go. But hey, now we have installed our application in a different place that it was when we built it with mingw, so we need to get this place in a different way. In gedit we created several funcs for doing this. You can find them in gedit-dirs.ch. What we mainly do is getting the root directory with the func g_win32_get_package_installation_directory_of_module in case we are under windows and create the right path from it.
- Finally, if you use GConf you are gonna have another problem. You have to setup the environment variable PATH at runtime. In gedit.c you have the func setup_path (borrowed from evolution) that makes that.
If you were able to read this, thanks! I hope this helps someone, I missed something like this when I worked on the gedit port.
This week I’ve been porting gtksourcecompletion to gtksourceview, so now you can use it in the branch gtksourcecompletion:
svn co http://svn.gnome.org/svn/gtksourceview/branches/gtksourcecompletion gtksourcecompletion
Here you have a screenshot of the test case: