 +
 +const float ToolbarMargin = 3.;
 +const float ButtonMargin  = 3.;
-+/*
-+class VimToolbarButton : public BPictureButton
-+{
-+
++
++#endif /*FEAT_TOOLBAR*/
++
++#ifdef FEAT_GUI_TABLINE
++
++class VimTabLine : public BTabView
++{
++	public:
++		class VimTab : public BTab {
++			public:
++				VimTab() : BTab(new BView(BRect(), "-Empty-", 0, 0)) {}
++
++			virtual void Select(BView* owner);
++		};
++
++		VimTabLine(BRect r) : BTabView(r, "vimTabLine", B_WIDTH_FROM_LABEL,
++			   B_FOLLOW_LEFT | B_FOLLOW_TOP | B_FOLLOW_RIGHT, B_WILL_DRAW | B_FRAME_EVENTS) {}
++	
++	float TablineHeight() const;
++	virtual void MouseDown(BPoint point);
 +};
-+*/
-+#endif /*FEAT_TOOLBAR*/
++
++#endif //FEAT_GUI_TABLINE
++
 +
 +/*
 + * For caching the fonts that are used;

+			case VimMsg::Refs:
+				::RefsReceived(vm.u.Refs.message, vm.u.Refs.changedir);
+				break;
+			default:
+				// unrecognised message, ignore it
+				break;

diff -Naur vim73/src/normal.c vim73.haiku/src/normal.c
--- vim73/src/normal.c	2010-07-31 13:25:19.021233664 +0000
+++ vim73.haiku/src/normal.c	2010-08-20 22:44:36.301203456 +0000
@@ -2599,6 +2599,7 @@
      * shift-left button -> right button
      * alt-left button   -> alt-right button
      */
+	
     if (mouse_model_popup())
     {
 	if (which_button == MOUSE_RIGHT
@@ -2613,13 +2614,14 @@
 	    if (!is_click)
 		return FALSE;
 #endif
-#if defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_MSWIN)
+#if defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_BEOS)
 	    if (is_click || is_drag)
 		return FALSE;
 #endif
 #if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK) \
 	    || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_MSWIN) \
-	    || defined(FEAT_GUI_MAC) || defined(FEAT_GUI_PHOTON)
+	    || defined(FEAT_GUI_MAC) || defined(FEAT_GUI_PHOTON) \
+		|| defined(FEAT_GUI_BEOS)
 	    if (gui.in_use)
 	    {
 		jump_flags = 0;
@@ -5385,7 +5387,8 @@
 {
     if (!checkclearop(cap->oap))
     {
