Older blog entries for pbor (starting at number 53)

gedit 2.19.1

First of all, congratulations to Paolo Maggi, who just became father for the second time… I guess that this will leave him little time to work on gedit, but that is surely a more important “release” :-)

I am distchecking gedit 2.19.1 as I write, this will be the first developement release that features the port to the new version of gtksourceview, so to install it you will need gtksourceview 1.90.1 and pygtksourceview 1.90.1

gedit, new highlighting features

Casual gedit users will not probably note any substantial changes, but if you use gedit to code or to write latex or for any other syntax highlighted language you will take advantage of the new features. Chances are that you will also spot some regressions in the highlighting of your favourite language, so please help us improve the .lang files since we do not know the details of all the syntaxes we can currently highlight: lang files are shipped in gtksourceview and are located in $PREFIX/share/gtksourceview-2.0/language-specs.

The .lang file format is documented on the wiki: http://live.gnome.org/GtkSourceView/NewLangFormat

Obviously even if you don’t spot any regression, there are also plenty of improvements that could be made: since most of the lang files have just been converted from the old format, they do not take advantage yet of the new features of gtksourceview. New lang files are also more than welcome.

The gtksourceview upgrade also affects plugins: if you had any plugins using (py)gtksourceview directly, they need to be updated to the new gtksourceview api.

From the UI point of view, the gtksourceview upgrade affects syntax highlighting color configuration: if you ever tried to customize the syntax highlighting colors from the current gedit preference dialog you know how painful that is. You need to set the style seprately for every tag of every language you use… gtksourceview 2 instead supports style scheme files.

At the moment I totally removed the Syntax Highlighting colors configuration page from gedit preference dialog, but we need to put back a way to at least switch style schemes. A style scheme editor would be nice too, but it requires to design a sensible UI… suggestions are welcome. For now you can set the sytle scheme used changing the /apps/gedit-2/preferences/editor/source_style/scheme gconf key and you can add your own style scheme files in $PREFIX/share/gtksourceview-2.0/styles or in ~/.local/share/gtksourceview-2.0/styles.

At the moment just two styles schemes are included in gtksourceview one called ‘gvim‘ (similar to gedit default colors) and one called ‘kate’, similar to kate default colors… I would really love to have at least a dark-background style scheme, a style scheme using the tango palette and an emacs-like style scheme. Please create and share with us your style scheme!

Syndicated 2007-06-25 09:18:48 from Club Silencio

GtkSourceView Licensing: a social networking experiment

GtkSourceView has been living in a licensing limbo for a long time: we want it to be LGPL - most of the code is - but the original version of which only a bunch of lines remain was GPL.
With GtkSourceView 2 finally arriving (I’ll try to write more about that later, see nud’s blog for now) we felt it was time to bite the bullet and try to get relicensing permission from all the contributors.

If you ever sent a patch to gtksourceview or wrote a .lang file and read this, please get in touch with us.

In fact things have been pretty smooth so far, except for getting in touch with Chris Phelps (chicane on irc), one of the original authors of the first version of gtksourceview, since his email bounces. If you know Chris’ new email address or know any way to get in touch with him please let us know.

Even better, Chris, if you are reading this after googling for your name, please contact us! :-)

By the way, this is my first post from blogs.gnome.org: I’m far from a frequent blogger and advogato always suited my needs, but the new ‘blogo’ is so nice that I couldn’t resist giving it a try. Anyway my entries should still appear on advogato, unless I made some mistakes in the rss configuration.

Syndicated 2007-06-19 09:49:21 from Club Silencio

12 Feb 2007

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…

Syndicated 2007-02-12 16:21:15 from Club Silencio

17 May 2006

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

Syndicated 2006-05-17 07:34:28 from Club Silencio

31 Mar 2006

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 :)

Syndicated 2006-03-31 10:17:24 from Club Silencio

20 Mar 2006

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.

Syndicated 2006-03-20 10:08:49 from Club Silencio

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

44 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!