void clock_action(int button) { char *command = 0; switch (button) { case 1: command = clock_lclick_command; break; case 3: command = clock_rclick_command; break; } tint_exec(command); }
void execp_action(void *obj, int button, int x, int y) { Execp *execp = obj; char *command = NULL; switch (button) { case 1: command = execp->backend->lclick_command; break; case 2: command = execp->backend->mclick_command; break; case 3: command = execp->backend->rclick_command; break; case 4: command = execp->backend->uwheel_command; break; case 5: command = execp->backend->dwheel_command; break; } if (command) { char *full_cmd = g_strdup_printf("export EXECP_X=%d;" "export EXECP_Y=%d;" "export EXECP_W=%d;" "export EXECP_H=%d; %s", x, y, execp->area.width, execp->area.height, command); tint_exec(full_cmd); g_free(full_cmd); } else { if (execp->backend->child_pipe > 0) { // Command currently running, nothing to do } else { if (execp->backend->timer) stop_timeout(execp->backend->timer); // Run command right away execp->backend->timer = add_timeout(10, 0, execp_timer_callback, execp, &execp->backend->timer); } } }
void clock_action(void *obj, int button, int x, int y, Time time) { char *command = NULL; switch (button) { case 1: command = clock_lclick_command; break; case 2: command = clock_mclick_command; break; case 3: command = clock_rclick_command; break; case 4: command = clock_uwheel_command; break; case 5: command = clock_dwheel_command; break; } tint_exec(command, NULL, NULL, time, obj, x, y, FALSE, TRUE); }
void clock_action(int button) { char *command = NULL; switch (button) { case 1: command = clock_lclick_command; break; case 2: command = clock_mclick_command; break; case 3: command = clock_rclick_command; break; case 4: command = clock_uwheel_command; break; case 5: command = clock_dwheel_command; break; } tint_exec(command); }