Stage two of rerolling the gconf handling. Now we have a proper abstract function that can grab arbitrary values (lists and other types TBC). It just needs to be used directly instead of via the type specific helpers
This commit is contained in:
parent
b0fcd80594
commit
cd510b7c78
42
terminator
42
terminator
@ -68,7 +68,7 @@ class TerminatorTerm:
|
||||
'background_type' : 'solid',
|
||||
'backspace_binding' : 'ascii-del',
|
||||
'delete_binding' : 'delete-sequence',
|
||||
'cursor_blinks' : False,
|
||||
'cursor_blink' : False,
|
||||
'emulation' : 'xterm',
|
||||
'font_name' : 'Serif 10',
|
||||
'foreground_color' : '#AAAAAA',
|
||||
@ -86,7 +86,7 @@ class TerminatorTerm:
|
||||
'link_userchars' : '-A-Za-z0-9',
|
||||
'link_passchars' : '-A-Za-z0-9,?;.:/!%$^*&~"#\'',
|
||||
'_palette' : '%s/palette',
|
||||
'default_palette' : '',
|
||||
'default_palette' : '#000000000000:#CDCD00000000:#0000CDCD0000:#CDCDCDCD0000:#30BF30BFA38E:#A53C212FA53C:#0000CDCDCDCD:#FAFAEBEBD7D7:#404040404040:#FFFF00000000:#0000FFFF0000:#FFFFFFFF0000:#00000000FFFF:#FFFF0000FFFF:#0000FFFFFFFF:#FFFFFFFFFFFF',
|
||||
'word_chars' : '-A-Za-z0-9,./?%&#:_',
|
||||
'mouse_autohide' : True,
|
||||
}
|
||||
@ -181,17 +181,44 @@ class TerminatorTerm:
|
||||
|
||||
self._vte.fork_command (command = shell, argv = args, envv = [], loglastlog = login, logwtmp = update_records, logutmp = update_records)
|
||||
|
||||
def reconf (self, property):
|
||||
value = self.gconf_client.get ('%s/%s'%(self.profile, property))
|
||||
ret = None
|
||||
if not value:
|
||||
try:
|
||||
ret = self.defaults[property]
|
||||
except:
|
||||
pass
|
||||
else:
|
||||
if value.type == gconf.VALUE_STRING:
|
||||
print "string"
|
||||
ret = value.get_string ()
|
||||
elif value.type == gconf.VALUE_INT:
|
||||
print "int"
|
||||
ret = value.get_int ()
|
||||
elif value.type == gconf.VALUE_FLOAT:
|
||||
print "float"
|
||||
ret = value.get_float ()
|
||||
elif value.type == gconf.VALUE_BOOL:
|
||||
print "bool"
|
||||
ret = value.get_bool ()
|
||||
|
||||
if ret == None:
|
||||
print _('Unknown value requested. Unable to find in gconf profile or default settings: ') + property
|
||||
sys.exit (1)
|
||||
return ret
|
||||
|
||||
def reconf_s (self, property):
|
||||
return self.gconf_client.get_string (self.profile + "/" + property) or self.defaults[property]
|
||||
return self.reconf (property)
|
||||
|
||||
def reconf_b (self, property):
|
||||
return self.gconf_client.get_bool (self.profile + "/" + property) or self.defaults[property]
|
||||
return self.reconf (property)
|
||||
|
||||
def reconf_i (self, property):
|
||||
return self.gconf_client.get_int (self.profile + "/" + property) or self.defaults[property]
|
||||
return self.reconf (property)
|
||||
|
||||
def reconf_f (self, property):
|
||||
return self.gconf_client.get_float (self.profile + "/" + property) or self.defaults[property]
|
||||
return self.reconf (property)
|
||||
|
||||
def reconfigure_vte (self):
|
||||
# Set our emulation
|
||||
@ -240,6 +267,7 @@ class TerminatorTerm:
|
||||
self._vte.set_allow_bold (self.reconf_b ('allow_bold'))
|
||||
|
||||
# Set our color scheme, preferably from gconf settings
|
||||
# FIXME: This is wrong, we should be pulling 'palette' out of gconf, but reverting to self.defaults['default_palette'] which means we need to reorganise self.defaults to make this available under the same name as gconf
|
||||
palette = self.reconf_s ('default_palette')
|
||||
if (not self.profile) or self.gconf_client.get_bool (self.profile + "/use_theme_colors"):
|
||||
fg_color = self._vte.get_style ().text[gtk.STATE_NORMAL]
|
||||
@ -270,7 +298,7 @@ class TerminatorTerm:
|
||||
self._vte.set_colors (fg_color, bg_color, palette)
|
||||
|
||||
# Set our cursor blinkiness
|
||||
self._vte.set_cursor_blinks = (self.reconf_b ('cursor_blinks'))
|
||||
self._vte.set_cursor_blinks = (self.reconf_b ('cursor_blink'))
|
||||
|
||||
# Set our audible belliness
|
||||
# FIXME: What on earth are we doing here. We should match the profile setting name and try not to set things this way
|
||||
|
Loading…
Reference in New Issue
Block a user