Older blog entries for pbor (starting at number 47)

03 Mar 2006

Angedit

clubfan has written a new gtksourceview based editor for anjuta reusing gedit code. I am really happy to see this work and I’ll try it out soon. All the hard work done in the last months to make the gedit code clean and nicely split in GObjects pays off since apparently reusing it for anjuta has been pretty easy. Obviously all the cut&pasting is a subotimal solution since makes sharing fixes harder, but as a first step I am happy that at least we avoided to reinvent the wheel once again.

I also noticed that every object was renamed to the use the “anjuta” prefix… while in general properly namespacing the code is a good thing I would have preferred if the “gedit” prefix was kept: it would be one less problem when it comes to merging bugfixes.
I also suggest to keep a file in cvs with the date of the gedit “snapshot” you used so that you can see more easily what needs updating.

In the future we should really split things in a real library and push some of the bits in lower part of the stack like gtksourceview and gtk itself.

PS: Johannes, the comments are not in spanish, they are in italian and are just a few leftovers from developement discussions we had and that we plan to cleanup as soon as possible :)

Syndicated 2006-03-03 17:31:58 from Club Silencio

27 Feb 2006

Steve Frécinaux wrote an article in the style of davyd’s preview showing all the new stuff that will be in gedit 2.14.

check it out!

In the mean time gedit 2.13.92 was released, bug reports and feedback in bugzilla are more than welcome.

Syndicated 2006-02-27 00:29:05 from Club Silencio

05 Feb 2006

GNOME icons

I totally agree with davyd here. I can understand some of the reasoning behind not using words inside the icons (for instance i18n) and behind the reduction of the total number of icons, but I wonder if we are throwing out the baby with the bathwater.
The recent unilateral icon changes also affect gedit badly: we place an icon of the corresponding mime type in the tab alongside with the filename. However with latest gnome all you see is a “plain text” icon for every file, completely defeating the purpose of the feature and making our work useless.

This may seem a minor detail, but it’s the sort of little detail and polish we put a lot of attention to and that now it is wasted… beside I found the feature pretty useful as it helped me to quickly distinguish different kind of files (typically .c, .h, and Makefiles) when glancing through the tabs.

On the positive side, the new “external tools” plugin by Steve Frécinaux included in gedit 2.13 to replace the aging “shell command” plugin, totally rocks: it allows to run shell scripts from gedit using the current document or document selection as input and placing the output either in the bottom panel or in a document. It also sets some env vars like the current document name and uri so that they can be used in the script. Here is a small gif screencast of gedit using the plugin (written in python) to launch a shell script to launch zenity to display a dialog :)

Syndicated 2006-02-05 10:57:41 from Club Silencio

10 Jan 2006

Search Goodness

No, I am not talking about beagle, I am talking about some really nice polish that went into gedit search interface recently.
paolo added highlighting of the matches and Steve Frécinaux (who by the way has been rocking on the plugin front!) contributed a patch to address some of the problems with the new interactive search UI. Now using it is a real pleasure: you hit ctrl+K, type the some letters (it finds-as-you-type), use arrows (or the mouse wheel) to quickly cycle through the matches and then either hit Esc and return to the original cursor position or Enter to move to the current match. With Shift+Ctrl+K you can clear the highlighting.

For those wondering why we did it this way instead of a firefox-like search bar and why we still have the search dialog and why $(your_question_here) here and…
here are some of the reasons:

  • I don’t like the search bar :)
  • We experimented with many UI variants on the branch, including a bar at the bottom, a bar at the top and a side pane and we were not satisfied with them. Keeping the dialog (which at least is a well known interface) among other things allows us more flexibility in the future since given the time constraints we didn’t want an half-assed UI now and be forced to change it again in the next cycle.
  • Incremental search is very useful, but doesn’t solve all cases and doesn’t work well for search&replace so we need two complimentary UIs
  • The new search may be a bit undiscoverable since it can only be activated through the keyboard, but that’s not too bad given that it is an advanced feature and that for the casual user the search dialog will do just fine. If someone just wants to search a word and uses the Search menu we don’t want to overwhelm him with the choice of which search UI to use.
  • The interactive search doesn’t take any space away from the text, it doesn’t cause unwanted scrolling and reflowing and it doesn’t cover the matched text
  • Did I mention that I don’t like search bars?

By the way, in the screenshot you can see some cairo sweetness courtesy of Jeroen: the right margin alpha overlay… however it seems to cause slowdowns on some videocards/drivers combination, so we are still discussing it.

Update: company sent me this awesome screen record (1.7 MB) of the incremental search done with his brand new screen recorder byzanz.

Syndicated 2006-01-10 18:45:48 from Club Silencio

20 Dec 2005

TextMate, here we come!

I know there are many people who like TextMate quite a bit, especially since it’s featured in the Ruby on Rails screencast. If you scroll down their page you’ll see that one of their killer features is “Expand triggers to full snippets”.

Today jessevdk showed up in #gedit with this super sweet present: a python plugin for gedit that let you do more or less the same, record any snippet and then automatically insert it: a small demo (ogg, 189 Kb, courtesy of Istanbul) it’s worth a thousand words.

