Comment 15 for bug 1030562

Revision history for this message
Stephen Boddy (stephen-j-boddy) wrote :

OK, a quick step-by-step walkthrough for those that would like to test/contribute:

1) Need to ensure the following additional packages are installed on Ubuntu (tested in a clean 14.04):
        gir1.2-keybinder-0.0
        gir1.2-keybinder-3.0
        libkeybinder-3.0-0
        build-essential
        intltool
        libgtk-3-dev
        gobject-introspection
        libgirepository1.0-dev
        valac
        xmllint
        terminator
    (I install the old terminator because it puts various icons and stuff in the correct place so you can run from the bzr checkout)

2) Then get hold of the vte archive and uncompress it:
        mkdir -p ~/Development/vte
        cd ~/Development/vte
        wget http://ftp.gnome.org/pub/GNOME/sources/vte/0.38/vte-0.38.0.tar.xz
        tar xJvf vte-0.38.0.tar.xz
        cd vte-0.38.0

3) Now you can run the commands from Egmont:
        ./configure --prefix=/usr; make; sudo make install

4) Create a local copy of the gtk3 tree and you should be able to run from there:
        mkdir -p ~/Development/terminator
        cd ~/Development/terminator
        bzr branch http://bazaar.launchpad.net/~gnome-terminator/terminator/gtk3/ gtk3-myuniquename
        cd gtk3-myuniquename
        ./terminator

For myuniquename pick a name that hints what the branch is for, i.e. gtk3-fixes. It's not essential, but it'll be clearer/easier to keep gtk2 and gtk3 separate if people start sending in fixes.

At this point you should have a new Terminator window, with the only visual difference I spotted so far being the grey popup menus.

One final tip: Creating new tabs fail unless you add the /etc/profile.d/vte.sh to your ~/.bashrc as per Egmont's instructions. It probably just needs a sensible fallback if the vte.sh hasn't been sourced, as this doesn't fail for splits.

The patch *requires* Vte 0.38 which is something like 5 days old! It is not in the latest Ubuntu LTS (14.04 which has 0.34) or even yet-to-be-released Utopic (0.36). I've found no PPA providing newer versions for existing releases. This is a bit of a problem, because it means a long time before this work would be usable for everyone "out-of-the-box". i.e. Ubuntu 16.04 will be the first LTS likely to have 0.38 in the main repos. It *may* get into the 2015 interim releases.

The above procedure is not something many would mess about with just to get a terminal, especially when the existing version - whilst old - is perfectly capable, and much more easily accessible. I know it is capable because I use it every working day. I understand why Egmont preferred the newer, changed API, but it leaves an awkward situation:
A) Work on the more supported older version, risking bit-rot to Egmont's hard work.
B) Work on the newer one, allowing the original to bit-rot, but making the initial installation effort higher for everyone.
C) Somehow try to work on both, and keep them relatively synchronized.