ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/command.C
(Generate patch)

Comparing rxvt-unicode/src/command.C (file contents):
Revision 1.274 by root, Fri Jan 20 10:27:08 2006 UTC vs.
Revision 1.277 by root, Fri Jan 20 12:16:28 2006 UTC

461 { 461 {
462 switch (keysym) 462 switch (keysym)
463 { 463 {
464 /* normal XTerm key bindings */ 464 /* normal XTerm key bindings */
465 case XK_Insert: /* Shift+Insert = paste mouse selection */ 465 case XK_Insert: /* Shift+Insert = paste mouse selection */
466 selection_request (ev.time, Sel_Primary); 466 selection_request (ev.time);
467 return; 467 return;
468#if TODO 468#if TODO
469 /* rxvt extras */ 469 /* rxvt extras */
470 case XK_KP_Add: /* Shift+KP_Add = bigger font */ 470 case XK_KP_Add: /* Shift+KP_Add = bigger font */
471 change_font (FONT_UP); 471 change_font (FONT_UP);
1402 button_release (ev.xbutton); 1402 button_release (ev.xbutton);
1403 break; 1403 break;
1404 1404
1405 case ClientMessage: 1405 case ClientMessage:
1406 if (ev.xclient.format == 32 1406 if (ev.xclient.format == 32
1407 && ev.xclient.message_type == xa[XA_WM_PROTOCOLS]) 1407 && !HOOK_INVOKE ((this, HOOK_CLIENT_MESSAGE, DT_XEVENT, &ev, DT_END)))
1408 { 1408 {
1409 if (ev.xclient.message_type == xa[XA_WM_PROTOCOLS])
1410 {
1411 if (!HOOK_INVOKE ((this, HOOK_WM_PROTOCOLS, DT_XEVENT, &ev, DT_END)))
1412 {
1409 if (ev.xclient.data.l[0] == xa[XA_WM_DELETE_WINDOW]) 1413 if (ev.xclient.data.l[0] == xa[XA_WM_DELETE_WINDOW])
1414 {
1415 if (!HOOK_INVOKE ((this, HOOK_WM_DELETE_WINDOW, DT_XEVENT, &ev, DT_END)))
1410 destroy (); 1416 destroy ();
1417 }
1411#if ENABLE_EWMH 1418#if ENABLE_EWMH
1412 else if (ev.xclient.data.l[0] == xa[XA_NET_WM_PING]) 1419 else if (ev.xclient.data.l[0] == xa[XA_NET_WM_PING])
1413 XSendEvent (disp, ev.xclient.window = display->root, 1420 XSendEvent (disp, ev.xclient.window = display->root,
1414 False, SubstructureRedirectMask | SubstructureNotifyMask, 1421 False, SubstructureRedirectMask | SubstructureNotifyMask,
1415 &ev); 1422 &ev);
1423#endif
1424 }
1425 }
1426#if ENABLE_XEMBED
1427 else if (ev.xclient.format == 32 && ev.xclient.message_type == xa[XA_XEMBED])
1428 {
1429 if (ev.xclient.data.l[1] == XEMBED_FOCUS_IN)
1430 focus_in ();
1431 else if (ev.xclient.data.l[1] == XEMBED_FOCUS_OUT)
1432 focus_out ();
1433 }
1416#endif 1434#endif
1417 } 1435 }
1418#if ENABLE_XEMBED
1419 else if (ev.xclient.format == 32 && ev.xclient.message_type == xa[XA_XEMBED])
1420 {
1421 if (ev.xclient.data.l[1] == XEMBED_FOCUS_IN)
1422 focus_in ();
1423 else if (ev.xclient.data.l[1] == XEMBED_FOCUS_OUT)
1424 focus_out ();
1425 }
1426#endif
1427#ifdef OFFIX_DND
1428 /* OffiX Dnd (drag 'n' drop) protocol */
1429 else if (ev.xclient.message_type == xa[XA_DNDPROTOCOL]
1430 && (ev.xclient.data.l[0] == DndFile
1431 || ev.xclient.data.l[0] == DndDir
1432 || ev.xclient.data.l[0] == DndLink))
1433 {
1434 /* Get Dnd data */
1435 Atom ActualType;
1436 int ActualFormat;
1437 unsigned char *data;
1438 unsigned long Size, RemainingBytes;
1439
1440 XGetWindowProperty (disp, display->root,
1441 xa[XA_DNDSELECTION],
1442 0L, 1000000L,
1443 False, AnyPropertyType,
1444 &ActualType, &ActualFormat,
1445 &Size, &RemainingBytes,
1446 &data);
1447 set_string_property (XA_CUT_BUFFER0, data);
1448 XFree (data);
1449 selection_paste (display->root, XA_CUT_BUFFER0, true);
1450 XSetInputFocus (disp, display->root, RevertToNone, CurrentTime);
1451 }
1452#endif /* OFFIX_DND */
1453 break; 1436 break;
1454 1437
1455 case MappingNotify: 1438 case MappingNotify:
1456 XRefreshKeyboardMapping (&ev.xmapping); 1439 XRefreshKeyboardMapping (&ev.xmapping);
1457 break; 1440 break;
2154 case Button3: 2137 case Button3:
2155 selection_make (ev.time); 2138 selection_make (ev.time);
2156 break; 2139 break;
2157 2140
2158 case Button2: 2141 case Button2:
2159 if (IN_RANGE_EXC (ev.x, 0, width) 2142 if (IN_RANGE_EXC (ev.x, 0, width) && IN_RANGE_EXC (ev.y, 0, height)) // inside window?
2160 && IN_RANGE_EXC (ev.y, 0, height)) // inside window? 2143 selection_request (ev.time, ev.state & ShiftMask ? Sel_Clipboard : Sel_Primary);
2161 {
2162 if (ev.state & ShiftMask)
2163 selection_request (ev.time, Sel_Clipboard);
2164 else
2165 selection_request (ev.time, Sel_Primary);
2166 }
2167 break; 2144 break;
2168 2145
2169#ifdef MOUSE_WHEEL 2146#ifdef MOUSE_WHEEL
2170 case Button4: 2147 case Button4:
2171 case Button5: 2148 case Button5:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines