int main (int argc, char *argv[]) { xosd *osd; setlocale(LC_ALL, ""); osd = xosd_create (2); if (osd == NULL) { perror ("Could not create \"osd\""); exit (1); } xosd_set_font (osd, "-*-verdana-*-*-*-*-17-*-*-*-*-*-*-*"); xosd_display (osd, 0, XOSD_string, "verdana 17-----------------------------------------------------------------------"); sleep (2); /* el segundo*/ xosd_set_shadow_offset (osd, 4); xosd_set_font (osd, "-*-terminus-*-*-*-*-20-*-*-*-*-*-*-*"); xosd_set_colour (osd, "white"); xosd_set_pos (osd, XOSD_bottom); xosd_set_align (osd, XOSD_center); xosd_set_vertical_offset (osd, 48); xosd_display (osd, 0, XOSD_string, "terminus 20 con shadow y otro color"); sleep (8); xosd_destroy (osd); exit (0); }
static gboolean new_osd(xosd **_osd, guint lines) { xosd *osd = *_osd; if(osd) { if(xosd_get_number_lines(osd) == lines) return TRUE; xosd_destroy(osd); } if(lines <= 0) { osd = NULL; return FALSE; } osd = xosd_create(lines); xosd_set_pos(osd, XOSD_bottom); xosd_set_vertical_offset(osd, 16); xosd_set_align(osd, XOSD_center); xosd_set_horizontal_offset(osd, 0); xosd_set_font(osd, XOSD_FONT); xosd_set_outline_offset(osd, 1); xosd_set_outline_colour(osd, XOSD_OUTLINE_COLOR); xosd_set_shadow_offset(osd, 2); xosd_set_colour(osd, XOSD_COLOR); *_osd = osd; return TRUE; }
int main(void) { int s_fd; struct sockaddr_un server; char msg[20]; xosd *osd; if ((s_fd = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) { fprintf(stderr, "Couldn't create socket: %s\n", strerror(errno)); return EXIT_FAILURE; } memset(&server, 0, sizeof(struct sockaddr_un)); server.sun_family = AF_UNIX; strcpy(server.sun_path, VOLEVENTD_SOCKET); if (connect(s_fd, (struct sockaddr *) &server, sizeof(struct sockaddr_un)) < 0) { fprintf(stderr, "Couldn't connect to server: %s\n", strerror(errno)); return EXIT_FAILURE; } memset(&msg, 0, sizeof(msg)); /* set volume display options */ osd = xosd_create(2); xosd_set_bar_length(osd, 30); xosd_set_pos(osd, XOSD_middle); xosd_set_align(osd, XOSD_center); while (read(s_fd, msg, 20)) { if (strncmp(msg, MSG_MUTE, 4) == 0) { volume_display(osd, parse_percent(msg, 5), !parse_mute(msg, 5)); } else if (strncmp(msg, MSG_UNMUTE, 6) == 0) { volume_display(osd, parse_percent(msg, 7), !parse_mute(msg, 7)); } else if (strncmp(msg, MSG_VOL_UP, 6) == 0) { volume_display(osd, parse_percent(msg, 7), !parse_mute(msg, 7)); } else if (strncmp(msg, MSG_VOL_DOWN, 8) == 0) { volume_display(osd, parse_percent(msg, 9), !parse_mute(msg, 9)); } memset(msg, 0, 20); } close(s_fd); return 0; }
xosd * configure_osd(int lines) { xosd *osd; osd = xosd_create (NKEYS); xosd_set_font(osd, SK_FONT); xosd_set_pos(osd, SK_POS); xosd_set_align(osd, SK_ALIGN); xosd_set_colour(osd, SK_FG); xosd_set_outline_colour(osd, SK_OUTLINE); xosd_set_outline_offset(osd, SK_OFFSET); xosd_set_shadow_colour(osd, SK_SHADOW); xosd_set_shadow_offset(osd, SK_SHOFFSET); xosd_set_timeout(osd, SK_TIMEOUT); return osd; }
int main (int argc, char *argv[]) { /* if(argc < 2) { fprintf(stderr, "Usage: %s server-ip\n", argv[0]); exit(1); } servaddr = strdup(argv[1]); */ #ifdef USE_XOSD int ch; xosd *osd; while ((ch = getopt(argc, argv, "f:t:o:c:sa:")) != -1) { switch(ch) { case 'f': XOSD_FONT = strdup(optarg); break; case 'a': /* align... tr == top right bl == bottomleft */ if(strlen(optarg) != 2) { fprintf(stderr, "-a error\n"); exit(-1); } if(*optarg == 'b') vert = 0; if(optarg[1] == 'l') horiz = 0; break; case 't': XOSD_TIMEOUT = atoi(optarg); if(XOSD_TIMEOUT < 1) XOSD_TIMEOUT = DEF_XOSD_TIMEOUT; break; case 'o': XOSD_VOFFSET = atoi(optarg); break; case 'c': XOSD_COLOUR = strdup(optarg); break; case 's': test = 1; break; case '?': default: usage(); exit(-1); } } argc -= optind; argv += optind; if(test) { osd = xosd_create(2); xosd_set_font(osd, XOSD_FONT); xosd_set_colour(osd, XOSD_COLOUR); xosd_set_timeout(osd, XOSD_TIMEOUT); xosd_set_pos(osd, vert ? XOSD_top : XOSD_bottom); xosd_set_align(osd, horiz ? XOSD_right : XOSD_left); xosd_set_vertical_offset(osd, XOSD_VOFFSET); xosd_set_shadow_offset(osd, 1); xosd_display(osd, 0, XOSD_printf, "Welcome to xcid!"); xosd_wait_until_no_display(osd); xosd_destroy(osd); } #endif start_netloop (); #ifdef USE_XOSD free(XOSD_COLOUR); free(XOSD_FONT); #endif return 0; }