diff --git a/indra/llui/lllayoutstack.cpp b/indra/llui/lllayoutstack.cpp
index e64288399133a970e51946e4475ec92691974ef0..c89c0203b4accb5d5e49a4d9ee9dbe8a88379854 100644
--- a/indra/llui/lllayoutstack.cpp
+++ b/indra/llui/lllayoutstack.cpp
@@ -214,8 +214,15 @@ LLLayoutStack::Params::Params()
 	open_time_constant("open_time_constant", 0.02f),
 	close_time_constant("close_time_constant", 0.03f),
 	resize_bar_overlap("resize_bar_overlap", 1),
-	border_size("border_size", LLCachedControl<S32>(*LLUI::sSettingGroups["config"], "UIResizeBarHeight", 0))
-{}
+	border_size("border_size", LLCachedControl<S32>(*LLUI::sSettingGroups["config"], "UIResizeBarHeight", 0)),
+	show_drag_handle("show_drag_handle", false),
+	drag_handle_first_indent("drag_handle_first_indent", 0),
+	drag_handle_second_indent("drag_handle_second_indent", 0),
+	drag_handle_thickness("drag_handle_thickness", 5),
+	drag_handle_shift("drag_handle_shift", 2)
+{
+	addSynonym(border_size, "drag_handle_gap");
+}
 
 LLLayoutStack::LLLayoutStack(const LLLayoutStack::Params& p) 
 :	LLView(p),
@@ -227,8 +234,14 @@ LLLayoutStack::LLLayoutStack(const LLLayoutStack::Params& p)
 	mClip(p.clip),
 	mOpenTimeConstant(p.open_time_constant),
 	mCloseTimeConstant(p.close_time_constant),
-	mResizeBarOverlap(p.resize_bar_overlap)
-{}
+	mResizeBarOverlap(p.resize_bar_overlap),
+	mShowDragHandle(p.show_drag_handle),
+	mDragHandleFirstIndent(p.drag_handle_first_indent),
+	mDragHandleSecondIndent(p.drag_handle_second_indent),
+	mDragHandleThickness(p.drag_handle_thickness),
+	mDragHandleShift(p.drag_handle_shift)
+{
+}
 
 LLLayoutStack::~LLLayoutStack()
 {
@@ -262,6 +275,26 @@ void LLLayoutStack::draw()
 			drawChild(panelp, 0, 0, !clip_rect.isEmpty());
 		}
 	}
+
+	const LLView::child_list_t * child_listp = getChildList();
+	BOOST_FOREACH(LLView * childp, * child_listp)
+	{
+		LLResizeBar * resize_barp = dynamic_cast<LLResizeBar*>(childp);
+		if (resize_barp && resize_barp->isShowDragHandle() && resize_barp->getVisible() && resize_barp->getRect().isValid())
+		{
+			LLRect screen_rect = resize_barp->calcScreenRect();
+			if (LLUI::getRootView()->getLocalRect().overlaps(screen_rect) && LLUI::sDirtyRect.overlaps(screen_rect))
+			{
+				LLUI::pushMatrix();
+				{
+					const LLRect& rb_rect(resize_barp->getRect());
+					LLUI::translate(rb_rect.mLeft, rb_rect.mBottom);
+					resize_barp->draw();
+				}
+				LLUI::popMatrix();
+			}
+		}
+	}
 }
 
 void LLLayoutStack::removeChild(LLView* view)
@@ -390,7 +423,6 @@ void LLLayoutStack::updateLayout()
 	BOOST_FOREACH(LLLayoutPanel* panelp, mPanels)
 	{
 		F32 panel_dim = llmax(panelp->getExpandedMinDim(), panelp->mTargetDim);
-		F32 panel_visible_dim = panelp->getVisibleDim();
 
 		LLRect panel_rect;
 		if (mOrientation == HORIZONTAL)
@@ -407,27 +439,61 @@ void LLLayoutStack::updateLayout()
 										getRect().getWidth(),
 										llround(panel_dim));
 		}
-		panelp->setIgnoreReshape(true);
-		panelp->setShape(panel_rect);
-		panelp->setIgnoreReshape(false);
 
 		LLRect resize_bar_rect(panel_rect);
-
+		LLResizeBar * resize_barp = panelp->getResizeBar();
+		bool show_drag_handle = resize_barp->isShowDragHandle();
 		F32 panel_spacing = (F32)mPanelSpacing * panelp->getVisibleAmount();
