__dialog.present() if __name__ == '__main__': import gtk, gtk.gdk import bigboard.libbig try: import bigboard.bignative as bignative except: import bignative import dbus.glib import bigboard.google as google gtk.gdk.threads_init() libbig.logutil.init('DEBUG', ['AsyncHTTP2LibFetcher', 'bigboard.Keyring', 'bigboard.Google', 'bigboard.Accounts', 'bigboard.AccountsDialog']) bignative.set_application_name("BigBoard") bignative.set_program_name("bigboard") google.init() open_dialog() gtk.main()
def main(): try: opts, args = getopt.getopt(sys.argv[1:], "hds", ["help", "debug", "na", "no-autolaunch", "info", "replace", "stockdirs=", "debug-modules=", "server=", "dogfood"]) except getopt.GetoptError: usage() sys.exit(2) info = False debug = False replace = False stockdirs = [] debug_modules = [] for o, v in opts: if o in ('-d', '--debug'): debug = True elif o in ('--dogfood',): bigboard.globals.set_server_name('dogfood.mugshot.org:9080') elif o in ('--info',): info = True elif o in ('--replace',): replace = True elif o in ('--na', '--no-autolaunch'): bigboard.globals.set_do_autolaunch(False) elif o in ('--stockdirs',): stockdirs = map(os.path.abspath, v.split(':')) elif o in ('--debug-modules',): debug_modules = v.split(',') elif o in ('--server',): bigboard.globals.set_server_name(v) elif o in ("-h", "--help"): usage() sys.exit() signal.signal(signal.SIGINT, lambda i,frame: sys.stderr.write('Caught SIGINT\n') or os._exit(0)) if (not os.environ.has_key('OD_SESSION')): warn = gconf.client_get_default().get_without_default(GCONF_PREFIX + 'warn_outside_online_desktop') if warn == None or warn.get_bool(): dialog = gtk.MessageDialog(type=gtk.MESSAGE_WARNING, message_format="Online desktop session isn't running") dialog.format_secondary_text("You should log into the online desktop session rather than running Big Board directly.") dialog.add_buttons("Exit", gtk.RESPONSE_CANCEL, "Continue", gtk.RESPONSE_OK) checkbutton = gtk.CheckButton("Don't show this warning again") checkbutton.show() dialog.vbox.pack_end(checkbutton) response = dialog.run() if checkbutton.get_active(): warn = gconf.client_get_default().set_bool(GCONF_PREFIX + 'warn_outside_online_desktop', False) if response == gtk.RESPONSE_CANCEL: exit(1) def logger(domain, priority, msg): print msg gtk.gdk.threads_init() dbus.glib.threads_init() gnome.program_init("bigboard", "0.3") default_log_level = 'ERROR' if info: default_log_level = 'INFO' if debug: default_log_level = 'DEBUG' bigboard.libbig.logutil.init(default_log_level, debug_modules, '') # Redirect sys.stdout to our logging framework sys.stdout = bigboard.libbig.stdout_logger.StdoutLogger() bignative.set_application_name("BigBoard") bignative.set_program_name("bigboard") bignative.install_focus_docks_hack() hippo.canvas_set_load_image_hook(load_image_hook) icon_datadir = None for path in _get_datadirs(): if os.path.isdir(path): icon_datadir = path break if icon_datadir: _logger.debug("adding to icon theme path: %s", icon_datadir) gtk.icon_theme_get_default().prepend_search_path(icon_datadir) bus = dbus.SessionBus() if replace: try: bb = bus.get_object(BUS_NAME_STR, '/bigboard/panel') bb.Kill() except dbus.DBusException, e: pass