does not work with older libvte / gtk

Bug #252971 reported by Chris Jones
4
Affects Status Importance Assigned to Milestone
Terminator
Fix Released
Medium
chantra

Bug Description

Older versions of vte (e.g. in Edgy) do not support things like compositing or transparency. Certain people are stuck in the past and hate the future, and supporting them would be no bad thing if it's not too hard.

Attached is a patch which shows what should be removed, except we obviously won't remove those things, rather trap the exceptions thrown by these bits being missing.

Revision history for this message
Chris Jones (cmsj) wrote :
Revision history for this message
Jørgen P. Tjernø (jorgenpt) wrote :

Hi. It seems also it lacks support for tab-reordering of Notebook and tooltips on gtk.Buttons, so the patch I gave to Chris Jones isn't fully working. (I must've handed him an old version)
I'm submitting an improved patch here, which is the approach I think I would use (instead of catching an exception on each of these calls).

It checks if gtk.Button lacks set_tooltip_text or gtk.Notebook lacks set_tab_reorderable, if so, it sets a flag in Terminator called gtk_legacy_mode. In TerminatorTerm there are similar fixes, I check for if vte.Terminal has is_composited and set_background_transparent, if missing, I set a private flag called _vte_legacy_mode.
These are then used to decide if we call the non-legacy methods.

Feel free to trash or apply this patch, it'll be what I'm running until I see an edgy-compatible .deb :p

Also, here are the local versions of the packages you have set as dependencies for the Terminator-package in the Ubuntu Hardy repositories:

$ dpkg -l gconf2 python python-central python-gnome2 python-vte
No packages found matching python-central.

    Name Version Description
+++-===============================-===============================-==============================================================================
ii gconf2 2.14.0-1ubuntu2 GNOME configuration database system (support tools)
ii python 2.4.2-0ubuntu3 An interactive high-level object-oriented language (default version)
ii python-gnome2 2.12.4-0ubuntu1 Python bindings for the GNOME desktop environment
ii python-vte 0.12.2-0ubuntu1 Python bindings for the VTE widget set

Revision history for this message
Jørgen P. Tjernø (jorgenpt) wrote :

Also, titletips are not compatible with edgy. The 'simple fix' is:

   def on_vte_title_change(self, vte):
- if self.conf.titletips:
+ if self.conf.titletips and not self._vte_legacy_mode:

in terminatorlib/terminatorterm.py :)

Chris Jones (cmsj)
Changed in terminator:
importance: Undecided → Medium
milestone: none → 1.0-beta
status: New → Triaged
Revision history for this message
Jørgen P. Tjernø (jorgenpt) wrote :

Sorry for the confusion, I meant Dapper, not Edgy. :)

Revision history for this message
chantra (chantra) wrote :

We should be able to test the presence of some method with the help of hasattr as in:

 >>> print hasattr(v, 'is_composite')
False
 >>> print hasattr(v, 'is_composited')
True

I will look into this based on the patch

Changed in terminator:
assignee: nobody → chantra
Revision history for this message
chantra (chantra) wrote :

Hi Jorgen,

I pushed change 540 to trunk.
I handled the GTK and VTE issue by adding a
terminator._tab_reorderable
and
terminatorterm._composited
so features are disabled on a per library support basis

Changed in terminator:
status: Triaged → In Progress
Chris Jones (cmsj)
Changed in terminator:
status: In Progress → Fix Committed
Chris Jones (cmsj)
Changed in terminator:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.