示例#1
0
文件: main.py 项目: ktosiek/spanel
def main():
    logger.info('loading configuration')
    import conf

    debug_levels = ['DEBUG', 'INFO', 'WARNING', 'ERROR']

    parser = argparse.ArgumentParser(
        description="Simple panel written in Python for holding widgets")
    parser.add_argument('--verbosity', '-v', dest='verbosity',
                        choices=debug_levels, default=None)

    args = parser.parse_args()

    level = args.verbosity or getattr(conf, 'VERBOSITY', 'INFO')
    if level not in debug_levels:
        logger.critical('Log level %s not supported!', level)
        return 1
    logging.basicConfig(level=level)

    logger.info('creating panel')
    app = PanelWindow(position=getattr(conf, 'POSITION', None),
                      widgets=getattr(conf, 'WIDGETS', []))
    logger.info('starting main loop')
    gtk.gdk.threads_init()
    with GdkLock():
        gtk.main()
示例#2
0
 def __init__(self):
     super(NotificationsWidget, self).__init__()
     self.daemon = NotificationDaemon(listeners=[self])
     self.notifications = OrderedDict()
     self._gdk_lock = GdkLock()
示例#3
0
 def workspace_callback(self, event, data, subscription):
     sys.stdout.flush()
     with GdkLock():
         self.workspaces = data
         self.update()