int panel_start(panel *p, FILE *fp) { line s; long pos; /* parse global section */ ENTER; s.len = 256; memset(p, 0, sizeof(panel)); p->allign = ALLIGN_CENTER; p->edge = EDGE_BOTTOM; p->widthtype = WIDTH_PERCENT; p->width = 100; p->heighttype = HEIGHT_PIXEL; p->height = PANEL_HEIGHT_DEFAULT; p->setdocktype = 1; p->setstrut = 1; p->round_corners = 0; p->transparent = 0; p->alpha = 127; p->tintcolor = 0xFFFFFFFF; p->spacing = 0; fbev = fb_ev_new(); if ((get_line(fp, &s) != LINE_BLOCK_START) || g_ascii_strcasecmp(s.t[0], "Global")) { ERR( "fbpanel: config file must start from Global section\n"); RET(0); } if (!panel_parse_global(p, fp)) RET(0); if (!(pconf = tmpfile())) { ERR("can't open temporary file\n"); RET(0); } pos = ftell(fp); while (get_line_as_is(fp, &s) != LINE_NONE) fprintf(pconf, "%s\n", s.str); fseek(fp, pos, SEEK_SET); while (get_line(fp, &s) != LINE_NONE) { if ((s.type != LINE_BLOCK_START) || g_ascii_strcasecmp(s.t[0], "Plugin")) { ERR( "fbpanel: expecting Plugin section\n"); RET(0); } if (!panel_parse_plugin(p, fp)) RET(0); } gtk_widget_show_all(p->topgwin); print_wmdata(p); RET(1); }
static void panel_start(xconf *xc) { int i; xconf *pxc; ENTER; fbev = fb_ev_new(); //xconf_prn(stdout, xc, 0, FALSE); panel_parse_global(xconf_find(xc, "global", 0)); for (i = 0; (pxc = xconf_find(xc, "plugin", i)); i++) panel_parse_plugin(pxc); RET(); }