Index: /home/theeth/bf-blender/blender/source/blender/makesdna/DNA_userdef_types.h =================================================================== --- /home/theeth/bf-blender/blender/source/blender/makesdna/DNA_userdef_types.h (revision 13988) +++ /home/theeth/bf-blender/blender/source/blender/makesdna/DNA_userdef_types.h (working copy) @@ -266,6 +266,7 @@ // old flag for #define USER_KEYINSERTNEED (1 << 19) #define USER_ZOOM_TO_MOUSEPOS (1 << 20) #define USER_SHOW_FPS (1 << 21) +#define USER_MMB_PASTE (1 << 22) /* Auto-Keying mode */ /* AUTOKEY_ON is a bitflag */ Index: /home/theeth/bf-blender/blender/source/blender/src/drawtext.c =================================================================== --- /home/theeth/bf-blender/blender/source/blender/src/drawtext.c (revision 13988) +++ /home/theeth/bf-blender/blender/source/blender/src/drawtext.c (working copy) @@ -1547,13 +1547,16 @@ } } else if (event==MIDDLEMOUSE) { if (val) { - #if defined(_WIN32) || defined(__APPLE__) - do_textscroll(st, 1); - #else + if (U.uiflag & USER_MMB_PASTE) + { do_selection(st, G.qual&LR_SHIFTKEY); get_selection_buffer(text); do_draw= 1; - #endif + } + else + { + do_textscroll(st, 1); + } } } else if (event==RIGHTMOUSE) { if (val) { Index: /home/theeth/bf-blender/blender/source/blender/src/space.c =================================================================== --- /home/theeth/bf-blender/blender/source/blender/src/space.c (revision 13988) +++ /home/theeth/bf-blender/blender/source/blender/src/space.c (working copy) @@ -3685,6 +3685,11 @@ (xpos+edgsp+(3*mpref)+(4*midsp)),y3,mpref,buth, &(U.flag), 0, 0, 0, 0, "Emulates Middle Mouse with Alt+LeftMouse (doesnt work with Left Mouse Select option)"); + uiDefButBitI(block, TOG, USER_MMB_PASTE, B_DRAWINFO, "Paste on MMB", + (xpos+edgsp+(3*mpref)+(4*midsp)),y2,mpref,buth, + &(U.uiflag), 0, 0, 0, 0, + "In text window, paste with MMB instead of panning"); + uiBlockEndAlign(block); uiBlockBeginAlign(block); uiDefButBitI(block, TOG, USER_SHOW_ROTVIEWICON, B_DRAWINFO, "Mini Axis",