diff --git a/terminatorlib/newterminator.py b/terminatorlib/newterminator.py new file mode 100755 index 00000000..772d9fee --- /dev/null +++ b/terminatorlib/newterminator.py @@ -0,0 +1,62 @@ +#!/usr/bin/python +# Terminator by Chris Jones +# GPL v2 only +"""terminator.py - class for the master Terminator singleton""" + +from util import dbg, err +from version import APP_NAME, APP_VERSION + +_terminator = _Terminator() +def Terminator(): + """Return the instance""" + return(_terminator) + +class _Terminator(object): + """master object for the application""" + + window = None + windowtitle = None + terminals = None + groups = None + config = None + + def __init__(self): + """Class initialiser""" + + self.terminals = [] + self.groups = [] + + self.window = Window(self.config) + self.windowtitle = WindowTitle() + + def new_terminal(self): + """Create and register a new terminal widget""" + + terminal = Terminal() + self.terminals.append(terminal) + + def reconfigure_terminals(self): + """Tell all terminals to update their configuration""" + + for terminal in self.terminals: + terminal.reconfigure() + + def group_hoover(self): + """Clean out unused groups""" + + if self.config['autoclean_groups']: + todestroy = [] + for group in self.groups: + for terminal in self.terminals: + save = False + if terminal.group == group: + save = True + break; + + if not save: + todestroy.append(group) + + for group in todestroy: + self.groups.remove(group) + +# vim: set expandtab ts=4 sw=4: