remove enable_real_transparency setting and instead attempt to determine it based on the actual capabilities of the current display

This commit is contained in:
Chris Jones 2010-04-06 21:11:11 +01:00
parent dec2e53cbb
commit fd8bc65654
3 changed files with 17 additions and 9 deletions

View File

@ -36,10 +36,6 @@ These are the options Terminator currently supports in the global_config section
Control how focus is given to terminals. 'click' means the focus only moves to a terminal after you click in it. 'sloppy' means the focus will follow the mouse pointer. 'system' means the focus will match that used by a GNOME window manager.
Default value: \fBclick\fR
.TP
.B enable_real_transparency\fR (boolean)
If true, Terminator will try to use real transparency if possible.
Default value: \fBFalse\fR
.TP
.B handle_size
Controls the width of the separator between terminals. Anything outside the range 0-5 (inclusive) will be ignored and use your default theme value.
Default value: \fB-1\fR

View File

@ -77,7 +77,6 @@ except ImportError:
DEFAULTS = {
'global_config': {
'focus' : 'click',
'enable_real_transparency' : True,
'handle_size' : -1,
'geometry_hinting' : True,
'window_state' : 'normal',

View File

@ -613,10 +613,23 @@ for %s (%s)' % (name, urlplugin.__class__.__name__))
dbg('setting opacity: %d' % opacity)
self.vte.set_opacity(opacity)
if self.config['background_type'] == 'transparent' and \
self.config['enable_real_transparency'] == False:
dbg('setting background_transparent=True')
self.vte.set_background_transparent(True)
# This is quite hairy, but the basic explanation is that we should
# set_background_transparent(True) when we have no compositing and want
# fake background transparency, otherwise it should be False.
if not self.composite_support:
# We have no compositing support, fake background only
background_transparent = True
else:
if self.vte.is_composited() == False:
# We have compositing and it's enabled. no fake background.
background_transparent = True
else:
# We have compositing, but it's not enabled. fake background
background_transparent = False
if self.config['background_type'] == 'transparent':
dbg('setting background_transparent=%s' % background_transparent)
self.vte.set_background_transparent(background_transparent)
else:
dbg('setting background_transparent=False')
self.vte.set_background_transparent(False)