+		F32 panel_visible_dim = panelp->getVisibleDim();
+		S32 panel_spacing_round = (S32)(llround(panel_spacing));
+
 		if (mOrientation == HORIZONTAL)
 		{
-			resize_bar_rect.mLeft = panel_rect.mRight - mResizeBarOverlap;
-			resize_bar_rect.mRight = panel_rect.mRight + (S32)(llround(panel_spacing)) + mResizeBarOverlap;
-
 			cur_pos += panel_visible_dim + panel_spacing;
+
+			if (show_drag_handle && panel_spacing_round > mDragHandleThickness)
+			{
+				resize_bar_rect.mLeft = panel_rect.mRight + mDragHandleShift;
+				resize_bar_rect.mRight = resize_bar_rect.mLeft + mDragHandleThickness;
+			}
+			else
+			{
+				resize_bar_rect.mLeft = panel_rect.mRight - mResizeBarOverlap;
+				resize_bar_rect.mRight = panel_rect.mRight + panel_spacing_round + mResizeBarOverlap;
+			}
+
+			if (show_drag_handle)
+			{
+				resize_bar_rect.mBottom += mDragHandleSecondIndent;
+				resize_bar_rect.mTop -= mDragHandleFirstIndent;
+			}
+
 		}
 		else //VERTICAL
 		{
-			resize_bar_rect.mTop = panel_rect.mBottom + mResizeBarOverlap;
-			resize_bar_rect.mBottom = panel_rect.mBottom - (S32)(llround(panel_spacing)) - mResizeBarOverlap;
-
 			cur_pos -= panel_visible_dim + panel_spacing;
+
+			if (show_drag_handle && panel_spacing_round > mDragHandleThickness)
+			{
+				resize_bar_rect.mTop = panel_rect.mBottom - mDragHandleShift;
+				resize_bar_rect.mBottom = resize_bar_rect.mTop - mDragHandleThickness;
+			}
+			else
+			{
+				resize_bar_rect.mTop = panel_rect.mBottom + mResizeBarOverlap;
+				resize_bar_rect.mBottom = panel_rect.mBottom - panel_spacing_round - mResizeBarOverlap;
+			}
+
+			if (show_drag_handle)
+			{
+				resize_bar_rect.mLeft += mDragHandleFirstIndent;
+				resize_bar_rect.mRight -= mDragHandleSecondIndent;
+			}
 		}
+
+		panelp->setIgnoreReshape(true);
+		panelp->setShape(panel_rect);
+		panelp->setIgnoreReshape(false);
 		panelp->mResizeBar->setShape(resize_bar_rect);
 	}
 
@@ -475,15 +541,13 @@ void LLLayoutStack::createResizeBar(LLLayoutPanel* panelp)
 	{
 		if (lp->mResizeBar == NULL)
 		{
-			LLResizeBar::Side side = (mOrientation == HORIZONTAL) ? LLResizeBar::RIGHT : LLResizeBar::BOTTOM;
-			LLRect resize_bar_rect = getRect();
-
 			LLResizeBar::Params resize_params;
 			resize_params.name("resize");
 			resize_params.resizing_view(lp);
 			resize_params.min_size(lp->getRelevantMinDim());
-			resize_params.side(side);
+			resize_params.side((mOrientation == HORIZONTAL) ? LLResizeBar::RIGHT : LLResizeBar::BOTTOM);
 			resize_params.snapping_enabled(false);
+			resize_params.show_drag_handle(mShowDragHandle);
 			LLResizeBar* resize_bar = LLUICtrlFactory::create<LLResizeBar>(resize_params);
 			lp->mResizeBar = resize_bar;
 			LLView::addChild(resize_bar, 0);
@@ -865,3 +929,4 @@ void LLLayoutStack::updateResizeBarLimits()
 		previous_visible_panelp = visible_panelp;
 	}
 }
+
diff --git a/indra/llui/lllayoutstack.h b/indra/llui/lllayoutstack.h
index 02c664f1a060bbcaa51d93143d31ef4f2b168c27..b570974bd6593984b00d4c763c455b90a9c7bc36 100644
--- a/indra/llui/lllayoutstack.h
+++ b/indra/llui/lllayoutstack.h
@@ -62,6 +62,11 @@ class LLLayoutStack : public LLView, public LLInstanceTracker<LLLayoutStack>
 		Optional<F32>			open_time_constant,
 								close_time_constant;
 		Optional<S32>			resize_bar_overlap;
+		Optional<bool>			show_drag_handle;
+		Optional<S32>			drag_handle_first_indent;
+		Optional<S32>			drag_handle_second_indent;
+		Optional<S32>			drag_handle_thickness;
+		Optional<S32>			drag_handle_shift;
 
 		Params();
 	};
@@ -126,6 +131,11 @@ class LLLayoutStack : public LLView, public LLInstanceTracker<LLLayoutStack>
 	F32  mCloseTimeConstant;
 	bool mNeedsLayout;
 	S32  mResizeBarOverlap;
+	bool mShowDragHandle;
+	S32  mDragHandleFirstIndent;
+	S32  mDragHandleSecondIndent;
+	S32  mDragHandleThickness;
+	S32  mDragHandleShift;
 }; // end class LLLayoutStack
 
 
diff --git a/indra/llui/llresizebar.cpp b/indra/llui/llresizebar.cpp
index 15e56cbfe5ac2542ee80759093d29aac892959e9..cfdc951542eca21b02e6284f409d984c7ef69cc8 100644
--- a/indra/llui/llresizebar.cpp
+++ b/indra/llui/llresizebar.cpp
@@ -28,14 +28,53 @@
 
 #include "llresizebar.h"
 
+#include "lllocalcliprect.h"
 #include "llmath.h"
 #include "llui.h"
 #include "llmenugl.h"
 #include "llfocusmgr.h"
 #include "llwindow.h"
 
+class LLImagePanel : public LLPanel
+{
+public:
+	struct Params :	public LLInitParam::Block<Params, LLPanel::Params>
+	{
+		Optional<bool> horizontal;
+		Params() : horizontal("horizontal", false) {}
+	};
+	LLImagePanel(const Params& p) : LLPanel(p), mHorizontal(p.horizontal) {}
+	virtual ~LLImagePanel() {}
+
+	void draw()
+	{
+		const LLRect& parent_rect = getParent()->getRect();
+		const LLRect& rect = getRect();
+		LLRect clip_rect( -rect.mLeft, parent_rect.getHeight() - rect.mBottom - 2
+						 , parent_rect.getWidth() - rect.mLeft - (mHorizontal ? 2 : 0), -rect.mBottom);
+		LLLocalClipRect clip(clip_rect);
+		LLPanel::draw();
+	}
+
+private:
+	bool mHorizontal;
+};
+
+static LLDefaultChildRegistry::Register<LLImagePanel> t1("resize_bar_image_panel");
+
+LLResizeBar::Params::Params()
+:	max_size("max_size", S32_MAX),
+	snapping_enabled("snapping_enabled", true),
+	resizing_view("resizing_view"),
+	side("side"),
+	allow_double_click_snapping("allow_double_click_snapping", true),
+	show_drag_handle("show_drag_handle", false)
+{
+	name = "resize_bar";
+}
+
 LLResizeBar::LLResizeBar(const LLResizeBar::Params& p)
-:	LLView(p),
+:	LLPanel(p),
 	mDragLastScreenX( 0 ),
 	mDragLastScreenY( 0 ),
 	mLastMouseScreenX( 0 ),
@@ -46,7 +85,9 @@ LLResizeBar::LLResizeBar(const LLResizeBar::Params& p)
 	mSnappingEnabled(p.snapping_enabled),
 	mAllowDoubleClickSnapping(p.allow_double_click_snapping),
 	mResizingView(p.resizing_view),
-	mResizeListener(NULL)
+	mResizeListener(NULL),
+	mShowDragHandle(p.show_drag_handle),
+	mImagePanel(NULL)
 {
 	setFollowsNone();
 	// set up some generically good follow code.
@@ -75,8 +116,37 @@ LLResizeBar::LLResizeBar(const LLResizeBar::Params& p)
 	default:
 		break;
 	}
+
+	if (mShowDragHandle)
+	{
+		LLViewBorder::Params border_params;
+		border_params.border_thickness = 1;
+		border_params.highlight_light_color = LLUIColorTable::instance().getColor("ResizebarBorderlight");
+		border_params.shadow_dark_color = LLUIColorTable::instance().getColor("ResizebarBorderDark");
+
+		addBorder(border_params);
+		setBorderVisible(TRUE);
+
+		LLImagePanel::Params image_panel;
+		mDragHandleImage = LLUI::getUIImage(LLResizeBar::RIGHT == mSide ? "Vertical Drag Handle" : "Horizontal Drag Handle");
+		image_panel.bg_alpha_image = mDragHandleImage;
+		image_panel.background_visible = true;
+		image_panel.horizontal = (LLResizeBar::BOTTOM == mSide);
+		mImagePanel = LLUICtrlFactory::create<LLImagePanel>(image_panel);
+		setImagePanel(mImagePanel);
+	}
 }
 
+BOOL LLResizeBar::postBuild()
+{
+	if (mShowDragHandle)
+	{
+		setBackgroundVisible(TRUE);
+		setTransparentColor(LLUIColorTable::instance().getColor("ResizebarBody"));
+	}
+
+	return LLPanel::postBuild();
+}
 
 BOOL LLResizeBar::handleMouseDown(S32 x, S32 y, MASK mask)
 {
@@ -342,3 +412,39 @@ BOOL LLResizeBar::handleDoubleClick(S32 x, S32 y, MASK mask)
 	return TRUE;
 }
 
+void LLResizeBar::setImagePanel(LLPanel * panelp)
+{
+	const LLView::child_list_t * children = getChildList();
+	if (getChildCount() == 2)
+	{
+		LLPanel * image_panelp = dynamic_cast<LLPanel*>(children->back());
+		if (image_panelp)
+		{
+			removeChild(image_panelp);
+			delete image_panelp;
+		}
+	}
+
+	addChild(panelp);
+	sendChildToBack(panelp);
+}
+
+LLPanel * LLResizeBar::getImagePanel() const
+{
+	return getChildCount() > 0 ? (LLPanel *)getChildList()->back() : NULL;
+}
+
+void LLResizeBar::draw()
+{
+	if (mShowDragHandle)
+	{
+		S32 image_width = mDragHandleImage->getTextureWidth();
+		S32 image_height = mDragHandleImage->getTextureHeight();
+		const LLRect& panel_rect = getRect();
+		S32 image_left = (panel_rect.getWidth() - image_width) / 2 - 1;
+		S32 image_bottom = (panel_rect.getHeight() - image_height) / 2;
+		mImagePanel->setRect(LLRect(image_left, image_bottom + image_height, image_left + image_width, image_bottom));
+	}
+
+	LLPanel::draw();
+}
diff --git a/indra/llui/llresizebar.h b/indra/llui/llresizebar.h
index 8190a95a71b14212fa8435554eb016c45d566f52..bcf8ea0b40ea88c1b6ef76f333904a0134d2174a 100644
--- a/indra/llui/llresizebar.h
+++ b/indra/llui/llresizebar.h
@@ -27,15 +27,14 @@
 #ifndef LL_RESIZEBAR_H
 #define LL_RESIZEBAR_H
 
-#include "llview.h"
-#include "llcoord.h"
+#include "llpanel.h"
 
-class LLResizeBar : public LLView
+class LLResizeBar : public LLPanel
 {
 public:
 	enum Side { LEFT, TOP, RIGHT, BOTTOM };
 
-	struct Params : public LLInitParam::Block<Params, LLView::Params>
+	struct Params : public LLInitParam::Block<Params, LLPanel::Params>
 	{
 		Mandatory<LLView*> resizing_view;
 		Mandatory<Side>	side;
@@ -44,24 +43,19 @@ class LLResizeBar : public LLView
 		Optional<S32>	max_size;
 		Optional<bool>	snapping_enabled;
 		Optional<bool>	allow_double_click_snapping;
+		Optional<bool>	show_drag_handle;
 
-		Params()
-		:	max_size("max_size", S32_MAX),
-			snapping_enabled("snapping_enabled", true),
-			resizing_view("resizing_view"),
-			side("side"),
-			allow_double_click_snapping("allow_double_click_snapping", true)
-		{
-			name = "resize_bar";
-		}
+		Params();
 	};
 
 protected:
 	LLResizeBar(const LLResizeBar::Params& p);
 	friend class LLUICtrlFactory;
+
+	/*virtual*/ BOOL postBuild();
 public:
 
-//	virtual void	draw();  No appearance
+	virtual void	draw();
 	virtual BOOL	handleHover(S32 x, S32 y, MASK mask);
 	virtual BOOL	handleMouseDown(S32 x, S32 y, MASK mask);
 	virtual BOOL	handleMouseUp(S32 x, S32 y, MASK mask);
@@ -72,20 +66,26 @@ class LLResizeBar : public LLView
 	void			setAllowDoubleClickSnapping(BOOL allow) { mAllowDoubleClickSnapping = allow; }
 	bool			canResize() { return getEnabled() && mMaxSize > mMinSize; }
 	void            setResizeListener(boost::function<void(void*)> listener) {mResizeListener = listener;}
+	BOOL			isShowDragHandle() const { return mShowDragHandle; }
+	void			setImagePanel(LLPanel * panelp);
+	LLPanel *		getImagePanel() const;
 
 private:
-	S32				mDragLastScreenX;
-	S32				mDragLastScreenY;
-	S32				mLastMouseScreenX;
-	S32				mLastMouseScreenY;
-	LLCoordGL		mLastMouseDir;
-	S32				mMinSize;
-	S32				mMaxSize;
-	const Side		mSide;
-	BOOL			mSnappingEnabled;
-	BOOL			mAllowDoubleClickSnapping;
-	LLView*			mResizingView;
-	boost::function<void(void*)>  mResizeListener;
+	S32								mDragLastScreenX;
+	S32								mDragLastScreenY;
+	S32								mLastMouseScreenX;
+	S32								mLastMouseScreenY;
+	LLCoordGL						mLastMouseDir;
+	S32								mMinSize;
+	S32								mMaxSize;
+	const Side						mSide;
+	BOOL							mSnappingEnabled;
+	BOOL							mAllowDoubleClickSnapping;
+	BOOL							mShowDragHandle;
+	LLView*							mResizingView;
+	boost::function<void(void*)>	mResizeListener;
+	LLPointer<LLUIImage>			mDragHandleImage;
+	LLPanel *						mImagePanel;
 };
 
 #endif  // LL_RESIZEBAR_H
diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index 8575f6f0558510ae13eac7eb3c923163d1856f3f..043ffacffbc74ce71f46de981864fa97cb02ecb4 100644
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -817,15 +817,12 @@ void LLFloaterIMContainer::assignResizeLimits()
 	bool is_conv_pane_expanded = !mConversationsPane->isCollapsed();
 	bool is_msg_pane_expanded = !mMessagesPane->isCollapsed();
 
-	// With two panels visible number of borders is three, because the borders
-	// between the panels are merged into one
-    S32 number_of_visible_borders = llmin((is_conv_pane_expanded? 2 : 0) + (is_msg_pane_expanded? 2 : 0), 3);
-    S32 summary_width_of_visible_borders = number_of_visible_borders * LLPANEL_BORDER_WIDTH;
-	S32 conv_pane_target_width = is_conv_pane_expanded?
-			(is_msg_pane_expanded?
-					mConversationsPane->getRect().getWidth()
-					: mConversationsPane->getExpandedMinDim())
-			: mConversationsPane->getMinDim();
+    S32 summary_width_of_visible_borders = (is_msg_pane_expanded ? mConversationsStack->getPanelSpacing() : 0) + 1;
+
+	S32 conv_pane_target_width = is_conv_pane_expanded
+		? ( is_msg_pane_expanded?mConversationsPane->getRect().getWidth():mConversationsPane->getExpandedMinDim() )
+		: mConversationsPane->getMinDim();
+
 	S32 msg_pane_min_width  = is_msg_pane_expanded ? mMessagesPane->getExpandedMinDim() : 0;
 	S32 new_min_width = conv_pane_target_width + msg_pane_min_width + summary_width_of_visible_borders;
 
diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp
index ce6e639305b345a16fbc8e3738397144167d8957..7d96fd0d6c3a0844cd36564156434ca7c8a1e7c1 100644
--- a/indra/newview/llfloaterimsessiontab.cpp
+++ b/indra/newview/llfloaterimsessiontab.cpp
@@ -212,7 +212,7 @@ void LLFloaterIMSessionTab::assignResizeLimits()
 	mRightPartPanel->setIgnoreReshape(is_participants_pane_collapsed);
 
     S32 participants_pane_target_width = is_participants_pane_collapsed?
-    		0 : (mParticipantListPanel->getRect().getWidth() + LLPANEL_BORDER_WIDTH);
+    		0 : (mParticipantListPanel->getRect().getWidth() + mParticipantListAndHistoryStack->getPanelSpacing());
 
     S32 new_min_width = participants_pane_target_width + mRightPartPanel->getExpandedMinDim() + mFloaterExtraWidth;
 
diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml
index 0de217fc0d377c87e9af886bf2dc190ab96a669b..b0dfd471e06f5424a67e32eee36d3e5a49a1d06c 100644
--- a/indra/newview/skins/default/colors.xml
+++ b/indra/newview/skins/default/colors.xml
@@ -864,4 +864,19 @@
   <color
     name="blue"
     value="0 0 1 1"/>
+
+  <!--Resize bar colors -->
+
+  <color
+    name="ResizebarBorderlight"
+    value="0.231 0.231 0.231 1"/>
+
+  <color
+    name="ResizebarBorderDark"
+    value="0.133 0.133 0.133 1"/>
+
+  <color
+    name="ResizebarBody"
+    value="0.208 0.208 0.208 1"/>
+    
 </colors>
diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml
index 93c9cb02cb0e769c15c94a1b634c4193c2249530..d99c3a8bda8ef90f18b46dc5fcd757c8d43f9a76 100644
--- a/indra/newview/skins/default/textures/textures.xml
+++ b/indra/newview/skins/default/textures/textures.xml
@@ -776,4 +776,7 @@ with the same filename but different name
   <texture name="Popup_Caution" file_name="icons/pop_up_caution.png"/>
   <texture name="Camera_Drag_Dot" file_name="world/CameraDragDot.png"/>
   <texture name="NavBar Separator" file_name="navbar/separator.png"/>
+
+  <texture name="Horizontal Drag Handle" file_name="widgets/horizontal_drag_handle.png"/>
+  <texture name="Vertical Drag Handle" file_name="widgets/vertical_drag_handle.png"/>
 </textures>
diff --git a/indra/newview/skins/default/textures/widgets/horizontal_drag_handle.png b/indra/newview/skins/default/textures/widgets/horizontal_drag_handle.png
new file mode 100644
index 0000000000000000000000000000000000000000..642eac406553f2d704edf23cc04a9eba2272ca43
Binary files /dev/null and b/indra/newview/skins/default/textures/widgets/horizontal_drag_handle.png differ
diff --git a/indra/newview/skins/default/textures/widgets/vertical_drag_handle.png b/indra/newview/skins/default/textures/widgets/vertical_drag_handle.png
new file mode 100644
index 0000000000000000000000000000000000000000..b06b70cf36630d0dd7d43fa66fc5777c9db37805
Binary files /dev/null and b/indra/newview/skins/default/textures/widgets/vertical_drag_handle.png differ
diff --git a/indra/newview/skins/default/xui/en/floater_im_container.xml b/indra/newview/skins/default/xui/en/floater_im_container.xml
index 65f623a47e88a7a86b233ef32c790a08a5e6c1e8..3e8c6c76ccc52b854dcf5f23df973f8d1d237e47 100644
--- a/indra/newview/skins/default/xui/en/floater_im_container.xml
+++ b/indra/newview/skins/default/xui/en/floater_im_container.xml
@@ -25,23 +25,27 @@
     <layout_stack
      animate="true" 
      bottom="-1"
+     drag_handle_gap="6"
+     drag_handle_first_indent="27"
+     drag_handle_second_indent="10"
      follows="all"
      layout="topleft"
      left="0"
      name="conversations_stack"
      orientation="horizontal"
      right="-1"
+     show_drag_handle="true"
      top="0">
         <layout_panel
          auto_resize="false"
          user_resize="true"        
          name="conversations_layout_panel"
          min_dim="38"
-         expanded_min_dim="156">
+         expanded_min_dim="136">
             <layout_stack
              animate="false" 
              follows="left|top|right"
-             height="35"
+             height="27"
              layout="topleft"
              left="0"
              name="conversations_pane_buttons_stack"
@@ -50,7 +54,6 @@
              top="0">
                 <layout_panel
                  auto_resize="true"
-                 height="35"
                  name="conversations_pane_buttons_expanded">
                     <menu_button
                      follows="top|left"
@@ -64,7 +67,7 @@
                      left="5"
                      name="sort_btn"
                      tool_tip="View/sort options"
-                     top="5"
+                     top="1"
                      width="31" />
                     <button
                      follows="top|left"
@@ -74,7 +77,7 @@
                      image_selected="Toolbar_Middle_Selected"
                      image_unselected="Toolbar_Middle_Off"
                      layout="topleft"
-                     top="5"
+                     top="1"
                      left_pad="2"
                      name="add_btn"
                      tool_tip="Start a new conversation"
@@ -87,7 +90,7 @@
                      image_selected="Toolbar_Middle_Selected"
                      image_unselected="Toolbar_Middle_Off"
                      layout="topleft"
-                     top="5"
+                     top="1"
                      left_pad="2"
                      name="speak_btn"
                      tool_tip="Speak with people using your microphone"
@@ -95,9 +98,8 @@
                 </layout_panel>
                 <layout_panel
                  auto_resize="false"
-                 height="35"
                  name="conversations_pane_buttons_collapsed"
-                 width="41">
+                 width="31">
                     <button
                      follows="right|top"
                      height="25"
@@ -106,8 +108,8 @@
                      image_selected="Toolbar_Middle_Selected"
                      image_unselected="Toolbar_Middle_Off"
                      layout="topleft"
-                     top="5"
-                     left="1"
+                     top="1"
+                     left="0"
                      name="expand_collapse_btn"
                      tool_tip="Collapse/Expand this list"
                      width="31" />
@@ -119,7 +121,7 @@
              layout="topleft"
              name="conversations_list_panel"
              opaque="true"
-             top="35"
+             top_pad="0"
              left="5"
              right="-1"/>
         </layout_panel>
@@ -127,7 +129,7 @@
          auto_resize="true"
          user_resize="true"
          name="messages_layout_panel"
