Ignore:
Timestamp:
Jun 1, 2008 11:30:36 PM (5 years ago)
Author:
dkg
Message:

xdotool: committing local changes after upstream update to 20080601

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/xdotool/xdotool.c

    r1068 r1079  
    33 * command line interface to the xdo library 
    44 * 
    5  * $Id: xdotool.c 1538 2007-09-04 06:00:24Z psionic $ 
     5 * $Id: xdotool.c 1880 2008-06-01 07:23:14Z jordansissel $ 
    66 * 
    77 * getwindowfocus contributed by Lee Pumphret 
     
    1515#include <getopt.h> 
    1616#include <string.h> 
     17#include <strings.h> 
     18 
    1719 
    1820#include "xdo.h" 
     
    2830void cmd_search(int argc, char **args); 
    2931void cmd_type(int argc, char **args); 
     32void cmd_windowactivate(int argc, char **args); 
    3033void cmd_windowfocus(int argc, char **args); 
    31 void cmd_windowmap(int argc, char **args); 
    3234void cmd_windowmap(int argc, char **args); 
    3335void cmd_windowmove(int argc, char **args); 
     
    3537void cmd_windowsize(int argc, char **args); 
    3638void cmd_windowunmap(int argc, char **args); 
    37 void cmd_windowunmap(int argc, char **args); 
     39 
     40/* pager-like commands */ 
     41void cmd_set_num_desktops(int argc, char **args); 
     42void cmd_get_num_desktops(int argc, char **args); 
     43void cmd_set_desktop(int argc, char **args); 
     44void cmd_get_desktop(int argc, char **args); 
     45void cmd_set_desktop_for_window(int argc, char **args); 
     46void cmd_get_desktop_for_window(int argc, char **args); 
    3847 
    3948xdo_t *xdo; 
     49void window_print(Window wid); 
    4050 
    4151struct dispatch { 
     
    4757  { "search", cmd_search, }, 
    4858 
     59  /* Help me! */ 
    4960  { "help", cmd_help, }, 
    5061  { "-h", cmd_help, }, 
     
    6071  { "mouseup", cmd_mouseup, }, 
    6172  { "type", cmd_type, }, 
     73  { "windowactivate", cmd_windowactivate, }, 
    6274  { "windowfocus", cmd_windowfocus, }, 
    6375  { "windowmap", cmd_windowmap, }, 
     
    6678  { "windowsize", cmd_windowsize, }, 
    6779  { "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, }, 
    6887  { NULL, NULL, }, 
    6988}; 
     
    97116  xdo_free(xdo); 
    98117  return 0; 
     118} 
     119 
     120void window_print(Window wid) { 
     121  /* Window is XID is 'unsigned long' or CARD32 */ 
     122  printf("%ld\n", wid); 
    99123} 
    100124 
     
    114138void cmd_mousemove(int argc, char **args) { 
    115139  int x, y; 
    116   char *cmd = *args; 
    117   argc -= 1; 
    118   args++; 
     140  char *cmd = *args; argc--; args++; 
    119141 
    120142  if (argc != 2) { 
     
    134156void cmd_mousemove_relative(int argc, char **args) { 
    135157  int x, y; 
    136   char *cmd = *args; 
    137   argc -= 1; 
    138   args++; 
     158  char *cmd = *args; argc--; args++; 
    139159 
    140160  if (argc != 2) { 
     
    154174void cmd_mousedown(int argc, char **args) { 
    155175  uint button; 
    156   char *cmd = *args; 
    157   argc -= 1; 
    158   args++; 
     176  char *cmd = *args; argc--; args++; 
    159177 
    160178  if (argc != 1) { 
     
    173191void cmd_mouseup(int argc, char **args) { 
    174192  uint button; 
    175   char *cmd = *args; 
    176   argc -= 1; 
    177   args++; 
     193  char *cmd = *args; argc--; args++; 
    178194 
    179195  if (argc != 1) { 
     
    197213void cmd_type(int argc, char **args) { 
    198214  int i; 
    199   char *cmd = *args; 
    200   argc -= 1; 
    201   args++; 
     215  char *cmd = *args; argc--; args++; 
    202216 
    203217  if (argc == 0) { 
     
    216230void cmd_key(int argc, char **args) { 
    217231  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++; 
    223233 
    224234  if (argc == 0) { 
     
    248258  int x, y; 
    249259  Window wid; 
    250   char *cmd = *args; 
    251   argc -= 1; 
    252   args++; 
     260  char *cmd = *args; argc--; args++; 
    253261 
    254262  if (argc != 3) { 
     
    257265  } 
    258266 
    259   wid = (int)strtol(args[0], NULL, 0); 
     267  wid = (Window)strtol(args[0], NULL, 0); 
    260268  x = (int)strtol(args[1], NULL, 0); 
    261269  y = (int)strtol(args[2], NULL, 0); 
     
    266274} 
    267275 
     276void 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 
    268293void cmd_windowfocus(int argc, char **args) { 
    269294  Window wid; 
    270   char *cmd = *args; 
    271   argc -= 1; 
    272   args++; 
     295  char *cmd = *args; argc--; args++; 
    273296 
    274297  if (argc != 1) { 
     
    277300  } 
    278301 
    279   wid = (int)strtol(args[0], NULL, 0); 
     302  wid = (Window)strtol(args[0], NULL, 0); 
    280303  if (!xdo_window_focus(xdo, wid)) { 
    281304    fprintf(stderr, "xdo_window_focus reported an error\n"); 
     
    285308void cmd_windowraise(int argc, char **args) { 
    286309  Window wid; 
    287   char *cmd = *args; 
    288   argc -= 1; 
    289   args++; 
     310  char *cmd = *args; argc--; args++; 
    290311 
    291312  if (argc != 1) { 
     
    294315  } 
    295316 
    296   wid = (int)strtol(args[0], NULL, 0); 
     317  wid = (Window)strtol(args[0], NULL, 0); 
    297318  if (!xdo_window_raise(xdo, wid)) { 
    298319    fprintf(stderr, "xdo_window_raise reported an error\n"); 
     
    334355  } 
    335356 
    336   wid = (int)strtol(args[0], NULL, 0); 
     357  wid = (Window)strtol(args[0], NULL, 0); 
    337358  width = (int)strtol(args[1], NULL, 0); 
    338359  height = (int)strtol(args[2], NULL, 0); 
     
    402423 
    403424  xdo_window_list_by_regex(xdo, *args, search_flags, &list, &nwindows); 
    404   /* XXX: We shouldn't assume 'Window' == 'int' here... */ 
    405425  for (i = 0; i < nwindows; i++) 
    406     printf("%d\n", (int)list[i]); 
     426    window_print(list[i]); 
    407427 
    408428  /* Free list as it's malloc'd by xdo_window_list_by_regex */ 
     
    412432/* Added 2007-07-28 - Lee Pumphret */ 
    413433void 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++; 
    418436 
    419437  if (argc != 0) { 
     
    422440  } 
    423441 
    424   if (!xdo_window_get_focus(xdo, &window)) { 
     442  if (!xdo_window_get_focus(xdo, &wid)) { 
    425443    fprintf(stderr, "xdo_window_focus reported an error\n"); 
    426444  } else { 
    427     printf("%d\n", (int)window); 
     445    window_print(wid); 
    428446  } 
    429447} 
     
    431449void cmd_windowmap(int argc, char **args) { 
    432450  Window wid; 
    433   char *cmd = *args; 
    434   argc -= 1; 
    435   args++; 
     451  char *cmd = *args; argc--; args++; 
    436452 
    437453  if (argc != 1) { 
     
    440456  } 
    441457 
    442   wid = (int)strtol(args[0], NULL, 0); 
     458  wid = (Window)strtol(args[0], NULL, 0); 
    443459  if (!xdo_window_map(xdo, wid)) { 
    444460    fprintf(stderr, "xdo_window_map reported an error\n"); 
     
    448464void cmd_windowunmap(int argc, char **args) { 
    449465  Window wid; 
    450   char *cmd = *args; 
    451   argc -= 1; 
    452   args++; 
     466  char *cmd = *args; argc--; args++; 
    453467 
    454468  if (argc != 1) { 
     
    457471  } 
    458472 
    459   wid = (int)strtol(args[0], NULL, 0); 
     473  wid = (Window)strtol(args[0], NULL, 0); 
    460474  if (!xdo_window_unmap(xdo, wid)) { 
    461475    fprintf(stderr, "xdo_window_unmap reported an error\n"); 
    462476  } 
    463477} 
     478 
     479void 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 
     493void 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 
     507void 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 
     521void 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 
     535void 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 
     551void 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.