aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugeni Dodonov <eugeni@mandriva.org>2009-01-07 22:58:54 +0000
committerEugeni Dodonov <eugeni@mandriva.org>2009-01-07 22:58:54 +0000
commit7bc1e838337bc5d23cdb479a2e956be0886dfcc9 (patch)
tree4d96952f3d74e17fca9fc3019e0091134e64a588
parent09ed5b696f9750a4cce323205cd926599faa84a9 (diff)
downloadmsec-7bc1e838337bc5d23cdb479a2e956be0886dfcc9.tar
msec-7bc1e838337bc5d23cdb479a2e956be0886dfcc9.tar.gz
msec-7bc1e838337bc5d23cdb479a2e956be0886dfcc9.tar.bz2
msec-7bc1e838337bc5d23cdb479a2e956be0886dfcc9.tar.xz
msec-7bc1e838337bc5d23cdb479a2e956be0886dfcc9.zip
Better option handling and embedding support.
-rwxr-xr-xsrc/msec/msec.py2
-rwxr-xr-xsrc/msec/msecgui.py26
-rwxr-xr-xsrc/msec/msecperms.py2
3 files changed, 22 insertions, 8 deletions
diff --git a/src/msec/msec.py b/src/msec/msec.py
index a5ac4e0..9a6bfc4 100755
--- a/src/msec/msec.py
+++ b/src/msec/msec.py
@@ -63,7 +63,7 @@ if __name__ == "__main__":
# parse command line
try:
- opt, args = getopt.getopt(sys.argv[1:], 'hl:f:dp', ['help', 'list', 'force', 'debug', 'pretend'])
+ opt, args = getopt.getopt(sys.argv[1:], 'hl:f:dp', ['help', 'list=', 'force=', 'debug', 'pretend'])
except getopt.error:
usage()
sys.exit(1)
diff --git a/src/msec/msecgui.py b/src/msec/msecgui.py
index d6d358c..93fbab8 100755
--- a/src/msec/msecgui.py
+++ b/src/msec/msecgui.py
@@ -113,7 +113,7 @@ class MsecGui:
(COLUMN_PATH, COLUMN_USER, COLUMN_GROUP, COLUMN_PERM, COLUMN_FORCE) = range(5)
(COLUMN_APP, COLUMN_DESCR, COLUMN_AUTH) = range(3)
- def __init__(self, log, msec, perms, auth, config, permconfig, authconfig):
+ def __init__(self, log, msec, perms, auth, config, permconfig, authconfig, embed=None):
"""Initializes gui"""
self.log = log
self.msec = msec
@@ -134,8 +134,13 @@ class MsecGui:
for opt in authconfig.list_options():
self.oldauth[opt] = authconfig.get(opt)
- self.window = gtk.Window()
- self.window.set_default_size(640, 480)
+ if embed:
+ # embedding in MCC
+ self.window = gtk.Plug(embed)
+ else:
+ # running standalone
+ self.window = gtk.Window()
+ self.window.set_default_size(640, 480)
self.window.connect('destroy', self.quit)
# are we enforcing a level
@@ -214,7 +219,7 @@ class MsecGui:
# creating preview window
dialog = gtk.Dialog(_("Preview changes"),
- self.window, 0,
+ self.window, gtk.DIALOG_MODAL,
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
gtk.STOCK_OK, gtk.RESPONSE_OK)
)
@@ -934,15 +939,18 @@ def usage():
Arguments to msecgui:
-h, --help displays this helpful message.
-d enable debugging messages.
+ -e, --embedded <XID> embed in MCC.
""" % version
# }}}
if __name__ == "__main__":
log_level = logging.INFO
+ PlugWindowID = None
# parse command line
+ print sys.argv
try:
- opt, args = getopt.getopt(sys.argv[1:], 'hd', ['help', 'debug'])
+ opt, args = getopt.getopt(sys.argv[1:], 'hde:', ['help', 'debug', 'embedded='])
except getopt.error:
usage()
sys.exit(1)
@@ -954,6 +962,12 @@ if __name__ == "__main__":
# list
elif o[0] == '-d' or o[0] == '--debug':
log_level = logging.DEBUG
+ elif o[0] == '-e' or o[0] == '--embedded':
+ try:
+ PlugWindowID = long(o[1])
+ except:
+ print >>sys.stderr, "Error: bad master window XID (%s)!" % o[1]
+ sys.exit(1)
# configuring logging
log = Log(interactive=True, log_syslog=False, log_file=True, log_level=log_level, log_path=config.SECURITYLOG)
@@ -980,6 +994,6 @@ if __name__ == "__main__":
log.info("Starting gui..")
- gui = MsecGui(log, msec, perms, auth, msec_config, perm_conf, auth_conf)
+ gui = MsecGui(log, msec, perms, auth, msec_config, perm_conf, auth_conf, embed=PlugWindowID)
gtk.main()
diff --git a/src/msec/msecperms.py b/src/msec/msecperms.py
index 3cba97e..22fda80 100755
--- a/src/msec/msecperms.py
+++ b/src/msec/msecperms.py
@@ -68,7 +68,7 @@ if __name__ == "__main__":
# parse command line
try:
- opt, args = getopt.getopt(sys.argv[1:], 'hel:f:dp', ['help', 'enforce', 'list', 'force', 'debug', 'pretend'])
+ opt, args = getopt.getopt(sys.argv[1:], 'hel:f:dp', ['help', 'enforce', 'list=', 'force=', 'debug', 'pretend'])
except getopt.error:
usage()
sys.exit(1)