Pondering the mystery…

Terminator 0.13 released!

June 23rd, 2009 cmsj

I’m very pleased to announce the release of Terminator 0.13!

You can find the download on Launchpad or see more at the Homepage. Enjoy!

Recent FOSS activities

March 10th, 2009 cmsj

I’ve not been doing a huge amount of work on Terminator recently – I have to be honest and say that a lot of the fun stuff is already done and behind us, and it’s just got a couple of features before it’s as complete as it should be, also it’s now well over 2 years into the long-slog towards the often-marvelled-about decade it takes for a piece of software to be truly mature.
That’s not to say that I haven’t still got a burning interest to do good works in the FOSS world. Recently I’ve been poking around at other things. I’ve got a patch in GNOME’s Bugzilla which fixes the stupid bug where mailto: URIs get mangled when you open them, and yesterday I submitted a branch to the GNOME Do folks which adds a plugin for users of Request Tracker (being a sysadmin, RT rules my working life).

Hopefully both will get merged soon! Now I need to figure out what I should poke at next in 2009 (my rough aim for the year being to produce more and consume less).

Terminator 0.12 released!

January 21st, 2009 cmsj

I’ve just uploaded a new version of Terminator!

This time we merry band of elves bring you a delightful mix of bug fixes and new features. Here’s the change log:
* Bug fixes
* Simultaneous typing support
* Directional terminal navigation
* Improved search UI
* Graphical Profile Editor
* Bug numbers for launchpad.net are now URLs

Head over to the homepage or Launchpad for the goodness. I’ve already pushed out source packages to the Ubuntu PPAs, which should be spinning up buildds soon, so expect binary packages shortly. I’m sure we’ll filter into Debian, Ubuntu Jaunty, Fedora, FreeBSD and more soon enough :)

New Terminator feature: Directional terminal navigation

December 20th, 2008 cmsj

One of the nice side effects of being at an Ubuntu Developer Summit is the interesting conversations you have with people outside of the sessions themselves (which, as a sysadmin present to support the event itself, I was not particularly involved in).

One such conversation was over lunch in a busy Google canteen with Kees Cook, one of our rocking security engineers and a thoroughly decent chap. After a while we came to the subject of Terminator and some of the features we’d like to implement, the ones that have been requested and we’re not particularly motivated to work on, and the odd ones.

I was trying to remember the things people have asked us to add, that for one reason or another we probably aren’t going to and mentioned one about the ability to navigate between terminals in a directional way: That is, rather than doing Ctrl-Tab to cycle through the terminals in the order they were created, you could press something to move to the terminal to the left, or above, right or below the currently focussed one.

On the surface it sounds like a good idea and probably not too tricky, but only if you think from the point of view of a grid. That really would be easy, but our UI is produced by way of a tree structure, not a grid. This means you need to do some proper thinking to figure it out. Kees’ face lit up and he said something like “that sounds like a graph theory problem!” and expressed an interest in working on it.

I’m very glad to say that in just under a week after we all went home from UDS, I’ve just merged his results into trunk.

Thanks very much to Kees for his code and helpful suggestions (such as resurrecting Marcus Korn’s simultaneous-typing branch, which I did one evening at UDS – rewriting it and then merging it into trunk). Also thanks to the other Terminator users I met there :)

So that’s two new features, although not really the big ticket ones that are holding back 1.0 ;)

Using inotify in a pygtk application without pyinotify

October 24th, 2008 cmsj

I am lazy. There’s no denying it, it’s simple fact.

That means, for example, when I am working with pygtk and I look at the API for pynotify, I am sad, because it’s a polling API and I hate polling.

What I like is GTK’s event model. I like telling it what to run when things happen and letting it take care of all the pain for me. Obviously it’s possible to write some code which will do the polling and then trigger an event, but that compromises my freedom to be lazy.

Step in pygobject, which contains the bindings for GIO. Within the bowels of this beastie are the required components to monitor a file for changes in a very few lines of python:

#!/usr/bin/python
import gtk
import gio

def file_changed (monitor, file, unknown, event):
  if event == gio.FILE_MONITOR_EVENT_CHANGES_DONE_HINT:
    print "file finished changing"

file = gio.File('/path/to/some/file')
monitor = file.monitor_file ()
monitor.connect ("changed", file_changed)
gtk.main()

That’s it. I don’t know what the “unknown” argument for the callback is, probably the optional user_data connect() argument and this is but a small part of what inotify/GIO can do, but if you just care about being told when a file is updated, it’ll do (with caveats that you can never really know when a file has finished being changed, so be careful to validate it before you trust its contents).

Terminator 0.11 released!

September 21st, 2008 cmsj

Head over to the Terminator Homepage to get the goodness that is version 0.11. Mostly just bugfixes this time, for things which hurt 0.10 users. Also present is support for X Session Management, although until we have proper profiling support, this is of limited use.

The source tarball is up, of course, and the Hardy/Intrepid PPAs should have packages by the time you read this.

Terminator 0.10 released

August 28th, 2008 cmsj

It’s been a week or so shy of two months since we pushed 0.9 out of the door and originally we planned on following up with a 0.9.1 release shortly after to clear up some bugs, but for a variety of not particularly good reasons this never happened.

Instead we’ve got a new release for you… 0.10.

It doesn’t have any shiny whizz-bang features like 0.9 had, but it does bring a bunch of bug fixes and the groundwork necessary for our 1.0 release.

As usual, head over to the homepage, or Launchpad to get the goodness.

Terminator 0.9 released!

July 7th, 2008 cmsj

It’s been far too long, but here it is. Terminator 0.9.

As usual, head over to the home page to get all the links and information you need.

“So what’s new in this release?” Well let’s have a little look at the ChangeLog:

* Tab support
* Drag & Drop support
* Added support for ~/.config/terminator/config
* Switch the meanings of “horizontal” and “vertical” wrt splitting,
after extensive user feedback. Added context menu icons to try and
make the meaning clearer.
* Added keybindings for terms size and scrollbar manipulation. Thanks
Emmanuel Bretelle.
* Completely revamped config system which now transparently makes use
of gconf settings if they are available, falls back to sensible
defaults if not, and can be overridden entirely by ~/.config/terminator/config
* Support terminal zooming – now you can quickly hide all terminals apart
from one and either scale the fontsize or not.
* New application icon from Cory Kontros
* FreeBSD support (thanks to Thomas Hurst)

and a whole heap of bug fixes. Rock on!

Terminator 0.9 almost ready

July 6th, 2008 cmsj

It’s taken us some time to get there, but as this page shows, we now have all of the bugs we want solved for 0.9, solved :D

The string freeze came way too late unfortunately, so I’m expecting we’ll want to do a 0.9.1 consisting of translations and fixes for any other bugs we figure out on the road to 1.0.
I now need to prepare all of the parts required for a release and push out a final RC build into our PPA and if all is well, 0.9 will be released very shortly! Please test it now and tell us if you hit any last minute problems.

Terminator 0.9 Betas

June 19th, 2008 cmsj

The list of bugs left for Terminator 0.9 is getting shorter (although I do keep failing to resist the temptation to add more) and so it’s time to try and get some wider testing.

Therefore, we’ve started uploading beta packages of 0.9 to our PPA. If you want to help test and you run Ubuntu, add this apt source:

deb http://ppa.launchpad.net/gnome-terminator/ubuntu hardy main

If you have Terminator installed already from a package, it should then be offered to you as an upgrade, otherwise run:

sudo apt-get update && sudo apt-get install terminator

Please report any bugs you find to http://bugs.launchpad.net/terminator/ and please feel free to drop by #terminator on irc.freenode.net with any feedback!