static char* create_menu(char* menu_file) { GtkWidget *menuitem; char init_file[PATH_MAX]; char icon[PATH_MAX]; char title[MAX_LINE_LENGTH]; strcpy(init_file,fluxbox_init_file()); strcpy(menu_file,fluxbox_menu_file(init_file,menu_file)); g_print("Fluxbox init file: %s\n",init_file); g_print("Fluxbox menu file: %s\n",menu_file); menu[0] = gtk_menu_new(); menu_title(menu_file,title); menuitem = gtk_menu_item_new_with_label(title==NULL? "Fluxbox menu" : title); gtk_menu_shell_append(GTK_MENU_SHELL(menu[0]), menuitem); gtk_menu_shell_append(GTK_MENU_SHELL(menu[0]), gtk_separator_menu_item_new()); proc_lines(menu_file); gtk_menu_shell_append(GTK_MENU_SHELL(menu[0]), gtk_separator_menu_item_new()); menuitem = gtk_menu_item_new_with_label("About"); gtk_menu_shell_append(GTK_MENU_SHELL(menu[0]), menuitem); g_signal_connect(G_OBJECT(menuitem),"activate",G_CALLBACK(menu_about),0); menuitem = gtk_menu_item_new_with_label("Exit"); gtk_menu_shell_append(GTK_MENU_SHELL(menu[0]), menuitem); g_signal_connect(G_OBJECT(menuitem),"activate",G_CALLBACK(gtk_main_quit),0); gtk_widget_show_all(menu[0]); }
int main(int argc, char *argv[]) { static char dflt_fmt[] = "%Y-%m-%d\n\0H:%M:%S %Z\n"; yuck_t argi[1U]; char *outfmt = dflt_fmt; char **infmt; size_t ninfmt; char **input; size_t ninput; int quietp; int res = 0; if (yuck_parse(argi, argc, argv)) { res = 1; goto out; } if (argi->format_arg) { outfmt = argi->format_arg; /* unescape sequences, maybe */ if (argi->backslash_escapes_flag) { dt_io_unescape(outfmt); } } else if (argi->time_flag) { outfmt[8] = ' '; outfmt[9] = '%'; } if (!argi->input_format_nargs) { infmt = argi->args; ninfmt = argi->nargs; input = NULL; ninput = 0; } else { infmt = argi->input_format_args; ninfmt = argi->input_format_nargs; input = argi->args; ninput = argi->nargs; } /* get quiet predicate */ quietp = argi->quiet_flag; /* get lines one by one, apply format string and print date/time */ if (ninput == 0) { /* read from stdin */ proc_lines((const char*const*)infmt, ninfmt, outfmt, quietp); } else { const char *const *cinfmt = (const char*const*)infmt; for (size_t i = 0; i < ninput; i++) { proc_line(input[i], cinfmt, ninfmt, outfmt, quietp); } } out: yuck_free(argi); return res; }
static void include_file(char *file){ wordexp_t exp_result; wordexp(file,&exp_result,0); strcpy(file,exp_result.we_wordv[0]); g_print("Including %s file\n",file); proc_lines(file); g_print("Finished including %s file\n",file); return; }
int main(int argc, char *argv[]) { static char dflt_fmt[] = "%Y-%m-%d\n\0H:%M:%S %Z\n"; yuck_t argi[1U]; char *outfmt = dflt_fmt; char **infmt; size_t ninfmt; char **input; size_t ninput; int quietp; int res = 0; if (yuck_parse(argi, argc, argv)) { res = 1; goto out; } if (argi->format_arg) { outfmt = argi->format_arg; /* unescape sequences, maybe */ if (argi->backslash_escapes_flag) { dt_io_unescape(outfmt); } } else if (argi->time_flag) { outfmt[8] = ' '; outfmt[9] = '%'; } if (!argi->input_format_nargs) { infmt = argi->args; ninfmt = argi->nargs; input = NULL; ninput = 0; } else { infmt = argi->input_format_args; ninfmt = argi->input_format_nargs; input = argi->args; ninput = argi->nargs; } /* get quiet predicate */ quietp = argi->quiet_flag; /* set locale specific/independent behaviour */ with (const char *loc) { if (!argi->locale_flag) { loc = "C"; /* we need to null out TZ for UTC */ setenv("TZ", "", 1); } else { loc = ""; } /* actually set our findings in stone */ setlocale(LC_TIME, loc); tzset(); } /* get lines one by one, apply format string and print date/time */ if (ninput == 0) { /* read from stdin */ proc_lines((const char*const*)infmt, ninfmt, outfmt, quietp); } else { const char *const *cinfmt = (const char*const*)infmt; for (size_t i = 0; i < ninput; i++) { proc_line(input[i], cinfmt, ninfmt, outfmt, quietp); } } out: yuck_free(argi); return res; }