Initial import of new Terminator class
This commit is contained in:
parent
b3635d2912
commit
d81de4569c
|
@ -0,0 +1,62 @@
|
||||||
|
#!/usr/bin/python
|
||||||
|
# Terminator by Chris Jones <cmsj@tenshu.net>
|
||||||
|
# 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:
|
Loading…
Reference in New Issue