Changeset 1079 for trunk/xdotool/xdotool.c
- Timestamp:
- Jun 1, 2008 11:30:36 PM (5 years ago)
- File:
-
- 1 edited
-
trunk/xdotool/xdotool.c (modified) (28 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/xdotool/xdotool.c
r1068 r1079 3 3 * command line interface to the xdo library 4 4 * 5 * $Id: xdotool.c 1 538 2007-09-04 06:00:24Z psionic$5 * $Id: xdotool.c 1880 2008-06-01 07:23:14Z jordansissel $ 6 6 * 7 7 * getwindowfocus contributed by Lee Pumphret … … 15 15 #include <getopt.h> 16 16 #include <string.h> 17 #include <strings.h> 18 17 19 18 20 #include "xdo.h" … … 28 30 void cmd_search(int argc, char **args); 29 31 void cmd_type(int argc, char **args); 32 void cmd_windowactivate(int argc, char **args); 30 33 void cmd_windowfocus(int argc, char **args); 31 void cmd_windowmap(int argc, char **args);32 34 void cmd_windowmap(int argc, char **args); 33 35 void cmd_windowmove(int argc, char **args); … … 35 37 void cmd_windowsize(int argc, char **args); 36 38 void cmd_windowunmap(int argc, char **args); 37 void cmd_windowunmap(int argc, char **args); 39 40 /* pager-like commands */ 41 void cmd_set_num_desktops(int argc, char **args); 42 void cmd_get_num_desktops(int argc, char **args); 43 void cmd_set_desktop(int argc, char **args); 44 void cmd_get_desktop(int argc, char **args); 45 void cmd_set_desktop_for_window(int argc, char **args); 46 void cmd_get_desktop_for_window(int argc, char **args); 38 47 39 48 xdo_t *xdo; 49 void window_print(Window wid); 40 50 41 51 struct dispatch { … … 47 57 { "search", cmd_search, }, 48 58 59 /* Help me! */ 49 60 { "help", cmd_help, }, 50 61 { "-h", cmd_help, }, … … 60 71 { "mouseup", cmd_mouseup, }, 61 72 { "type", cmd_type, }, 73 { "windowactivate", cmd_windowactivate, }, 62 74 { "windowfocus", cmd_windowfocus, }, 63 75 { "windowmap", cmd_windowmap, }, … … 66 78 { "windowsize", cmd_windowsize, }, 67 79 { "windowunmap", cmd_windowunmap, }, 80 81 { "set_num_desktops", cmd_set_num_desktops, }, 82 { "get_num_desktops", cmd_get_num_desktops, }, 83 { "set_desktop", cmd_set_desktop, }, 84 { "get_desktop", cmd_get_desktop, }, 85 { "set_desktop_for_window", cmd_set_desktop_for_window, }, 86 { "get_desktop_for_window", cmd_get_desktop_for_window, }, 68 87 { NULL, NULL, }, 69 88 }; … … 97 116 xdo_free(xdo); 98 117 return 0; 118 } 119 120 void window_print(Window wid) { 121 /* Window is XID is 'unsigned long' or CARD32 */ 122 printf("%ld\n", wid); 99 123 } 100 124 … … 114 138 void cmd_mousemove(int argc, char **args) { 115 139 int x, y; 116 char *cmd = *args; 117 argc -= 1; 118 args++; 140 char *cmd = *args; argc--; args++; 119 141 120 142 if (argc != 2) { … … 134 156 void cmd_mousemove_relative(int argc, char **args) { 135 157 int x, y; 136 char *cmd = *args; 137 argc -= 1; 138 args++; 158 char *cmd = *args; argc--; args++; 139 159 140 160 if (argc != 2) { … … 154 174 void cmd_mousedown(int argc, char **args) { 155 175 uint button; 156 char *cmd = *args; 157 argc -= 1; 158 args++; 176 char *cmd = *args; argc--; args++; 159 177 160 178 if (argc != 1) { … … 173 191 void cmd_mouseup(int argc, char **args) { 174 192 uint button; 175 char *cmd = *args; 176 argc -= 1; 177 args++; 193 char *cmd = *args; argc--; args++; 178 194 179 195 if (argc != 1) { … … 197 213 void cmd_type(int argc, char **args) { 198 214 int i; 199 char *cmd = *args; 200 argc -= 1; 201 args++; 215 char *cmd = *args; argc--; args++; 202 216 203 217 if (argc == 0) { … … 216 230 void cmd_key(int argc, char **args) { 217 231 int i; 218 char *cmd = *args; 219 int (*func)(xdo_t *, char *) = NULL; 220 221 argc -= 1; 222 args++; 232 char *cmd = *args; argc--; args++; 223 233 224 234 if (argc == 0) { … … 248 258 int x, y; 249 259 Window wid; 250 char *cmd = *args; 251 argc -= 1; 252 args++; 260 char *cmd = *args; argc--; args++; 253 261 254 262 if (argc != 3) { … … 257 265 } 258 266 259 wid = ( int)strtol(args[0], NULL, 0);267 wid = (Window)strtol(args[0], NULL, 0); 260 268 x = (int)strtol(args[1], NULL, 0); 261 269 y = (int)strtol(args[2], NULL, 0); … … 266 274 } 267 275 276 void cmd_windowactivate(int argc, char **args) { 277 Window wid; 278 char *cmd = *args; argc--; args++; 279 280 if (argc != 1) { 281 printf("usage: %s wid\n", cmd); 282 return; 283 } 284 285 wid = (Window)strtol(args[0], NULL, 0); 286 if (!xdo_window_activate(xdo, wid)) { 287 fprintf(stderr, "xdo_window_activate reported an error\n"); 288 return; 289 } 290 291 } 292 268 293 void cmd_windowfocus(int argc, char **args) { 269 294 Window wid; 270 char *cmd = *args; 271 argc -= 1; 272 args++; 295 char *cmd = *args; argc--; args++; 273 296 274 297 if (argc != 1) { … … 277 300 } 278 301 279 wid = ( int)strtol(args[0], NULL, 0);302 wid = (Window)strtol(args[0], NULL, 0); 280 303 if (!xdo_window_focus(xdo, wid)) { 281 304 fprintf(stderr, "xdo_window_focus reported an error\n"); … … 285 308 void cmd_windowraise(int argc, char **args) { 286 309 Window wid; 287 char *cmd = *args; 288 argc -= 1; 289 args++; 310 char *cmd = *args; argc--; args++; 290 311 291 312 if (argc != 1) { … … 294 315 } 295 316 296 wid = ( int)strtol(args[0], NULL, 0);317 wid = (Window)strtol(args[0], NULL, 0); 297 318 if (!xdo_window_raise(xdo, wid)) { 298 319 fprintf(stderr, "xdo_window_raise reported an error\n"); … … 334 355 } 335 356 336 wid = ( int)strtol(args[0], NULL, 0);357 wid = (Window)strtol(args[0], NULL, 0); 337 358 width = (int)strtol(args[1], NULL, 0); 338 359 height = (int)strtol(args[2], NULL, 0); … … 402 423 403 424 xdo_window_list_by_regex(xdo, *args, search_flags, &list, &nwindows); 404 /* XXX: We shouldn't assume 'Window' == 'int' here... */405 425 for (i = 0; i < nwindows; i++) 406 printf("%d\n", (int)list[i]);426 window_print(list[i]); 407 427 408 428 /* Free list as it's malloc'd by xdo_window_list_by_regex */ … … 412 432 /* Added 2007-07-28 - Lee Pumphret */ 413 433 void cmd_getwindowfocus(int argc, char **args) { 414 Window window = (Window)(-1); 415 char *cmd = *args; 416 argc -= 1; 417 args++; 434 Window wid = 0; 435 char *cmd = *args; argc--; args++; 418 436 419 437 if (argc != 0) { … … 422 440 } 423 441 424 if (!xdo_window_get_focus(xdo, &wi ndow)) {442 if (!xdo_window_get_focus(xdo, &wid)) { 425 443 fprintf(stderr, "xdo_window_focus reported an error\n"); 426 444 } else { 427 printf("%d\n", (int)window);445 window_print(wid); 428 446 } 429 447 } … … 431 449 void cmd_windowmap(int argc, char **args) { 432 450 Window wid; 433 char *cmd = *args; 434 argc -= 1; 435 args++; 451 char *cmd = *args; argc--; args++; 436 452 437 453 if (argc != 1) { … … 440 456 } 441 457 442 wid = ( int)strtol(args[0], NULL, 0);458 wid = (Window)strtol(args[0], NULL, 0); 443 459 if (!xdo_window_map(xdo, wid)) { 444 460 fprintf(stderr, "xdo_window_map reported an error\n"); … … 448 464 void cmd_windowunmap(int argc, char **args) { 449 465 Window wid; 450 char *cmd = *args; 451 argc -= 1; 452 args++; 466 char *cmd = *args; argc--; args++; 453 467 454 468 if (argc != 1) { … … 457 471 } 458 472 459 wid = ( int)strtol(args[0], NULL, 0);473 wid = (Window)strtol(args[0], NULL, 0); 460 474 if (!xdo_window_unmap(xdo, wid)) { 461 475 fprintf(stderr, "xdo_window_unmap reported an error\n"); 462 476 } 463 477 } 478 479 void cmd_set_num_desktops(int argc, char **args) { 480 char *cmd = *args; argc--; args++; 481 long ndesktops; 482 483 if (argc != 1) { 484 printf("usage: %s num_desktops\n", cmd); 485 return; 486 } 487 488 ndesktops = strtol(args[0], NULL, 0); 489 490 xdo_set_number_of_desktops(xdo, ndesktops); 491 } 492 493 void cmd_get_num_desktops(int argc, char **args) { 494 char *cmd = *args; argc--; args++; 495 long ndesktops = 0; 496 497 if (argc != 0) { 498 printf("usage: %s\n", cmd); 499 return; 500 } 501 502 xdo_get_number_of_desktops(xdo, &ndesktops); 503 504 printf("%ld\n", ndesktops); 505 } 506 507 void cmd_set_desktop(int argc, char **args) { 508 char *cmd = *args; argc--; args++; 509 long desktop; 510 511 if (argc != 1) { 512 printf("usage: %s desktop\n", cmd); 513 return; 514 } 515 516 desktop = strtol(args[0], NULL, 0); 517 518 xdo_set_current_desktop(xdo, desktop); 519 } 520 521 void cmd_get_desktop(int argc, char **args) { 522 char *cmd = *args; argc--; args++; 523 long desktop = 0; 524 525 if (argc != 0) { 526 printf("usage: %s\n", cmd); 527 return; 528 } 529 530 xdo_get_current_desktop(xdo, &desktop); 531 532 printf("%ld\n", desktop); 533 } 534 535 void cmd_set_desktop_for_window(int argc, char **args) { 536 char *cmd = *args; argc--; args++; 537 long desktop = 0; 538 Window window = 0; 539 540 if (argc != 2) { 541 printf("usage: %s <window> <desktop>\n", cmd); 542 return; 543 } 544 545 window = (Window)strtol(args[0], NULL, 0); 546 desktop = strtol(args[1], NULL, 0); 547 548 xdo_set_desktop_for_window(xdo, window, desktop); 549 } 550 551 void cmd_get_desktop_for_window(int argc, char **args) { 552 char *cmd = *args; argc--; args++; 553 long desktop = 0; 554 Window window = 0; 555 556 if (argc != 1) { 557 printf("usage: %s <window>\n", cmd); 558 return; 559 } 560 561 window = (Window)strtol(args[0], NULL, 0); 562 563 xdo_get_desktop_for_window(xdo, window, &desktop); 564 printf("%ld\n", desktop); 565 }
Note: See TracChangeset
for help on using the changeset viewer.

