terra terminal for ubuntu 14.04

I would like to try the terra terminal but the ppa doesn't work for 14.04. Does terra support 14.04?

If so, where can I find it?


You can make it work under Ubuntu 13.10 and greater. First You have to manually download the package for Raring version from here: Terra PPA.

Then, install the package with

sudo dpkg -i terra_0.1.7~raring1_amd64.deb 

Then comment the lines 152, 156 and 165-166 in the file

/usr/lib/python2.7/site-packages/terra/VteObject.py

Here is how that portion of VteObject.py looks:

    #self.vte.set_background_saturation(ConfigManager.get_conf('transparency') / 100.0)

    self.vte.set_opacity(int((100 - ConfigManager.get_conf(('transparency'))) / 100.0 * 65535))

    #self.vte.set_background_transparent(ConfigManager.use_fake_transparency)

    self.vte.set_word_chars(ConfigManager.get_conf('select-by-word'))

    self.vte.set_colors(
        Gdk.color_parse(ConfigManager.get_conf('color-text')),
        Gdk.color_parse(ConfigManager.get_conf('color-background')),
        [])

    #self.vte.set_background_image_file(
    #    ConfigManager.get_conf('background-image'))

Terra will work after this, but you will not be able to adjust the transparency or set a custom background.


As per mario947's answer, adding the following to line 473 of /usr/lib/python2.7/dist-packages/terra/terminal.py will allow you to adjust the transparency. You will need to restart the terminal process every time you adjust the transparency to see your change, however.

self.set_opacity((ConfigManager.get_conf('transparency')) / 100.0)

The surrounding part of that file should look like:

def init_transparency(self):
    self.set_app_paintable(True)
    visual = self.screen.get_rgba_visual()
    if visual != None and self.screen.is_composited():
        self.set_opacity((ConfigManager.get_conf('transparency')) / 100.0)
        self.set_visual(visual)
    else:
        ConfigManager.use_fake_transparency = True

To make terra transparent in 14.04 you can add this

self.set_opacity((ConfigManager.get_conf('transparency')) / 100.0)

to the #473 line of /usr/lib/python2.7/dist-packages/terra/terminal.py:

def init_transparency(self):
    self.set_app_paintable(True)
    visual = self.screen.get_rgba_visual()
    if visual != None and self.screen.is_composited():
        self.set_opacity((ConfigManager.get_conf('transparency')) / 100.0)
        self.set_visual(visual)
    else:
        ConfigManager.use_fake_transparency = True