void base_server_init(const Setup *setup) { base_conf_init(setup); /*cout << "event method: " << event_base_get_method(main_base) << endl;*/ evthread_use_pthreads(); thread_init(); main_base = get_main_thread()->get_event_base(); conn_init(); clock_handler(0, 0, 0); }
void init_clock_indicator(void) { if(!config.clock.enabled) { gtk_widget_hide(greeter.ui.clock.time_box); return; } if(config.clock.calendar && GTK_IS_MENU_SHELL(greeter.ui.clock.time_menu)) { GtkWidget* calendar_menuitem = NULL; #ifdef CLOCK_USE_IDO_CALENDAR calendar_menuitem = ido_calendar_menu_item_new(); greeter.ui.clock.calendar_widget = ido_calendar_menu_item_get_calendar(IDO_CALENDAR_MENU_ITEM(calendar_menuitem)); #else calendar_menuitem = create_simple_calendar_item(&greeter.ui.clock.calendar_widget); #endif if(!greeter.ui.clock.date_widget) greeter.ui.clock.date_widget = gtk_menu_item_new_with_label(""); gtk_menu_shell_append(GTK_MENU_SHELL(greeter.ui.clock.time_menu), greeter.ui.clock.date_widget); gtk_menu_shell_append(GTK_MENU_SHELL(greeter.ui.clock.time_menu), calendar_menuitem); gtk_widget_add_events(greeter.ui.clock.date_widget, GDK_VISIBILITY_NOTIFY_MASK); visibility_notify_id = g_signal_connect(greeter.ui.clock.date_widget, "visibility-notify-event", G_CALLBACK(on_visibility_notify), NULL); gtk_widget_show_all(greeter.ui.clock.time_menu); if(GTK_IS_MENU_ITEM(greeter.ui.clock.time_widget)) gtk_menu_item_set_submenu(GTK_MENU_ITEM(greeter.ui.clock.time_widget), greeter.ui.clock.time_menu); } else if(GTK_IS_MENU_ITEM(greeter.ui.clock.time_widget)) gtk_menu_item_set_submenu(GTK_MENU_ITEM(greeter.ui.clock.time_widget), NULL); else gtk_widget_hide(greeter.ui.clock.time_menu); if(greeter.ui.clock.time_widget) { clock_handler(NULL); g_timeout_add_seconds(1, (GSourceFunc)clock_handler, (gpointer)TRUE); gtk_widget_show(greeter.ui.clock.time_widget); } }