-         expanded_min_dim="222">
+         expanded_min_dim="232">
             <panel_container
              bottom="-1"
              follows="all"
@@ -136,44 +138,44 @@
              name="im_box_tab_container"
              right="-1"
              top="0">
-             <panel
-               bottom="-1"
-               follows="all"
-               layout="topleft"
-               name="stub_panel"
-               opaque="true"
-               top_pad="0"
-               left="0"
-               right="-1">
-                 <button
-                 follows="right|top"
-                 height="25"
-                 image_hover_unselected="Toolbar_Middle_Over"
-                 image_overlay="Conv_toolbar_collapse"
-                 image_selected="Toolbar_Middle_Selected"
-                 image_unselected="Toolbar_Middle_Off"
+                <panel
+                 bottom="-1"
+                 follows="all"
                  layout="topleft"
-                 top="5"
-                 right="-10"
-                 name="stub_collapse_btn"
-                 tool_tip="Collapse this pane"
-                 width="31" />
-                 <text
-                   type="string"
-                   clip_partial="false"
-                   follows="left|top|right"
-                   layout="topleft"
-                   left="15"
-                   right="-15"
-                   name="stub_textbox"
-                   top="25"
-                   height="40"
-                   valign="center"
-                   parse_urls="true"
-                   wrap="true">
-                   This conversation is in a separate window.   [secondlife:/// Bring it back.]
-                 </text>
-             </panel>
+                 name="stub_panel"
+                 opaque="true"
+                 top_pad="0"
+                 left="0"
+                 right="-1">
+                    <button
+                     follows="right|top"
+                     height="25"
+                     image_hover_unselected="Toolbar_Middle_Over"
+                     image_overlay="Conv_toolbar_collapse"
+                     image_selected="Toolbar_Middle_Selected"
+                     image_unselected="Toolbar_Middle_Off"
+                     layout="topleft"
+                     top="1"
+                     right="-10"
+                     name="stub_collapse_btn"
+                     tool_tip="Collapse this pane"
+                     width="31" />
+                    <text
+                     type="string"
+                     clip_partial="false"
+                     follows="left|top|right"
+                     layout="topleft"
+                     left="15"
+                     right="-15"
+                     name="stub_textbox"
+                     top="25"
+                     height="40"
+                     valign="center"
+                     parse_urls="true"
+                     wrap="true">
+                         This conversation is in a separate window.   [secondlife:/// Bring it back.]
+                    </text>
+                </panel>
             </panel_container>
         </layout_panel>
     </layout_stack>
diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml
index f8ab2dbcbb99a01c4a892eddb9df9576853d08e3..c0ed2e6a782a9780c79c01aa1c31f79f7858252f 100644
--- a/indra/newview/skins/default/xui/en/floater_im_session.xml
+++ b/indra/newview/skins/default/xui/en/floater_im_session.xml
@@ -70,27 +70,23 @@
      top="0"
      left="0"
      right="-1"
-     bottom="-3">
+     bottom="-1">
         <layout_stack
          animate="false" 
+         bottom="-1"
          default_tab_group="2"
          follows="all"
-         right="-5"
-         bottom="-1"
-         top="0"
          left="3"
-         border_size="0"
          layout="topleft"
-         orientation="vertical"
          name="main_stack"
-         tab_group="1">
+         right="-3"
+         orientation="vertical"
+         tab_group="1"
+         top="0">
             <layout_panel
              auto_resize="false"
-             user_resize="false"
              name="toolbar_panel"
-             height="35"
-             right="-1"
-             left="1">
+             height="25">
                 <menu_button
                  menu_filename="menu_im_session_showmodes.xml"
                  follows="top|left"
@@ -103,7 +99,7 @@
                  left="5"
                  name="view_options_btn"
                  tool_tip="View/sort options"
-                 top="5"
+                 top="1"
                  width="31" />
                 <menu_button
                  menu_filename="menu_im_conversation.xml"
@@ -114,7 +110,7 @@
                  image_selected="Toolbar_Middle_Selected"
                  image_unselected="Toolbar_Middle_Off"
                  layout="topleft"
-                 top="5"
+                 top="1"
                  left_pad="2"
                  name="gear_btn"
                  visible="false"
@@ -129,7 +125,7 @@
                  image_selected="Toolbar_Middle_Selected"
                  image_unselected="Toolbar_Middle_Off"
                  layout="topleft"
-                 top="5"
+                 top="1"
                  left_pad="2"
                  name="add_btn"
                  tool_tip="Add someone to this conversation"
@@ -142,7 +138,7 @@
                  image_selected="Toolbar_Middle_Selected"
                  image_unselected="Toolbar_Middle_Off"
                  layout="topleft"
-                 top="5"
+                 top="1"
                  left_pad="2"
                  name="voice_call_btn"
                  tool_tip="Open voice connection"
@@ -167,8 +163,8 @@
                  image_selected="Toolbar_Middle_Selected"
                  image_unselected="Toolbar_Middle_Off"
                  layout="topleft"
-                 top="5"
-                 right="-67"
+                 top="1"
+                 right="-70"
                  name="close_btn"
                  tool_tip="End this conversation"
                  width="31" />
@@ -180,7 +176,7 @@
                  image_selected="Toolbar_Middle_Selected"
                  image_unselected="Toolbar_Middle_Off"
                  layout="topleft"
-                 top="5"
+                 top="1"
                  left_pad="2"
                  name="expand_collapse_btn"
                  tool_tip="Collapse/Expand this pane"
@@ -195,20 +191,21 @@
                  layout="topleft"
                  left_pad="2"
                  name="tear_off_btn"
-                 top="5"
+                 top="1"
                  width="31" />
             </layout_panel>
             <layout_panel
              name="body_panel"
-             top="1"
-             bottom="-1"
-             auto_resize="true"
-             user_resize="false">
+             height="235">
                 <layout_stack
                  default_tab_group="2"
+                 drag_handle_gap="6"
+                 drag_handle_first_indent="0"
+                 drag_handle_second_indent="1"
                  follows="all"
                  orientation="horizontal"
                  name="im_panels"
+                 show_drag_handle="true"
                  tab_group="1"
                  top="0"
                  right="-1"
@@ -220,14 +217,12 @@
                      min_dim="0"
                      width="150" 
                      user_resize="true"
-                     auto_resize="false" 
-                     bottom="-1" />
+                     auto_resize="false" />
                     <layout_panel
                      default_tab_group="3"
                      tab_group="2"
                      name="right_part_holder"
-                     min_width="221"
-                     bottom="-1">
+                     min_width="221">
                         <layout_stack
                          animate="true" 
                          default_tab_group="2"
@@ -236,7 +231,7 @@
                          name="translate_and_chat_stack"
                          tab_group="1"
                          top="0"
-                         left="0"
+                         left="1"
                          right="-1"
                          bottom="-1">
                             <layout_panel
@@ -262,7 +257,7 @@
                                  parse_highlights="true"
                                  parse_urls="true"
                                  right="-1"
-                                 left="5"
+                                 left="0"
                                  top="0"
                                  bottom="-1" />
                             </layout_panel>
@@ -271,12 +266,8 @@
                 </layout_stack>
             </layout_panel>
             <layout_panel
-             top_delta="0"
-             top="0"
-             height="30"
-             bottom="-1"
+             height="35"
              auto_resize="false"
-             user_resize="false"
              name="chat_layout_panel">
                 <layout_stack
                  animate="false"
@@ -285,15 +276,11 @@
                  orientation="horizontal"
                  name="input_panels"
                  top="0"
-                 bottom="-2"
+                 bottom="-1"
                  left="0"
                  right="-1">
                     <layout_panel
-                     name="input_editor_layout_panel"
-                     auto_resize="true"
-                     user_resize="false"
-                     top="0"
-                     bottom="-1">
+                     name="input_editor_layout_panel">
                         <chat_editor
                          layout="topleft"
                          expand_lines_count="5"
@@ -306,32 +293,27 @@
                          max_length="1023"
                          spellcheck="true"
                          tab_group="3"
-                         top="1"
-                         bottom="-2"
-                         left="4"
-                         right="-4"
+                         bottom="-8"
+                         left="5"
+                         right="-5"
                          wrap="true" />
                     </layout_panel>
                     <layout_panel
                      auto_resize="false"
-                     user_resize="false"
                      name="input_button_layout_panel"
-                     width="30"
-                     top="0"
-                     bottom="-1">
+                     width="32">
                         <button
-                         layout="topleft"
                          left="1"
-                         right="-1"
-                         top="1"
-                         height="22"
+                         top="4"
+                         height="25"
                          follows="left|right|top"
                          image_hover_unselected="Toolbar_Middle_Over"
                          image_overlay="Conv_expand_one_line"
                          image_selected="Toolbar_Middle_Selected"
                          image_unselected="Toolbar_Middle_Off"
                          name="minz_btn"
-                         tool_tip="Shows/hides message panel" />
+                         tool_tip="Shows/hides message panel"
+                         width="28" />
                     </layout_panel>
                 </layout_stack>
             </layout_panel>