--- rxvt-unicode/src/command.C 2006/01/18 17:49:46 1.271 +++ rxvt-unicode/src/command.C 2006/01/19 23:13:19 1.273 @@ -466,7 +466,7 @@ { /* normal XTerm key bindings */ case XK_Insert: /* Shift+Insert = paste mouse selection */ - selection_request (ev.time, 0, 0); + selection_request (ev.time, Sel_Primary); return; #if TODO /* rxvt extras */ @@ -2157,9 +2157,18 @@ case Button3: selection_make (ev.time); break; + case Button2: - selection_request (ev.time, ev.x, ev.y); + if (IN_RANGE_EXC (ev.x, 0, width) + && IN_RANGE_EXC (ev.y, 0, height)) // inside window? + { + if (ev.state & ShiftMask) + selection_request (ev.time, Sel_Clipboard); + else + selection_request (ev.time, Sel_Primary); + } break; + #ifdef MOUSE_WHEEL case Button4: case Button5: