Fix a typo in custom command handling. Add getopt support, mainly for choosing a gnome-terminator profile

This commit is contained in:
Chris Jones 2007-08-31 20:27:27 +01:00
parent 0f129374c5
commit 8c4b656337
1 changed files with 30 additions and 8 deletions

View File

@ -30,6 +30,7 @@ import gconf
import pango import pango
import gnome import gnome
import time import time
import getopt
class TerminatorTerm: class TerminatorTerm:
lastreconfigure = 0 lastreconfigure = 0
@ -38,7 +39,6 @@ class TerminatorTerm:
# FIXME: Add commandline and/or gconf options to change these # FIXME: Add commandline and/or gconf options to change these
defaults = { defaults = {
'profile_dir' : '/apps/gnome-terminal/profiles/', 'profile_dir' : '/apps/gnome-terminal/profiles/',
'profile' : 'Default',
'allow_bold' : True, 'allow_bold' : True,
'audible_bell' : False, 'audible_bell' : False,
'background' : None, 'background' : None,
@ -64,7 +64,7 @@ class TerminatorTerm:
'palette' : '/apps/gnome-terminal/profiles/Default/palette', 'palette' : '/apps/gnome-terminal/profiles/Default/palette',
} }
def __init__ (self, term, settings = {}): def __init__ (self, term, profile, settings = {}):
self.defaults['link_user'] = self.defaults['_link_user']%(self.defaults['link_userchars'], self.defaults['link_passchars']) self.defaults['link_user'] = self.defaults['_link_user']%(self.defaults['link_userchars'], self.defaults['link_passchars'])
# Set up any overridden settings # Set up any overridden settings
@ -72,7 +72,7 @@ class TerminatorTerm:
defaults[key] = settings[key] defaults[key] = settings[key]
self.term = term self.term = term
self.profile = self.defaults['profile_dir'] + self.defaults['profile'] self.profile = self.defaults['profile_dir'] + profile
self.gconf_client = gconf.client_get_default () self.gconf_client = gconf.client_get_default ()
self.gconf_client.add_dir (self.profile, gconf.CLIENT_PRELOAD_RECURSIVE) self.gconf_client.add_dir (self.profile, gconf.CLIENT_PRELOAD_RECURSIVE)
@ -116,7 +116,7 @@ class TerminatorTerm:
if self.gconf_client.get_bool (self.profile + "/use_custom_command") == True: if self.gconf_client.get_bool (self.profile + "/use_custom_command") == True:
args = self.gconf_client.get_string (self.profile + "/custom_command").split () args = self.gconf_client.get_string (self.profile + "/custom_command").split ()
shell = argv[0] shell = args[0]
else: else:
shell = pwd.getpwuid (os.getuid ())[6] shell = pwd.getpwuid (os.getuid ())[6]
args = [os.path.basename (shell)] args = [os.path.basename (shell)]
@ -298,7 +298,8 @@ class TerminatorTerm:
return self._box return self._box
class Terminator: class Terminator:
def __init__ (self): def __init__ (self, profile):
self.profile = profile
self.gconf_client = gconf.client_get_default () self.gconf_client = gconf.client_get_default ()
self.window = gtk.Window () self.window = gtk.Window ()
@ -310,7 +311,7 @@ class Terminator:
# Start out with just one terminal # Start out with just one terminal
# FIXME: This should be really be decided from some kind of profile # FIXME: This should be really be decided from some kind of profile
term = (TerminatorTerm (self)) term = (TerminatorTerm (self, self.profile))
self.window.add (term.get_box ()) self.window.add (term.get_box ())
self.window.show_all () self.window.show_all ()
@ -340,7 +341,7 @@ class Terminator:
gtk.main_quit () gtk.main_quit ()
def splitaxis (self, widget, vert=True): def splitaxis (self, widget, vert=True):
term2 = TerminatorTerm (self) term2 = TerminatorTerm (self, self.profile)
parent = widget.get_box ().get_parent () parent = widget.get_box ().get_parent ()
@ -442,7 +443,28 @@ class Terminator:
return False return False
return True return True
def usage ():
print "Read a manual or something"
if __name__ == '__main__': if __name__ == '__main__':
term = Terminator () debug = 0
profile = "Default"
try:
opts, args = getopt.getopt (sys.argv[1:], "hdp:", ["help", "debug", "profile="])
except getopt.GetoptError:
usage ()
sys.exit (2)
for opt, arg in opts:
if opt in ("-h", "--help"):
usage ()
sys.exit (0)
if opt in ("-d", "--debug"):
debug = 1
if opt in ("-p", "--profile"):
profile = arg
term = Terminator (profile)
gtk.main () gtk.main ()