gtk_main_quit ();
}
+/* --Statusbar functions-- */
static char*
build_progressbar_ascii(int percent) {
int width=10;
return g_string_free(bar, FALSE);
}
-
-enum { SYM_TITLE, SYM_URI, SYM_NAME, SYM_LOADPRGS, SYM_LOADPRGSBAR};
static void
setup_scanner() {
const GScannerConfig scan_config = {
};
uzbl.scan = g_scanner_new(&scan_config);
-
- /* TODO: move this stuff to an array and use a loop to actually set it */
- g_scanner_scope_add_symbol(uzbl.scan, 0, "TITLE", (gpointer)SYM_TITLE);
- g_scanner_scope_add_symbol(uzbl.scan, 0, "URI", (gpointer)SYM_URI);
- g_scanner_scope_add_symbol(uzbl.scan, 0, "NAME", (gpointer)SYM_NAME);
- g_scanner_scope_add_symbol(uzbl.scan, 0, "LOAD_PROGRESS", (gpointer)SYM_LOADPRGS);
- g_scanner_scope_add_symbol(uzbl.scan, 0, "LOAD_PROGRESSBAR", (gpointer)SYM_LOADPRGSBAR);
+ while(symp->symbol_name) {
+ g_scanner_scope_add_symbol(uzbl.scan, 0,
+ symp->symbol_name,
+ GINT_TO_POINTER(symp->symbol_token));
+ symp++;
+ }
}
static gchar *
return g_string_free(ret, FALSE);
}
+/* --End Statusbar functions-- */
// make sure to put '' around args, so that if there is whitespace we can still keep arguments together.
+/* statusbar symbols */
+enum { SYM_TITLE, SYM_URI, SYM_NAME, SYM_LOADPRGS, SYM_LOADPRGSBAR};
+const struct {
+ gchar *symbol_name;
+ guint symbol_token;
+} symbols[] = {
+ {"NAME", SYM_NAME},
+ {"URI", SYM_URI},
+ {"TITLE", SYM_TITLE},
+ {"LOAD_PROGRESS", SYM_LOADPRGS},
+ {"LOAD_PROGRESSBAR", SYM_LOADPRGSBAR},
+ {NULL, 0}
+}, *symp = symbols;
+
/* status bar elements */
typedef struct {
gint load_progress;