int main(int argc, char **argv) { char *hide = "\x1b[2J\x1b[H\x1b[?25l"; char *show = "\x1b[?25h"; char **args = argv + 1; if (fb_init(FBDEV)) { fprintf(stderr, "fbpad: failed to initialize the framebuffer\n"); return 1; } if (sizeof(fbval_t) != FBM_BPP(fb_mode())) { fprintf(stderr, "fbpad: fbval_t does not match framebuffer depth\n"); return 1; } if (pad_init()) { fprintf(stderr, "fbpad: cannot find fonts\n"); return 1; } write(1, hide, strlen(hide)); signalsetup(); fcntl(0, F_SETFL, fcntl(0, F_GETFL) | O_NONBLOCK); while (args[0] && args[0][0] == '-') args++; mainloop(args[0] ? args : NULL); write(1, show, strlen(show)); pad_free(); scr_done(); fb_free(); return 0; }
int main(int argc, char *argv[]) { int i = 1; if (argc < 2) { printf(usage); return 1; } strcpy(filename, argv[argc - 1]); doc = doc_open(filename); if (!doc || !doc_pages(doc)) { fprintf(stderr, "fbpdf: cannot open <%s>\n", filename); return 1; } for (i = 1; i < argc && argv[i][0] == '-'; i++) { switch (argv[i][1]) { case 'r': rotate = atoi(argv[i][2] ? argv[i] + 2 : argv[++i]); break; case 'z': zoom = atoi(argv[i][2] ? argv[i] + 2 : argv[++i]); break; case 'p': num = atoi(argv[i][2] ? argv[i] + 2 : argv[++i]); break; } } printinfo(); if (fb_init()) return 1; srows = fb_rows(); scols = fb_cols(); if (FBM_BPP(fb_mode()) != sizeof(fbval_t)) fprintf(stderr, "fbpdf: fbval_t doesn't match fb depth\n"); else mainloop(); fb_free(); free(pbuf); if (doc) doc_close(doc); return 0; }