Syndicated 2005-12-20 22:36:00 from Club Silencio

12 Feb 2007 (updated 12 Feb 2007 at 16:21 UTC) »
Sardegna

It's clear regular blogging it's not my thing... Oh well. Currently I am in Sardegna for work and I'll be here for most of the month. This also means no internet out of work hours. If any fellow gnome user/developer in the Cagliari area wants to get in touch for a beer and a chat feel free to send me an email.

gedit

I just released gedit 2.17.5 for the second GNOME 2.17 beta. No major changes in gedit in this release cycle, but a good deal of bugfixes and little improvements. Beside it's great to see the third party plugins community very active: every day new plugins pop up and not just developer oriented ones, but also for translators, latex users and so on.

There is still a known major crasher bug in the current release of gedit, which is due to the use of mmap. It turns out that mmap is not as beautiful as some depict it: it makes very hard to deal with I/O errors, which are not so rare with CDs, floppies etc. The bugreport now has a patch that seems to work, but it involves catching SIGBUS signal etc and C signals scare me, so I want to double check it before committing it. If any C gurus have advices I am all ears. Long term we should just replace the current document-loader object with one using GIOChannels which also gives us the opportunity to improve encoding conversion. In fact we already have a first cut of such code, but we are not sure that trading a known, fairly rare crasher with an unknown set of bugs this late in the 2.18 cycle is a good idea...

Just a quick note to say that thanks to nud, the gedit-plugins module is back from the dead. It contains a bunch of useful extensions that are not included in the normal gedit tarball. Read nud's entry for the details...

It's great to see gedit plugins pop up on planet gnome. I am already addicted to Richard's devhelp plugin and seeing actual code for a collaboration plugin is awesome: remote editing is something we have talked about more than once in #gedit, but it looked like a fairly large task so we didn't investigate the details yet. Leveraging Python and Twisted, jdahlin managed to create a first prototype in a handful of lines of code!

Speaking of plugins, Steve and Jesse agreed to maintain the gedit-plugins module which will contain a collection of useful plugins not included in the main gedit package. Inclusion of plugins in that module will be fairly liberal so feel free to get in touch we them if you want your plugin included[¹].

I feel this is a good time to give some visibility to some of the good plugins that people have developed in the last months:

  • Marcus Leyman developed an awesome FileTree plugin. This is something we really want to include upstream and David Jonas has been working on Leyman's code to refactor it into a GtkWidget and adding some features to it.
  • Gábor Fekete has a CTags plugin. He is looking for someone to help him out, so if you are interested...
  • Frederic Back created a couple of useful plugins , in particular a python class browser
  • Markus Jonsson has a plugin to export an html file with syntax highlighted code
  • Guillaume Chazarain did a word completion plugin
  • seahorse includes a gedit plugin to encrypt documents
  • Mikael Hermansson has a small collection of plugins
  • Marcus Lunzenauer developed a plugin to add handy editing features like delete line etc
  • Probably more I forgot about... feel free to remind me :)

Thanks to all of you guys!

[1]: you still need to help them maintaining it, they are not superhumans :)

displaying system info

I saw on planet kde a screenshot showing system information when you click on 'Computer'. I agree that it is nice to offer the user easy access to that information and the screenshot is definately visually pleasing. However I doubt it's useful to display all that stuff every time I open the 'Computer' folder and some of the items in the screenshot look fairly unrelated (e.g. CPU specs and common folders).

I think that a nicer place to put some of that info is in the Properties page that you get when right clicking on 'Computer' icon in nautilus, so yesterday evening I put together a quick hack with the awesome nautilus-python to prototype the idea:

Code is here in case anyone would like to play with it. It sure needs some more 'bling' (memory info and pretty icons), also I guess it would be better to fetch some of the info from HAL instead of parsing /proc, but hal-device-monitor shows all 'unknown' for the CPU on my system so I haven't tried to use it.

3 Mar 2006 (updated 3 Mar 2006 at 17:31 UTC) »
Angedit

clubfan has written a new gtksourceview based editor for anjuta reusing gedit code. I am really happy to see this work and I'll try it out soon. All the hard work done in the last months to make the gedit code clean and nicely split in GObjects pays off since apparently reusing it for anjuta has been pretty easy. Obviously all the cut&pasting is a subotimal solution since makes sharing fixes harder, but as a first step I am happy that at least we avoided to reinvent the wheel once again.

I also noticed that every object was renamed to the use the "anjuta" prefix... while in general properly namespacing the code is a good thing I would have preferred if the "gedit" prefix was kept: it would be one less problem when it comes to merging bugfixes.
I also suggest to keep a file in cvs with the date of the gedit "snapshot" you used so that you can see more easily what needs updating.

In the future we should really split things in a real library and push some of the bits in lower part of the stack like gtksourceview and gtk itself.

PS: Johannes, the comments are not in spanish, they are in italian and are just a few leftovers from developement discussions we had and that we plan to cleanup as soon as possible :)

38 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!