struct pbt_quad q;
top_item = pbt_item_create_reduced(menu, "system", 0,
- PB_ARTWORK_PATH "/system.png");
+ PB_ARTWORK_PATH "/applications-system.png");
if (!top_item)
goto fail_top_item_create;
goto fail_sub_menu_create;
sub_item = pbt_item_create(top_item->sub_menu, "Preferences", 0,
- PB_ARTWORK_PATH "/system.png", "Preferences",
+ PB_ARTWORK_PATH "/configure.png", "Preferences",
"Edit petitboot preferences");
if (!sub_item)
pbt_menu_set_selected(top_item->sub_menu, sub_item);
sub_item = pbt_item_create(top_item->sub_menu, "Exit to Shell", 1,
- PB_ARTWORK_PATH "/system.png", "Exit to Shell",
+ PB_ARTWORK_PATH "/utilities-terminal.png", "Exit to Shell",
"Exit to a system shell prompt");
if (!sub_item)
return NULL;
}
-static int kexec_cb(__attribute__((unused)) struct pbt_client *client, struct pb_opt_data *opt_data)
-{
- int result;
-
- assert(opt_data);
-
- pb_log("%s: %s\n", __func__, opt_data->name);
-
- result = pb_run_kexec(opt_data->kd);
-
- return result;
-}
-
static int run(struct pbt_client *client)
{
while (1) {
- int result = waiter_poll();
+ int result = waiter_poll(client->waitset);
if (result < 0 && errno != EINTR) {
pb_log("%s: poll: %s\n", __func__, strerror(errno));
if (client->signal_data.abort)
break;
- ui_timer_process_sig(&client->signal_data.timer);
-
while (client->signal_data.resize) {
client->signal_data.resize = 0;
pbt_client_resize(client);
return;
switch (signum) {
- case SIGALRM:
- ui_timer_sigalrm(&sd->timer);
- break;
case SIGWINCH:
sd->resize = 1;
break;
static struct pbt_opts opts;
int result;
int ui_result;
- FILE *log;
struct pbt_client *client;
result = pbt_opts_parse(&opts, argc, argv);
return EXIT_SUCCESS;
}
- log = fopen(opts.log_file, "a");
- assert(log);
- pb_log_set_stream(log);
+ if (strcmp(opts.log_file, "-")) {
+ FILE *log = fopen(opts.log_file, "a");
+
+ assert(log);
+ pb_log_set_stream(log);
+ } else
+ pb_log_set_stream(stderr);
#if defined(DEBUG)
pb_log_always_flush(1);
#endif
- pb_log("--- pb-twin ---\n");
+ pb_log("--- petitboot-twin ---\n");
sa.sa_handler = sig_handler;
result = sigaction(SIGALRM, &sa, NULL);
return EXIT_FAILURE;
}
- client = pbt_client_init(opts.backend, 900, 300, kexec_cb);
+ client = pbt_client_init(opts.backend, 1024, 640, opts.start_daemon);
if (!client) {
ui_result = EXIT_FAILURE;