[BACK]Return to server-client.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/server-client.c between version 1.390 and 1.391

version 1.390, 2021/11/15 10:58:13 version 1.391, 2022/02/16 18:55:05
Line 596 
Line 596 
                 log_debug("double-click at %u,%u", x, y);                  log_debug("double-click at %u,%u", x, y);
         } else if ((m->sgr_type != ' ' &&          } else if ((m->sgr_type != ' ' &&
             MOUSE_DRAG(m->sgr_b) &&              MOUSE_DRAG(m->sgr_b) &&
             MOUSE_BUTTONS(m->sgr_b) == 3) ||              MOUSE_RELEASE(m->sgr_b)) ||
             (m->sgr_type == ' ' &&              (m->sgr_type == ' ' &&
             MOUSE_DRAG(m->b) &&              MOUSE_DRAG(m->b) &&
             MOUSE_BUTTONS(m->b) == 3 &&              MOUSE_RELEASE(m->b) &&
             MOUSE_BUTTONS(m->lb) == 3)) {              MOUSE_RELEASE(m->lb))) {
                 type = MOVE;                  type = MOVE;
                 x = m->x, y = m->y, b = 0;                  x = m->x, y = m->y, b = 0;
                 log_debug("move at %u,%u", x, y);                  log_debug("move at %u,%u", x, y);
Line 753 
Line 753 
                 m->wp = -1;                  m->wp = -1;
   
         /* Stop dragging if needed. */          /* Stop dragging if needed. */
         if (type != DRAG && type != WHEEL && c->tty.mouse_drag_flag) {          if (type != DRAG && type != WHEEL && c->tty.mouse_drag_flag != 0) {
                 if (c->tty.mouse_drag_release != NULL)                  if (c->tty.mouse_drag_release != NULL)
                         c->tty.mouse_drag_release(c, m);                          c->tty.mouse_drag_release(c, m);
   
Line 764 
Line 764 
                  * End a mouse drag by passing a MouseDragEnd key corresponding                   * End a mouse drag by passing a MouseDragEnd key corresponding
                  * to the button that started the drag.                   * to the button that started the drag.
                  */                   */
                 switch (c->tty.mouse_drag_flag) {                  switch (c->tty.mouse_drag_flag - 1) {
                 case 1:                  case MOUSE_BUTTON_1:
                         if (where == PANE)                          if (where == PANE)
                                 key = KEYC_MOUSEDRAGEND1_PANE;                                  key = KEYC_MOUSEDRAGEND1_PANE;
                         if (where == STATUS)                          if (where == STATUS)
Line 779 
Line 779 
                         if (where == BORDER)                          if (where == BORDER)
                                 key = KEYC_MOUSEDRAGEND1_BORDER;                                  key = KEYC_MOUSEDRAGEND1_BORDER;
                         break;                          break;
                 case 2:                  case MOUSE_BUTTON_2:
                         if (where == PANE)                          if (where == PANE)
                                 key = KEYC_MOUSEDRAGEND2_PANE;                                  key = KEYC_MOUSEDRAGEND2_PANE;
                         if (where == STATUS)                          if (where == STATUS)
Line 793 
Line 793 
                         if (where == BORDER)                          if (where == BORDER)
                                 key = KEYC_MOUSEDRAGEND2_BORDER;                                  key = KEYC_MOUSEDRAGEND2_BORDER;
                         break;                          break;
                 case 3:                  case MOUSE_BUTTON_3:
                         if (where == PANE)                          if (where == PANE)
                                 key = KEYC_MOUSEDRAGEND3_PANE;                                  key = KEYC_MOUSEDRAGEND3_PANE;
                         if (where == STATUS)                          if (where == STATUS)
Line 807 
Line 807 
                         if (where == BORDER)                          if (where == BORDER)
                                 key = KEYC_MOUSEDRAGEND3_BORDER;                                  key = KEYC_MOUSEDRAGEND3_BORDER;
                         break;                          break;
                   case MOUSE_BUTTON_6:
                           if (where == PANE)
                                   key = KEYC_MOUSEDRAGEND6_PANE;
                           if (where == STATUS)
                                   key = KEYC_MOUSEDRAGEND6_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_MOUSEDRAGEND6_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_MOUSEDRAGEND6_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_MOUSEDRAGEND6_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_MOUSEDRAGEND6_BORDER;
                           break;
                   case MOUSE_BUTTON_7:
                           if (where == PANE)
                                   key = KEYC_MOUSEDRAGEND7_PANE;
                           if (where == STATUS)
                                   key = KEYC_MOUSEDRAGEND7_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_MOUSEDRAGEND7_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_MOUSEDRAGEND7_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_MOUSEDRAGEND7_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_MOUSEDRAGEND7_BORDER;
                           break;
                   case MOUSE_BUTTON_8:
                           if (where == PANE)
                                   key = KEYC_MOUSEDRAGEND8_PANE;
                           if (where == STATUS)
                                   key = KEYC_MOUSEDRAGEND8_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_MOUSEDRAGEND8_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_MOUSEDRAGEND8_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_MOUSEDRAGEND8_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_MOUSEDRAGEND8_BORDER;
                           break;
                   case MOUSE_BUTTON_9:
                           if (where == PANE)
                                   key = KEYC_MOUSEDRAGEND9_PANE;
                           if (where == STATUS)
                                   key = KEYC_MOUSEDRAGEND9_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_MOUSEDRAGEND9_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_MOUSEDRAGEND9_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_MOUSEDRAGEND9_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_MOUSEDRAGEND9_BORDER;
                           break;
                   case MOUSE_BUTTON_10:
                           if (where == PANE)
                                   key = KEYC_MOUSEDRAGEND10_PANE;
                           if (where == STATUS)
                                   key = KEYC_MOUSEDRAGEND10_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_MOUSEDRAGEND10_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_MOUSEDRAGEND10_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_MOUSEDRAGEND10_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_MOUSEDRAGEND10_BORDER;
                           break;
                   case MOUSE_BUTTON_11:
                           if (where == PANE)
                                   key = KEYC_MOUSEDRAGEND11_PANE;
                           if (where == STATUS)
                                   key = KEYC_MOUSEDRAGEND11_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_MOUSEDRAGEND11_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_MOUSEDRAGEND11_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_MOUSEDRAGEND11_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_MOUSEDRAGEND11_BORDER;
                           break;
                 default:                  default:
                         key = KEYC_MOUSE;                          key = KEYC_MOUSE;
                         break;                          break;
Line 839 
Line 923 
                         key = KEYC_DRAGGING;                          key = KEYC_DRAGGING;
                 else {                  else {
                         switch (MOUSE_BUTTONS(b)) {                          switch (MOUSE_BUTTONS(b)) {
                         case 0:                          case MOUSE_BUTTON_1:
                                 if (where == PANE)                                  if (where == PANE)
                                         key = KEYC_MOUSEDRAG1_PANE;                                          key = KEYC_MOUSEDRAG1_PANE;
                                 if (where == STATUS)                                  if (where == STATUS)
Line 853 
Line 937 
                                 if (where == BORDER)                                  if (where == BORDER)
                                         key = KEYC_MOUSEDRAG1_BORDER;                                          key = KEYC_MOUSEDRAG1_BORDER;
                                 break;                                  break;
                         case 1:                          case MOUSE_BUTTON_2:
                                 if (where == PANE)                                  if (where == PANE)
                                         key = KEYC_MOUSEDRAG2_PANE;                                          key = KEYC_MOUSEDRAG2_PANE;
                                 if (where == STATUS)                                  if (where == STATUS)
Line 867 
Line 951 
                                 if (where == BORDER)                                  if (where == BORDER)
                                         key = KEYC_MOUSEDRAG2_BORDER;                                          key = KEYC_MOUSEDRAG2_BORDER;
                                 break;                                  break;
                         case 2:                          case MOUSE_BUTTON_3:
                                 if (where == PANE)                                  if (where == PANE)
                                         key = KEYC_MOUSEDRAG3_PANE;                                          key = KEYC_MOUSEDRAG3_PANE;
                                 if (where == STATUS)                                  if (where == STATUS)
Line 881 
Line 965 
                                 if (where == BORDER)                                  if (where == BORDER)
                                         key = KEYC_MOUSEDRAG3_BORDER;                                          key = KEYC_MOUSEDRAG3_BORDER;
                                 break;                                  break;
                           case MOUSE_BUTTON_6:
                                   if (where == PANE)
                                           key = KEYC_MOUSEDRAG6_PANE;
                                   if (where == STATUS)
                                           key = KEYC_MOUSEDRAG6_STATUS;
                                   if (where == STATUS_LEFT)
                                           key = KEYC_MOUSEDRAG6_STATUS_LEFT;
                                   if (where == STATUS_RIGHT)
                                           key = KEYC_MOUSEDRAG6_STATUS_RIGHT;
                                   if (where == STATUS_DEFAULT)
                                           key = KEYC_MOUSEDRAG6_STATUS_DEFAULT;
                                   if (where == BORDER)
                                           key = KEYC_MOUSEDRAG6_BORDER;
                                   break;
                           case MOUSE_BUTTON_7:
                                   if (where == PANE)
                                           key = KEYC_MOUSEDRAG7_PANE;
                                   if (where == STATUS)
                                           key = KEYC_MOUSEDRAG7_STATUS;
                                   if (where == STATUS_LEFT)
                                           key = KEYC_MOUSEDRAG7_STATUS_LEFT;
                                   if (where == STATUS_RIGHT)
                                           key = KEYC_MOUSEDRAG7_STATUS_RIGHT;
                                   if (where == STATUS_DEFAULT)
                                           key = KEYC_MOUSEDRAG7_STATUS_DEFAULT;
                                   if (where == BORDER)
                                           key = KEYC_MOUSEDRAG7_BORDER;
                                   break;
                           case MOUSE_BUTTON_8:
                                   if (where == PANE)
                                           key = KEYC_MOUSEDRAG8_PANE;
                                   if (where == STATUS)
                                           key = KEYC_MOUSEDRAG8_STATUS;
                                   if (where == STATUS_LEFT)
                                           key = KEYC_MOUSEDRAG8_STATUS_LEFT;
                                   if (where == STATUS_RIGHT)
                                           key = KEYC_MOUSEDRAG8_STATUS_RIGHT;
                                   if (where == STATUS_DEFAULT)
                                           key = KEYC_MOUSEDRAG8_STATUS_DEFAULT;
                                   if (where == BORDER)
                                           key = KEYC_MOUSEDRAG8_BORDER;
                                   break;
                           case MOUSE_BUTTON_9:
                                   if (where == PANE)
                                           key = KEYC_MOUSEDRAG9_PANE;
                                   if (where == STATUS)
                                           key = KEYC_MOUSEDRAG9_STATUS;
                                   if (where == STATUS_LEFT)
                                           key = KEYC_MOUSEDRAG9_STATUS_LEFT;
                                   if (where == STATUS_RIGHT)
                                           key = KEYC_MOUSEDRAG9_STATUS_RIGHT;
                                   if (where == STATUS_DEFAULT)
                                           key = KEYC_MOUSEDRAG9_STATUS_DEFAULT;
                                   if (where == BORDER)
                                           key = KEYC_MOUSEDRAG9_BORDER;
                                   break;
                           case MOUSE_BUTTON_10:
                                   if (where == PANE)
                                           key = KEYC_MOUSEDRAG10_PANE;
                                   if (where == STATUS)
                                           key = KEYC_MOUSEDRAG10_STATUS;
                                   if (where == STATUS_LEFT)
                                           key = KEYC_MOUSEDRAG10_STATUS_LEFT;
                                   if (where == STATUS_RIGHT)
                                           key = KEYC_MOUSEDRAG10_STATUS_RIGHT;
                                   if (where == STATUS_DEFAULT)
                                           key = KEYC_MOUSEDRAG10_STATUS_DEFAULT;
                                   if (where == BORDER)
                                           key = KEYC_MOUSEDRAG10_BORDER;
                                   break;
                           case MOUSE_BUTTON_11:
                                   if (where == PANE)
                                           key = KEYC_MOUSEDRAG11_PANE;
                                   if (where == STATUS)
                                           key = KEYC_MOUSEDRAG11_STATUS;
                                   if (where == STATUS_LEFT)
                                           key = KEYC_MOUSEDRAG11_STATUS_LEFT;
                                   if (where == STATUS_RIGHT)
                                           key = KEYC_MOUSEDRAG11_STATUS_RIGHT;
                                   if (where == STATUS_DEFAULT)
                                           key = KEYC_MOUSEDRAG11_STATUS_DEFAULT;
                                   if (where == BORDER)
                                           key = KEYC_MOUSEDRAG11_BORDER;
                                   break;
                         }                          }
                 }                  }
   
Line 921 
Line 1089 
                 break;                  break;
         case UP:          case UP:
                 switch (MOUSE_BUTTONS(b)) {                  switch (MOUSE_BUTTONS(b)) {
                 case 0:                  case MOUSE_BUTTON_1:
                         if (where == PANE)                          if (where == PANE)
                                 key = KEYC_MOUSEUP1_PANE;                                  key = KEYC_MOUSEUP1_PANE;
                         if (where == STATUS)                          if (where == STATUS)
Line 935 
Line 1103 
                         if (where == BORDER)                          if (where == BORDER)
                                 key = KEYC_MOUSEUP1_BORDER;                                  key = KEYC_MOUSEUP1_BORDER;
                         break;                          break;
                 case 1:                  case MOUSE_BUTTON_2:
                         if (where == PANE)                          if (where == PANE)
                                 key = KEYC_MOUSEUP2_PANE;                                  key = KEYC_MOUSEUP2_PANE;
                         if (where == STATUS)                          if (where == STATUS)
Line 949 
Line 1117 
                         if (where == BORDER)                          if (where == BORDER)
                                 key = KEYC_MOUSEUP2_BORDER;                                  key = KEYC_MOUSEUP2_BORDER;
                         break;                          break;
                 case 2:                  case MOUSE_BUTTON_3:
                         if (where == PANE)                          if (where == PANE)
                                 key = KEYC_MOUSEUP3_PANE;                                  key = KEYC_MOUSEUP3_PANE;
                         if (where == STATUS)                          if (where == STATUS)
Line 963 
Line 1131 
                         if (where == BORDER)                          if (where == BORDER)
                                 key = KEYC_MOUSEUP3_BORDER;                                  key = KEYC_MOUSEUP3_BORDER;
                         break;                          break;
                   case MOUSE_BUTTON_6:
                           if (where == PANE)
                                   key = KEYC_MOUSEUP6_PANE;
                           if (where == STATUS)
                                   key = KEYC_MOUSEUP6_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_MOUSEUP6_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_MOUSEUP6_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_MOUSEUP6_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_MOUSEUP6_BORDER;
                           break;
                   case MOUSE_BUTTON_7:
                           if (where == PANE)
                                   key = KEYC_MOUSEUP7_PANE;
                           if (where == STATUS)
                                   key = KEYC_MOUSEUP7_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_MOUSEUP7_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_MOUSEUP7_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_MOUSEUP7_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_MOUSEUP7_BORDER;
                           break;
                   case MOUSE_BUTTON_8:
                           if (where == PANE)
                                   key = KEYC_MOUSEUP8_PANE;
                           if (where == STATUS)
                                   key = KEYC_MOUSEUP8_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_MOUSEUP8_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_MOUSEUP8_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_MOUSEUP8_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_MOUSEUP8_BORDER;
                           break;
                   case MOUSE_BUTTON_9:
                           if (where == PANE)
                                   key = KEYC_MOUSEUP9_PANE;
                           if (where == STATUS)
                                   key = KEYC_MOUSEUP9_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_MOUSEUP9_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_MOUSEUP9_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_MOUSEUP9_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_MOUSEUP9_BORDER;
                           break;
                   case MOUSE_BUTTON_10:
                           if (where == PANE)
                                   key = KEYC_MOUSEUP1_PANE;
                           if (where == STATUS)
                                   key = KEYC_MOUSEUP1_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_MOUSEUP1_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_MOUSEUP1_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_MOUSEUP1_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_MOUSEUP1_BORDER;
                           break;
                   case MOUSE_BUTTON_11:
                           if (where == PANE)
                                   key = KEYC_MOUSEUP11_PANE;
                           if (where == STATUS)
                                   key = KEYC_MOUSEUP11_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_MOUSEUP11_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_MOUSEUP11_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_MOUSEUP11_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_MOUSEUP11_BORDER;
                           break;
                 }                  }
                 break;                  break;
         case DOWN:          case DOWN:
                 switch (MOUSE_BUTTONS(b)) {                  switch (MOUSE_BUTTONS(b)) {
                 case 0:                  case MOUSE_BUTTON_1:
                         if (where == PANE)                          if (where == PANE)
                                 key = KEYC_MOUSEDOWN1_PANE;                                  key = KEYC_MOUSEDOWN1_PANE;
                         if (where == STATUS)                          if (where == STATUS)
Line 981 
Line 1233 
                         if (where == BORDER)                          if (where == BORDER)
                                 key = KEYC_MOUSEDOWN1_BORDER;                                  key = KEYC_MOUSEDOWN1_BORDER;
                         break;                          break;
                 case 1:                  case MOUSE_BUTTON_2:
                         if (where == PANE)                          if (where == PANE)
                                 key = KEYC_MOUSEDOWN2_PANE;                                  key = KEYC_MOUSEDOWN2_PANE;
                         if (where == STATUS)                          if (where == STATUS)
Line 995 
Line 1247 
                         if (where == BORDER)                          if (where == BORDER)
                                 key = KEYC_MOUSEDOWN2_BORDER;                                  key = KEYC_MOUSEDOWN2_BORDER;
                         break;                          break;
                 case 2:                  case MOUSE_BUTTON_3:
                         if (where == PANE)                          if (where == PANE)
                                 key = KEYC_MOUSEDOWN3_PANE;                                  key = KEYC_MOUSEDOWN3_PANE;
                         if (where == STATUS)                          if (where == STATUS)
Line 1009 
Line 1261 
                         if (where == BORDER)                          if (where == BORDER)
                                 key = KEYC_MOUSEDOWN3_BORDER;                                  key = KEYC_MOUSEDOWN3_BORDER;
                         break;                          break;
                   case MOUSE_BUTTON_6:
                           if (where == PANE)
                                   key = KEYC_MOUSEDOWN6_PANE;
                           if (where == STATUS)
                                   key = KEYC_MOUSEDOWN6_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_MOUSEDOWN6_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_MOUSEDOWN6_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_MOUSEDOWN6_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_MOUSEDOWN6_BORDER;
                           break;
                   case MOUSE_BUTTON_7:
                           if (where == PANE)
                                   key = KEYC_MOUSEDOWN7_PANE;
                           if (where == STATUS)
                                   key = KEYC_MOUSEDOWN7_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_MOUSEDOWN7_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_MOUSEDOWN7_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_MOUSEDOWN7_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_MOUSEDOWN7_BORDER;
                           break;
                   case MOUSE_BUTTON_8:
                           if (where == PANE)
                                   key = KEYC_MOUSEDOWN8_PANE;
                           if (where == STATUS)
                                   key = KEYC_MOUSEDOWN8_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_MOUSEDOWN8_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_MOUSEDOWN8_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_MOUSEDOWN8_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_MOUSEDOWN8_BORDER;
                           break;
                   case MOUSE_BUTTON_9:
                           if (where == PANE)
                                   key = KEYC_MOUSEDOWN9_PANE;
                           if (where == STATUS)
                                   key = KEYC_MOUSEDOWN9_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_MOUSEDOWN9_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_MOUSEDOWN9_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_MOUSEDOWN9_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_MOUSEDOWN9_BORDER;
                           break;
                   case MOUSE_BUTTON_10:
                           if (where == PANE)
                                   key = KEYC_MOUSEDOWN10_PANE;
                           if (where == STATUS)
                                   key = KEYC_MOUSEDOWN10_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_MOUSEDOWN10_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_MOUSEDOWN10_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_MOUSEDOWN10_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_MOUSEDOWN10_BORDER;
                           break;
                   case MOUSE_BUTTON_11:
                           if (where == PANE)
                                   key = KEYC_MOUSEDOWN11_PANE;
                           if (where == STATUS)
                                   key = KEYC_MOUSEDOWN11_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_MOUSEDOWN11_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_MOUSEDOWN11_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_MOUSEDOWN11_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_MOUSEDOWN11_BORDER;
                           break;
                 }                  }
                 break;                  break;
         case SECOND:          case SECOND:
                 switch (MOUSE_BUTTONS(b)) {                  switch (MOUSE_BUTTONS(b)) {
                 case 0:                  case MOUSE_BUTTON_1:
                         if (where == PANE)                          if (where == PANE)
                                 key = KEYC_SECONDCLICK1_PANE;                                  key = KEYC_SECONDCLICK1_PANE;
                         if (where == STATUS)                          if (where == STATUS)
Line 1027 
Line 1363 
                         if (where == BORDER)                          if (where == BORDER)
                                 key = KEYC_SECONDCLICK1_BORDER;                                  key = KEYC_SECONDCLICK1_BORDER;
                         break;                          break;
                 case 1:                  case MOUSE_BUTTON_2:
                         if (where == PANE)                          if (where == PANE)
                                 key = KEYC_SECONDCLICK2_PANE;                                  key = KEYC_SECONDCLICK2_PANE;
                         if (where == STATUS)                          if (where == STATUS)
Line 1041 
Line 1377 
                         if (where == BORDER)                          if (where == BORDER)
                                 key = KEYC_SECONDCLICK2_BORDER;                                  key = KEYC_SECONDCLICK2_BORDER;
                         break;                          break;
                 case 2:                  case MOUSE_BUTTON_3:
                         if (where == PANE)                          if (where == PANE)
                                 key = KEYC_SECONDCLICK3_PANE;                                  key = KEYC_SECONDCLICK3_PANE;
                         if (where == STATUS)                          if (where == STATUS)
Line 1055 
Line 1391 
                         if (where == BORDER)                          if (where == BORDER)
                                 key = KEYC_SECONDCLICK3_BORDER;                                  key = KEYC_SECONDCLICK3_BORDER;
                         break;                          break;
                   case MOUSE_BUTTON_6:
                           if (where == PANE)
                                   key = KEYC_SECONDCLICK6_PANE;
                           if (where == STATUS)
                                   key = KEYC_SECONDCLICK6_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_SECONDCLICK6_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_SECONDCLICK6_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_SECONDCLICK6_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_SECONDCLICK6_BORDER;
                           break;
                   case MOUSE_BUTTON_7:
                           if (where == PANE)
                                   key = KEYC_SECONDCLICK7_PANE;
                           if (where == STATUS)
                                   key = KEYC_SECONDCLICK7_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_SECONDCLICK7_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_SECONDCLICK7_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_SECONDCLICK7_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_SECONDCLICK7_BORDER;
                           break;
                   case MOUSE_BUTTON_8:
                           if (where == PANE)
                                   key = KEYC_SECONDCLICK8_PANE;
                           if (where == STATUS)
                                   key = KEYC_SECONDCLICK8_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_SECONDCLICK8_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_SECONDCLICK8_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_SECONDCLICK8_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_SECONDCLICK8_BORDER;
                           break;
                   case MOUSE_BUTTON_9:
                           if (where == PANE)
                                   key = KEYC_SECONDCLICK9_PANE;
                           if (where == STATUS)
                                   key = KEYC_SECONDCLICK9_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_SECONDCLICK9_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_SECONDCLICK9_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_SECONDCLICK9_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_SECONDCLICK9_BORDER;
                           break;
                   case MOUSE_BUTTON_10:
                           if (where == PANE)
                                   key = KEYC_SECONDCLICK10_PANE;
                           if (where == STATUS)
                                   key = KEYC_SECONDCLICK10_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_SECONDCLICK10_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_SECONDCLICK10_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_SECONDCLICK10_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_SECONDCLICK10_BORDER;
                           break;
                   case MOUSE_BUTTON_11:
                           if (where == PANE)
                                   key = KEYC_SECONDCLICK11_PANE;
                           if (where == STATUS)
                                   key = KEYC_SECONDCLICK11_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_SECONDCLICK11_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_SECONDCLICK11_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_SECONDCLICK11_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_SECONDCLICK11_BORDER;
                           break;
                 }                  }
                 break;                  break;
         case DOUBLE:          case DOUBLE:
                 switch (MOUSE_BUTTONS(b)) {                  switch (MOUSE_BUTTONS(b)) {
                 case 0:                  case MOUSE_BUTTON_1:
                         if (where == PANE)                          if (where == PANE)
                                 key = KEYC_DOUBLECLICK1_PANE;                                  key = KEYC_DOUBLECLICK1_PANE;
                         if (where == STATUS)                          if (where == STATUS)
Line 1073 
Line 1493 
                         if (where == BORDER)                          if (where == BORDER)
                                 key = KEYC_DOUBLECLICK1_BORDER;                                  key = KEYC_DOUBLECLICK1_BORDER;
                         break;                          break;
                 case 1:                  case MOUSE_BUTTON_2:
                         if (where == PANE)                          if (where == PANE)
                                 key = KEYC_DOUBLECLICK2_PANE;                                  key = KEYC_DOUBLECLICK2_PANE;
                         if (where == STATUS)                          if (where == STATUS)
Line 1087 
Line 1507 
                         if (where == BORDER)                          if (where == BORDER)
                                 key = KEYC_DOUBLECLICK2_BORDER;                                  key = KEYC_DOUBLECLICK2_BORDER;
                         break;                          break;
                 case 2:                  case MOUSE_BUTTON_3:
                         if (where == PANE)                          if (where == PANE)
                                 key = KEYC_DOUBLECLICK3_PANE;                                  key = KEYC_DOUBLECLICK3_PANE;
                         if (where == STATUS)                          if (where == STATUS)
Line 1101 
Line 1521 
                         if (where == BORDER)                          if (where == BORDER)
                                 key = KEYC_DOUBLECLICK3_BORDER;                                  key = KEYC_DOUBLECLICK3_BORDER;
                         break;                          break;
                   case MOUSE_BUTTON_6:
                           if (where == PANE)
                                   key = KEYC_DOUBLECLICK6_PANE;
                           if (where == STATUS)
                                   key = KEYC_DOUBLECLICK6_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_DOUBLECLICK6_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_DOUBLECLICK6_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_DOUBLECLICK6_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_DOUBLECLICK6_BORDER;
                           break;
                   case MOUSE_BUTTON_7:
                           if (where == PANE)
                                   key = KEYC_DOUBLECLICK7_PANE;
                           if (where == STATUS)
                                   key = KEYC_DOUBLECLICK7_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_DOUBLECLICK7_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_DOUBLECLICK7_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_DOUBLECLICK7_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_DOUBLECLICK7_BORDER;
                           break;
                   case MOUSE_BUTTON_8:
                           if (where == PANE)
                                   key = KEYC_DOUBLECLICK8_PANE;
                           if (where == STATUS)
                                   key = KEYC_DOUBLECLICK8_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_DOUBLECLICK8_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_DOUBLECLICK8_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_DOUBLECLICK8_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_DOUBLECLICK8_BORDER;
                           break;
                   case MOUSE_BUTTON_9:
                           if (where == PANE)
                                   key = KEYC_DOUBLECLICK9_PANE;
                           if (where == STATUS)
                                   key = KEYC_DOUBLECLICK9_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_DOUBLECLICK9_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_DOUBLECLICK9_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_DOUBLECLICK9_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_DOUBLECLICK9_BORDER;
                           break;
                   case MOUSE_BUTTON_10:
                           if (where == PANE)
                                   key = KEYC_DOUBLECLICK10_PANE;
                           if (where == STATUS)
                                   key = KEYC_DOUBLECLICK10_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_DOUBLECLICK10_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_DOUBLECLICK10_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_DOUBLECLICK10_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_DOUBLECLICK10_BORDER;
                           break;
                   case MOUSE_BUTTON_11:
                           if (where == PANE)
                                   key = KEYC_DOUBLECLICK11_PANE;
                           if (where == STATUS)
                                   key = KEYC_DOUBLECLICK11_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_DOUBLECLICK11_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_DOUBLECLICK11_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_DOUBLECLICK11_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_DOUBLECLICK11_BORDER;
                           break;
                 }                  }
                 break;                  break;
         case TRIPLE:          case TRIPLE:
                 switch (MOUSE_BUTTONS(b)) {                  switch (MOUSE_BUTTONS(b)) {
                 case 0:                  case MOUSE_BUTTON_1:
                         if (where == PANE)                          if (where == PANE)
                                 key = KEYC_TRIPLECLICK1_PANE;                                  key = KEYC_TRIPLECLICK1_PANE;
                         if (where == STATUS)                          if (where == STATUS)
Line 1119 
Line 1623 
                         if (where == BORDER)                          if (where == BORDER)
                                 key = KEYC_TRIPLECLICK1_BORDER;                                  key = KEYC_TRIPLECLICK1_BORDER;
                         break;                          break;
                 case 1:                  case MOUSE_BUTTON_2:
                         if (where == PANE)                          if (where == PANE)
                                 key = KEYC_TRIPLECLICK2_PANE;                                  key = KEYC_TRIPLECLICK2_PANE;
                         if (where == STATUS)                          if (where == STATUS)
Line 1133 
Line 1637 
                         if (where == BORDER)                          if (where == BORDER)
                                 key = KEYC_TRIPLECLICK2_BORDER;                                  key = KEYC_TRIPLECLICK2_BORDER;
                         break;                          break;
                 case 2:                  case MOUSE_BUTTON_3:
                         if (where == PANE)                          if (where == PANE)
                                 key = KEYC_TRIPLECLICK3_PANE;                                  key = KEYC_TRIPLECLICK3_PANE;
                         if (where == STATUS)                          if (where == STATUS)
Line 1146 
Line 1650 
                                 key = KEYC_TRIPLECLICK3_STATUS_DEFAULT;                                  key = KEYC_TRIPLECLICK3_STATUS_DEFAULT;
                         if (where == BORDER)                          if (where == BORDER)
                                 key = KEYC_TRIPLECLICK3_BORDER;                                  key = KEYC_TRIPLECLICK3_BORDER;
                           break;
                   case MOUSE_BUTTON_6:
                           if (where == PANE)
                                   key = KEYC_TRIPLECLICK6_PANE;
                           if (where == STATUS)
                                   key = KEYC_TRIPLECLICK6_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_TRIPLECLICK6_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_TRIPLECLICK6_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_TRIPLECLICK6_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_TRIPLECLICK6_BORDER;
                           break;
                   case MOUSE_BUTTON_7:
                           if (where == PANE)
                                   key = KEYC_TRIPLECLICK7_PANE;
                           if (where == STATUS)
                                   key = KEYC_TRIPLECLICK7_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_TRIPLECLICK7_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_TRIPLECLICK7_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_TRIPLECLICK7_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_TRIPLECLICK7_BORDER;
                           break;
                   case MOUSE_BUTTON_8:
                           if (where == PANE)
                                   key = KEYC_TRIPLECLICK8_PANE;
                           if (where == STATUS)
                                   key = KEYC_TRIPLECLICK8_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_TRIPLECLICK8_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_TRIPLECLICK8_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_TRIPLECLICK8_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_TRIPLECLICK8_BORDER;
                           break;
                   case MOUSE_BUTTON_9:
                           if (where == PANE)
                                   key = KEYC_TRIPLECLICK9_PANE;
                           if (where == STATUS)
                                   key = KEYC_TRIPLECLICK9_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_TRIPLECLICK9_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_TRIPLECLICK9_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_TRIPLECLICK9_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_TRIPLECLICK9_BORDER;
                           break;
                   case MOUSE_BUTTON_10:
                           if (where == PANE)
                                   key = KEYC_TRIPLECLICK10_PANE;
                           if (where == STATUS)
                                   key = KEYC_TRIPLECLICK10_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_TRIPLECLICK10_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_TRIPLECLICK10_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_TRIPLECLICK10_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_TRIPLECLICK10_BORDER;
                           break;
                   case MOUSE_BUTTON_11:
                           if (where == PANE)
                                   key = KEYC_TRIPLECLICK11_PANE;
                           if (where == STATUS)
                                   key = KEYC_TRIPLECLICK11_STATUS;
                           if (where == STATUS_LEFT)
                                   key = KEYC_TRIPLECLICK11_STATUS_LEFT;
                           if (where == STATUS_RIGHT)
                                   key = KEYC_TRIPLECLICK11_STATUS_RIGHT;
                           if (where == STATUS_DEFAULT)
                                   key = KEYC_TRIPLECLICK11_STATUS_DEFAULT;
                           if (where == BORDER)
                                   key = KEYC_TRIPLECLICK11_BORDER;
                         break;                          break;
                 }                  }
                 break;                  break;

Legend:
Removed from v.1.390  
changed lines
  Added in v.1.391