Changeset 2474 for neercs/trunk/src/main.c
- Timestamp:
- Jun 22, 2008, 11:57:21 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
neercs/trunk/src/main.c
r2473 r2474 71 71 printf("Options :\n"); 72 72 printf("\t--pid\t\t-P <pid>\t\tattach <pid>\n"); 73 printf("\t\t\t-R\t\t\tre-attach another neercs\n"); 73 74 printf("\t--version\t-v \t\t\tdisplay version and exit\n"); 74 75 printf("\t--help\t\t-h \t\t\tthis help\n"); … … 86 87 long long unsigned int last_key_time = 0; 87 88 int lock_offset = 0; 88 89 int mainret = 0; 89 90 90 91 default_shell = getenv("SHELL"); … … 101 102 102 103 /* Create main canvas and associated caca window */ 104 /* FIXME: do not create display for -R/-h/-v */ 103 105 cv = cucul_create_canvas(0, 0); 104 106 dp = caca_create_display(cv); … … 141 143 screen_list->locked = 0; 142 144 screen_list->attached = 1; 145 screen_list->socket = 0; 146 screen_list->socket_dir = NULL; 147 screen_list->socket_path = NULL; 143 148 memset(screen_list->lockmsg, 0, 1024); 144 149 memset(screen_list->lockpass, 0, 1024); 145 146 150 147 151 if(!read_configuration_file("neercs.ini", screen_list)) … … 169 173 { 170 174 int option_index = 0; 175 char **sockets; 176 int grab = 0; 171 177 static struct myoption long_options[] = 172 178 { … … 178 184 }; 179 185 #if defined USE_GRAB 180 int c = mygetopt(argc, argv, " P:hv", long_options, &option_index);186 int c = mygetopt(argc, argv, "RP:hv", long_options, &option_index); 181 187 #else 182 int c = mygetopt(argc, argv, " hv", long_options, &option_index);188 int c = mygetopt(argc, argv, "Rhv", long_options, &option_index); 183 189 #endif 184 190 if(c == -1) … … 190 196 add_screen(screen_list,create_screen_grab(w, h, atoi(myoptarg))); 191 197 s+=2; 198 grab = 1; 199 break; 200 case 'R': 201 if(grab) 202 { 203 fprintf(stderr, "-P and -R can not be used together!\n"); 204 mainret = -1; 205 goto end; 206 } 207 sockets = list_sockets(screen_list->socket_dir); 208 if(sockets && sockets[0]) 209 { 210 request_attach(sockets[0]); 211 for(i=0; sockets[i]; i++) 212 free(sockets[i]); 213 free(sockets); 214 } 215 goto end; 192 216 break; 193 217 case 'h': /* --help */ 194 218 usage(argc, argv); 195 return 0;219 goto end; 196 220 break; 197 221 case 'v': /* --version */ … … 200 224 break; 201 225 default: 202 fprintf(stderr, "Unknow argument #%d\n", myoptind); 203 return -1; 226 fprintf(stderr, "Unknown argument #%d\n", myoptind); 227 mainret = -1; 228 goto end; 204 229 break; 205 230 } … … 233 258 234 259 refresh |= update_screens_contents(screen_list); 260 261 refresh |= read_socket(screen_list, cv, &dp); 235 262 236 263 /* No more screens, exit */ … … 510 537 } 511 538 539 if(screen_list->socket_path) { 540 unlink(screen_list->socket_path); 541 free(screen_list->socket_path); 542 } 543 if(screen_list->socket) 544 close(screen_list->socket); 545 512 546 free(screen_list->screen); 513 547 … … 536 570 free(recurrent_list); 537 571 538 return 0;572 return mainret; 539 573 } 540 574
Note: See TracChangeset
for help on using the changeset viewer.