diff -ruN /usr/ports/sources/cvs-src/ratpoison/src/actions.c ratpoison/src/actions.c --- /usr/ports/sources/cvs-src/ratpoison/src/actions.c 2004-11-12 03:55:04.000000000 +0200 +++ ratpoison/src/actions.c 2004-11-13 00:40:08.108795352 +0200 @@ -92,6 +92,7 @@ {"ratwarp", cmd_ratwarp, arg_VOID}, {"ratrelwarp", cmd_ratrelwarp, arg_VOID}, {"ratclick", cmd_ratclick, arg_VOID}, + {"rathold", cmd_rathold, arg_VOID}, {"readkey", cmd_readkey, arg_STRING}, {"redisplay", cmd_redisplay, arg_VOID}, {"remhook", cmd_remhook, arg_STRING}, @@ -1948,6 +1949,31 @@ return NULL; } +char * +cmd_rathold (int interactive, char *data) +{ + int button = 1; + char *command[5]; + + if (data != NULL) + { + if (sscanf (data, "%d %s", &button, &command) < 0 || button < 1 || button > 3) + { + message("rathold: invalid argument"); + } + } + + if (strcmp(command, "down") == 0) + { + XTestFakeButtonEvent(dpy, button, True, CurrentTime); + } + else if(strcmp(command,"up")==0) + { + XTestFakeButtonEvent(dpy, button, False, CurrentTime); + } + + return NULL; +} char * cmd_curframe (int interactive, char *data) diff -ruN /usr/ports/sources/cvs-src/ratpoison/src/actions.h ratpoison/src/actions.h --- /usr/ports/sources/cvs-src/ratpoison/src/actions.h 2004-11-12 03:55:04.000000000 +0200 +++ ratpoison/src/actions.h 2004-11-13 00:38:07.830080496 +0200 @@ -128,6 +128,7 @@ char *cmd_ratwarp (int interactive, char *data); char *cmd_ratclick (int interactive, char *data); char * cmd_ratrelwarp (int interactive, char *data); +char *cmd_rathold(int interactive, char *data); rp_keymap *find_keymap (char *name); void initialize_default_keybindings (void);