From f9e900f5ac9002f5ef3b44b02ac300971288e89b Mon Sep 17 00:00:00 2001
From: Leslie Linden <leslie@lindenlab.com>
Date: Tue, 11 Oct 2011 17:36:23 -0700
Subject: [PATCH] * New floater positioning code.  Better than what's checked
 in but not great. * Floater updates for positioning and to revert some
 earlier string changes.

---
 indra/llui/llfloater.cpp                      | 76 +++++++++++++++----
 indra/llui/llfloater.h                        | 42 ++++++++--
 indra/llui/llfloaterreg.cpp                   | 35 ++++-----
 indra/newview/llappviewer.cpp                 |  7 +-
 indra/newview/llfloatercamera.cpp             |  2 +-
 indra/newview/llfloaterpreference.cpp         |  1 -
 indra/newview/llfloatertoybox.cpp             |  2 -
 .../skins/default/xui/en/floater_about.xml    |  1 +
 .../default/xui/en/floater_about_land.xml     |  3 +-
 .../skins/default/xui/en/floater_activeim.xml |  2 -
 .../skins/default/xui/en/floater_avatar.xml   |  6 +-
 .../default/xui/en/floater_avatar_picker.xml  |  1 +
 .../skins/default/xui/en/floater_camera.xml   |  6 +-
 .../skins/default/xui/en/floater_chat_bar.xml |  5 +-
 .../skins/default/xui/en/floater_critical.xml |  2 +-
 .../default/xui/en/floater_destinations.xml   |  7 +-
 .../skins/default/xui/en/floater_gesture.xml  |  4 +-
 .../default/xui/en/floater_help_browser.xml   |  3 +-
 .../default/xui/en/floater_im_session.xml     |  2 -
 .../default/xui/en/floater_inventory.xml      |  1 -
 .../en/floater_inventory_item_properties.xml  |  1 -
 .../default/xui/en/floater_land_holdings.xml  |  1 +
 .../skins/default/xui/en/floater_map.xml      |  5 +-
 .../default/xui/en/floater_media_browser.xml  |  1 -
 .../default/xui/en/floater_media_settings.xml |  1 -
 .../default/xui/en/floater_model_preview.xml  |  2 +-
 .../skins/default/xui/en/floater_moveview.xml |  5 +-
 .../default/xui/en/floater_my_appearance.xml  |  3 +-
 .../default/xui/en/floater_my_inventory.xml   |  3 +-
 .../default/xui/en/floater_my_profile.xml     |  3 +-
 .../default/xui/en/floater_outfit_save_as.xml |  2 +-
 .../skins/default/xui/en/floater_people.xml   |  1 +
 .../skins/default/xui/en/floater_places.xml   |  1 +
 .../skins/default/xui/en/floater_postcard.xml |  1 -
 .../default/xui/en/floater_preferences.xml    |  5 +-
 .../xui/en/floater_preview_animation.xml      |  1 -
 .../xui/en/floater_preview_gesture.xml        |  3 +-
 .../xui/en/floater_preview_notecard.xml       |  1 -
 .../default/xui/en/floater_preview_sound.xml  |  1 -
 .../xui/en/floater_preview_texture.xml        |  1 -
 .../skins/default/xui/en/floater_script.xml   |  2 -
 .../default/xui/en/floater_script_preview.xml |  1 -
 .../default/xui/en/floater_script_queue.xml   |  1 -
 .../skins/default/xui/en/floater_search.xml   | 14 ++--
 .../skins/default/xui/en/floater_snapshot.xml |  3 +-
 .../default/xui/en/floater_sound_devices.xml  |  2 +-
 .../skins/default/xui/en/floater_sys_well.xml |  2 -
 .../skins/default/xui/en/floater_telehub.xml  |  1 -
 .../skins/default/xui/en/floater_tools.xml    |  1 +
 .../skins/default/xui/en/floater_toybox.xml   |  4 +-
 .../default/xui/en/floater_voice_controls.xml |  3 +-
 .../default/xui/en/floater_web_content.xml    |  1 -
 .../default/xui/en/floater_world_map.xml      |  4 +-
 .../default/xui/en/outfit_accordion_tab.xml   |  2 +-
 .../skins/default/xui/en/panel_toast.xml      |  1 +
 .../skins/default/xui/en/widgets/floater.xml  |  4 +-
 56 files changed, 184 insertions(+), 112 deletions(-)

diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index 90c41e99dc1..0398c0d7eb4 100644
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -62,6 +62,17 @@
 // use this to control "jumping" behavior when Ctrl-Tabbing
 const S32 TABBED_FLOATER_OFFSET = 0;
 
+namespace LLInitParam
+{
+	void TypeValues<LLFloaterEnums::EOpenPositioning>::declareValues()
+	{
+		declare("none",       LLFloaterEnums::OPEN_POSITIONING_NONE);
+		declare("cascading",  LLFloaterEnums::OPEN_POSITIONING_CASCADING);
+		declare("centered",   LLFloaterEnums::OPEN_POSITIONING_CENTERED);
+		declare("specified",  LLFloaterEnums::OPEN_POSITIONING_SPECIFIED);
+	}
+}
+
 std::string	LLFloater::sButtonNames[BUTTON_COUNT] = 
 {
 	"llfloater_close_btn",		//BUTTON_CLOSE
@@ -154,7 +165,6 @@ LLFloater::Params::Params()
 :	title("title"),
 	short_title("short_title"),
 	single_instance("single_instance", false),
-	auto_tile("auto_tile", false),
 	can_resize("can_resize", false),
 	can_minimize("can_minimize", true),
 	can_close("can_close", true),
@@ -164,7 +174,7 @@ LLFloater::Params::Params()
 	save_rect("save_rect", false),
 	save_visibility("save_visibility", false),
 	can_dock("can_dock", false),
-	open_centered("open_centered", false),
+	open_positioning("open_positioning", LLFloaterEnums::OPEN_POSITIONING_NONE),
 	header_height("header_height", 0),
 	legacy_header_height("legacy_header_height", 0),
 	close_image("close_image"),
@@ -227,7 +237,6 @@ LLFloater::LLFloater(const LLSD& key, const LLFloater::Params& p)
 	mShortTitle(p.short_title),
 	mSingleInstance(p.single_instance),
 	mKey(key),
-	mAutoTile(p.auto_tile),
 	mCanTearOff(p.can_tear_off),
 	mCanMinimize(p.can_minimize),
 	mCanClose(p.can_close),
@@ -831,7 +840,7 @@ LLMultiFloater* LLFloater::getHost()
 	return (LLMultiFloater*)mHostHandle.get(); 
 }
 
-void    LLFloater::applySavedVariables()
+void LLFloater::applySavedVariables()
 {
 	applyRectControl();
 	applyDockState();
@@ -839,13 +848,7 @@ void    LLFloater::applySavedVariables()
 
 void LLFloater::applyRectControl()
 {
-	// first, center on screen if requested	
-	if (mOpenCentered)
-	{
-		center();
-	}
-
-	// override center if we have saved rect control
+	// If we have a saved rect, use it
 	if (mRectControl.size() > 1)
 	{
 		const LLRect& rect = getControlGroup()->getRect(mRectControl);
@@ -867,7 +870,50 @@ void LLFloater::applyDockState()
 		bool dockState = getControlGroup()->getBOOL(mDocStateControl);
 		setDocked(dockState);
 	}
+}
+
+void LLFloater::applyPositioning()
+{
+	// Otherwise position according to the positioning code
+	switch (mOpenPositioning)
+	{
+	case LLFloaterEnums::OPEN_POSITIONING_CENTERED:
+		center();
+		break;
+
+	case LLFloaterEnums::OPEN_POSITIONING_SPECIFIED:
+		{
+			// Translate relative to snap rect
+			LLRect r = getRect();
+			r.mBottom = getSnapRect().getHeight() - r.getHeight() - r.mBottom;
+			setOrigin(r.mLeft, r.mBottom);
+			translateIntoRect(getSnapRect(), FALSE);
+		}
+		break;
 
+	case LLFloaterEnums::OPEN_POSITIONING_CASCADING:
+		{
+			static const U32 CASCADING_FLOATER_HOFFSET = 25;
+			static const U32 CASCADING_FLOATER_VOFFSET = 25;
+			static const S32 CASCADING_FLOATER_LIMIT = 15;
+			static S32 cascading_floater_count = 1; 
+			const S32 top = CASCADING_FLOATER_VOFFSET * cascading_floater_count;
+			const S32 left = CASCADING_FLOATER_HOFFSET * cascading_floater_count;
+			setOrigin(left, top);
+			translateIntoRect(getSnapRect(), FALSE);
+
+			if (++cascading_floater_count > CASCADING_FLOATER_LIMIT)
+			{
+				cascading_floater_count = 1;
+			}
+		}
+		break;
+
+	case LLFloaterEnums::OPEN_POSITIONING_NONE:
+	default:
+		// Do nothing
+		break;
+	}
 }
 
 void LLFloater::applyTitle()
@@ -2784,7 +2830,6 @@ void LLFloater::setInstanceName(const std::string& name)
 		{
 			mDocStateControl = LLFloaterReg::declareDockStateControl(ctrl_name);
 		}
-
 	}
 }
 
@@ -2846,9 +2891,9 @@ void LLFloater::initFromParams(const LLFloater::Params& p)
 	mHeaderHeight = p.header_height;
 	mLegacyHeaderHeight = p.legacy_header_height;
 	mSingleInstance = p.single_instance;
-	mAutoTile = p.auto_tile;
-	mOpenCentered = p.open_centered;
+	mOpenPositioning = p.open_positioning;
 
+	/*
 	if (p.save_rect && mRectControl.empty())
 	{
 		mRectControl = "t"; // flag to build mRectControl name once mInstanceName is set
@@ -2856,7 +2901,7 @@ void LLFloater::initFromParams(const LLFloater::Params& p)
 	if (p.save_visibility)
 	{
 		mVisibilityControl = "t"; // flag to build mVisibilityControl name once mInstanceName is set
-	}
+	}*/
 
 	if(p.save_dock_state)
 	{
@@ -3008,6 +3053,7 @@ bool LLFloater::initFloaterXML(LLXMLNodePtr node, LLView *parent, const std::str
 		llerrs << "Failed to construct floater " << getName() << llendl;
 	}
 
+	applyPositioning();
 	applyRectControl(); // If we have a saved rect control, apply it
 	gFloaterView->adjustToFitScreen(this, FALSE); // Floaters loaded from XML should all fit on screen	
 
diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h
index af9665e599b..b404306e948 100644
--- a/indra/llui/llfloater.h
+++ b/indra/llui/llfloater.h
@@ -59,11 +59,35 @@ const BOOL CLOSE_NO = FALSE;
 const BOOL ADJUST_VERTICAL_YES = TRUE;
 const BOOL ADJUST_VERTICAL_NO = FALSE;
 
+namespace LLFloaterEnums
+{
+	enum EOpenPositioning
+	{
+		OPEN_POSITIONING_NONE,
+		OPEN_POSITIONING_CASCADING,
+		OPEN_POSITIONING_CENTERED,
+		OPEN_POSITIONING_SPECIFIED,
+
+		OPEN_POSITIONING_COUNT
+	};
+}
+
+namespace LLInitParam
+{
+	template<>
+	struct TypeValues<LLFloaterEnums::EOpenPositioning> : public TypeValuesHelper<LLFloaterEnums::EOpenPositioning>
+	{
+		static void declareValues();
+	};
+}
+
+
 class LLFloater : public LLPanel
 {
-friend class LLFloaterView;
-friend class LLFloaterReg;
-friend class LLMultiFloater;
+	friend class LLFloaterView;
+	friend class LLFloaterReg;
+	friend class LLMultiFloater;
+
 public:
 	struct KeyCompare
 	{
@@ -95,7 +119,6 @@ friend class LLMultiFloater;
 								short_title;
 		
 		Optional<bool>			single_instance,
-								auto_tile,
 								can_resize,
 								can_minimize,
 								can_close,
@@ -104,8 +127,10 @@ friend class LLMultiFloater;
 								save_rect,
 								save_visibility,
 								save_dock_state,
-								can_dock,
-								open_centered;
+								can_dock;
+		
+		Optional<LLFloaterEnums::EOpenPositioning>	open_positioning;
+		
 		Optional<S32>			header_height,
 								legacy_header_height; // HACK see initFromXML()
 
@@ -297,6 +322,7 @@ friend class LLMultiFloater;
 
 	virtual void	applyRectControl();
 	void			applyDockState();
+	void			applyPositioning();
 	void			storeRectControl();
 	void			storeVisibilityControl();
 	void			storeDockStateControl();
@@ -378,14 +404,14 @@ friend class LLMultiFloater;
 	
 	BOOL			mSingleInstance;	// TRUE if there is only ever one instance of the floater
 	std::string		mInstanceName;		// Store the instance name so we can remove ourselves from the list
-	BOOL			mAutoTile;			// TRUE if placement of new instances tiles
 	
 	BOOL			mCanTearOff;
 	BOOL			mCanMinimize;
 	BOOL			mCanClose;
 	BOOL			mDragOnLeft;
 	BOOL			mResizable;
-	bool			mOpenCentered;
+
+	LLFloaterEnums::EOpenPositioning	mOpenPositioning;
 	
 	S32				mMinWidth;
 	S32				mMinHeight;
diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp
index ae06eb74ac5..058223abbd4 100644
--- a/indra/llui/llfloaterreg.cpp
+++ b/indra/llui/llfloaterreg.cpp
@@ -107,7 +107,6 @@ LLFloater* LLFloaterReg::getInstance(const std::string& name, const LLSD& key)
 			if (!groupname.empty())
 			{
 				instance_list_t& list = sInstanceMap[groupname];
-				int index = list.size();
 
 				res = build_func(key);
 				if (!res)
@@ -121,27 +120,18 @@ LLFloater* LLFloaterReg::getInstance(const std::string& name, const LLSD& key)
 					llwarns << "Failed to build floater type: '" << name << "'." << llendl;
 					return NULL;
 				}
-					
+
 				// Note: key should eventually be a non optional LLFloater arg; for now, set mKey to be safe
 				if (res->mKey.isUndefined()) 
 				{
-						res->mKey = key;
+					res->mKey = key;
 				}
 				res->setInstanceName(name);
 				res->applySavedVariables(); // Can't apply rect and dock state until setting instance name
-				if (res->mAutoTile && !res->getHost() && index > 0)
-				{
-					LLFloater* last_floater = getLastFloaterInGroup(groupname);
-					if (last_floater)
-					{
-						res->stackWith(*last_floater);
-						gFloaterView->adjustToFitScreen(res, true);
-					}
-				}
-				else
-				{
-					gFloaterView->adjustToFitScreen(res, false);
-				}
+
+				// apply list.size() and possibly stackWith(getLastFloaterInGroup(groupname))
+				gFloaterView->adjustToFitScreen(res, false);
+
 				list.push_back(res);
 			}
 		}
@@ -477,16 +467,21 @@ void LLFloaterReg::toggleToolbarFloaterInstance(const LLSD& sdname)
 	std::string name = sdname.asString();
 	parse_name_key(name, key);
 
-	LLFloater* instance = findInstance(name, key); 
+	LLFloater* instance = getInstance(name, key); 
 
-	if (LLFloater::isMinimized(instance))
+	if (!instance)
+	{
+		lldebugs << "Unable to get instance of floater '" << name << "'" << llendl;
+	}
+	else if (instance->isMinimized())
 	{
 		instance->setMinimized(FALSE);
 		instance->setFocus(TRUE);
 	}
-	else if (!LLFloater::isShown(instance))
+	else if (!instance->isShown())
 	{
-		showInstance(name, key, TRUE);
+		instance->openFloater(key);
+		instance->setFocus(TRUE);
 	}
 	else if (!instance->hasFocus() && !instance->getIsChrome())
 	{
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 5077a0a596b..2a9e411762a 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -4293,12 +4293,15 @@ void LLAppViewer::idle()
 		return;
     }
 
-	gViewerWindow->updateUI();
+	if (!quitRequested())
+	{
+		gViewerWindow->updateUI();
+	}
 
 	///////////////////////////////////////
 	// Agent and camera movement
 	//
-		LLCoordGL current_mouse = gViewerWindow->getCurrentMouse();
+	LLCoordGL current_mouse = gViewerWindow->getCurrentMouse();
 
 	{
 		// After agent and camera moved, figure out if we need to
diff --git a/indra/newview/llfloatercamera.cpp b/indra/newview/llfloatercamera.cpp
index b4658b1edbf..aa78bc4f292 100644
--- a/indra/newview/llfloatercamera.cpp
+++ b/indra/newview/llfloatercamera.cpp
@@ -369,7 +369,7 @@ BOOL LLFloaterCamera::postBuild()
 	// ensure that appearance mode is handled while building. See EXT-7796.
 	handleAvatarEditingAppearance(sAppearanceEditing);
 
-	return TRUE;
+	return LLFloater::postBuild();
 }
 
 void LLFloaterCamera::fillFlatlistFromPanel (LLFlatListView* list, LLPanel* panel)
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index 8412d378106..5fdeb46daaf 100755
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -1913,7 +1913,6 @@ BOOL LLFloaterPreferenceProxy::postBuild()
 		getChild<LLLineEditor>("socks5_password")->setValue(socks_cred->getAuthenticator()["creds"].asString());
 	}
 
-	center();
 	return TRUE;
 }
 
diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp
index fa600229110..84881655f81 100644
--- a/indra/newview/llfloatertoybox.cpp
+++ b/indra/newview/llfloatertoybox.cpp
@@ -58,8 +58,6 @@ bool compare_localized_command_labels(LLCommand * cmd1, LLCommand * cmd2)
 
 BOOL LLFloaterToybox::postBuild()
 {	
-	center();
-
 	mBtnRestoreDefaults = getChild<LLButton>("btn_restore_defaults");
 	mToolBar = getChild<LLToolBar>("toybox_toolbar");
 	mToolBar->setStartDragCallback(boost::bind(LLToolBarView::startDragTool,_1,_2,_3));
diff --git a/indra/newview/skins/default/xui/en/floater_about.xml b/indra/newview/skins/default/xui/en/floater_about.xml
index 2580c06344e..36af4758247 100644
--- a/indra/newview/skins/default/xui/en/floater_about.xml
+++ b/indra/newview/skins/default/xui/en/floater_about.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
+ open_positioning="centered"
  legacy_header_height="18"
  height="440"
  layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml
index 9cd838318c9..eaffbf5fa61 100644
--- a/indra/newview/skins/default/xui/en/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/en/floater_about_land.xml
@@ -1,12 +1,13 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
+ open_positioning="cascading"
  can_tear_off="false"
  height="420"
  layout="topleft"
  name="floaterland"
  help_topic="floaterland"
  save_rect="true"
- title="About land"
+ title="ABOUT LAND"
  width="490">
     <floater.string
       name="maturity_icon_general">
diff --git a/indra/newview/skins/default/xui/en/floater_activeim.xml b/indra/newview/skins/default/xui/en/floater_activeim.xml
index 96fe0aa70c1..670c528f083 100644
--- a/indra/newview/skins/default/xui/en/floater_activeim.xml
+++ b/indra/newview/skins/default/xui/en/floater_activeim.xml
@@ -4,8 +4,6 @@
 	name="floater_activeim"
 	help_topic="floater_activeim"
 	title="ACTIVE IM"
-	top="26"
-	left="0"
 	height="22"
 	width="320"
 	follows="right|bottom"
diff --git a/indra/newview/skins/default/xui/en/floater_avatar.xml b/indra/newview/skins/default/xui/en/floater_avatar.xml
index 666aa2d1641..6e5c4ada482 100644
--- a/indra/newview/skins/default/xui/en/floater_avatar.xml
+++ b/indra/newview/skins/default/xui/en/floater_avatar.xml
@@ -12,12 +12,12 @@
  single_instance="true"
  help_topic="avatar"
  save_rect="true"
- title="Avatar Picker"
- width="445">
+ title="AVATAR PICKER"
+ width="635">
     <web_browser
       top="25"
       height="200"
-      width="445"
+      width="635"
       follows="all"
       name="avatar_picker_contents"
       trusted_content="true"/>
diff --git a/indra/newview/skins/default/xui/en/floater_avatar_picker.xml b/indra/newview/skins/default/xui/en/floater_avatar_picker.xml
index a11946d3520..cbbbeb60948 100644
--- a/indra/newview/skins/default/xui/en/floater_avatar_picker.xml
+++ b/indra/newview/skins/default/xui/en/floater_avatar_picker.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
+ open_positioning="cascading"
  legacy_header_height="18"
  can_resize="true"
  height="350"
diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml
index 125ca81cde3..7f3abbb4815 100644
--- a/indra/newview/skins/default/xui/en/floater_camera.xml
+++ b/indra/newview/skins/default/xui/en/floater_camera.xml
@@ -1,16 +1,20 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
+ open_positioning="specified"
  legacy_header_height="18"
  can_minimize="true"
  can_close="true"
  follows="bottom"
  height="164"
  layout="topleft"
+ left="683"
+ bottom="0"
  name="camera_floater"
  help_topic="camera_floater"
- save_rect="true"
  save_visibility="true"
  single_instance="true"
+ title="VIEW"
+ save_rect="true"
  width="228">
     <floater.string
      name="rotate_tooltip">
diff --git a/indra/newview/skins/default/xui/en/floater_chat_bar.xml b/indra/newview/skins/default/xui/en/floater_chat_bar.xml
index 6977e29b788..924e4bc11ea 100644
--- a/indra/newview/skins/default/xui/en/floater_chat_bar.xml
+++ b/indra/newview/skins/default/xui/en/floater_chat_bar.xml
@@ -1,10 +1,13 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
+ open_positioning="specified"
  height="60"
+ left="150"
+ bottom="0"
  layout="topleft"
  legacy_header_height="25"
  single_instance="true"
- title="Nearby chat"
+ title="NEARBY CHAT"
  save_rect="true"
  can_close="true"
  can_minimize="true"
diff --git a/indra/newview/skins/default/xui/en/floater_critical.xml b/indra/newview/skins/default/xui/en/floater_critical.xml
index 05c958e051b..13b15bf7240 100644
--- a/indra/newview/skins/default/xui/en/floater_critical.xml
+++ b/indra/newview/skins/default/xui/en/floater_critical.xml
@@ -6,7 +6,7 @@
  height="500"
  layout="topleft"
  name="modal container"
- open_centered="true"
+ open_positioning="centered"
  width="600">
     <button
      height="20"
diff --git a/indra/newview/skins/default/xui/en/floater_destinations.xml b/indra/newview/skins/default/xui/en/floater_destinations.xml
index 669b7eb15ac..2b48a9f6d6a 100644
--- a/indra/newview/skins/default/xui/en/floater_destinations.xml
+++ b/indra/newview/skins/default/xui/en/floater_destinations.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
+ open_positioning="cascading"
  legacy_header_height="225"
  can_minimize="true"
  can_close="true"
@@ -13,12 +14,12 @@
  single_instance="true"
  help_topic="destinations"
  save_rect="true"
- title="Destinations"
- width="525">
+ title="DESTINATIONS"
+ width="840">
     <web_browser
       top="25"
       height="200"
-      width="525"
+      width="840"
       follows="all"
       name="destination_guide_contents"
       start_url="http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/guide.html"
diff --git a/indra/newview/skins/default/xui/en/floater_gesture.xml b/indra/newview/skins/default/xui/en/floater_gesture.xml
index c0424f4de3c..a941734358c 100644
--- a/indra/newview/skins/default/xui/en/floater_gesture.xml
+++ b/indra/newview/skins/default/xui/en/floater_gesture.xml
@@ -1,11 +1,13 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
+ open_positioning="cascading"
+ save_rect="true"
  legacy_header_height="18"
  can_resize="true"
  height="465"
  name="gestures"
  help_topic="gestures"
- title="Gestures"
+ title="GESTURES"
  background_visible="true"
  follows="all"
  label="Places"
diff --git a/indra/newview/skins/default/xui/en/floater_help_browser.xml b/indra/newview/skins/default/xui/en/floater_help_browser.xml
index de6d586f720..d101bca6943 100644
--- a/indra/newview/skins/default/xui/en/floater_help_browser.xml
+++ b/indra/newview/skins/default/xui/en/floater_help_browser.xml
@@ -1,9 +1,8 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
+ open_positioning="cascading"
  legacy_header_height="18"
  can_resize="true"
- left="10000"
- bottom="10000"
  height="600"
  layout="topleft"
  min_height="150"
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 a371e983227..cb7d91abb88 100644
--- a/indra/newview/skins/default/xui/en/floater_im_session.xml
+++ b/indra/newview/skins/default/xui/en/floater_im_session.xml
@@ -6,9 +6,7 @@
  follows="all"
  height="350"
  layout="topleft"
- left="0"
  name="panel_im"
- top="0"
  can_dock="false"
  can_minimize="true"
  can_close="true"
diff --git a/indra/newview/skins/default/xui/en/floater_inventory.xml b/indra/newview/skins/default/xui/en/floater_inventory.xml
index ba2e0d3277f..6d860c73fcc 100644
--- a/indra/newview/skins/default/xui/en/floater_inventory.xml
+++ b/indra/newview/skins/default/xui/en/floater_inventory.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
  legacy_header_height="18"
- auto_tile="true"
  can_resize="true"
  height="563"
  layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml
index 0cf07926c2b..adef066aef4 100644
--- a/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml
+++ b/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
  legacy_header_height="18"
- auto_tile="true"
  height="340"
  layout="topleft"
  name="item properties"
diff --git a/indra/newview/skins/default/xui/en/floater_land_holdings.xml b/indra/newview/skins/default/xui/en/floater_land_holdings.xml
index 0b9ae3c9f3a..3737294ebe6 100644
--- a/indra/newview/skins/default/xui/en/floater_land_holdings.xml
+++ b/indra/newview/skins/default/xui/en/floater_land_holdings.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
+ open_positioning="centered"
  legacy_header_height="18"
  height="430"
  layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/floater_map.xml b/indra/newview/skins/default/xui/en/floater_map.xml
index 51f63edc31e..58d67c82211 100644
--- a/indra/newview/skins/default/xui/en/floater_map.xml
+++ b/indra/newview/skins/default/xui/en/floater_map.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
+ open_positioning="cascading"
  can_minimize="true" 
  can_resize="true"
  follows="top|right"
@@ -8,12 +9,10 @@
  min_height="128"
  min_width="128"
  name="Map"
- title="Mini-map"
+ title="MINI-MAP"
  help_topic="map"
  save_rect="true"
  save_visibility="true"
- left="0"
- top="0"
  width="200">
     <floater.string
      name="ToolTipMsg">
diff --git a/indra/newview/skins/default/xui/en/floater_media_browser.xml b/indra/newview/skins/default/xui/en/floater_media_browser.xml
index 5a1f920398b..c3324a6aa40 100644
--- a/indra/newview/skins/default/xui/en/floater_media_browser.xml
+++ b/indra/newview/skins/default/xui/en/floater_media_browser.xml
@@ -9,7 +9,6 @@
  name="floater_about"
  help_topic="floater_about"
  save_rect="true"
- auto_tile="true"
  title="MEDIA BROWSER"
  width="820">
     <floater.string
diff --git a/indra/newview/skins/default/xui/en/floater_media_settings.xml b/indra/newview/skins/default/xui/en/floater_media_settings.xml
index 681731b0da5..0e03c0ab6df 100644
--- a/indra/newview/skins/default/xui/en/floater_media_settings.xml
+++ b/indra/newview/skins/default/xui/en/floater_media_settings.xml
@@ -10,7 +10,6 @@
  enabled="true"
  width="365" 
  height="535" 
- left="330" 
  min_height="535" 
  min_width="365"
  mouse_opaque="true" 
diff --git a/indra/newview/skins/default/xui/en/floater_model_preview.xml b/indra/newview/skins/default/xui/en/floater_model_preview.xml
index 2eea286c8bf..fbaf4f0a8a8 100644
--- a/indra/newview/skins/default/xui/en/floater_model_preview.xml
+++ b/indra/newview/skins/default/xui/en/floater_model_preview.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater can_close="true" can_drag_on_left="false" can_minimize="false"
      can_resize="false" height="480" min_height="480" min_width="940"
-     name="Model Preview" title="Upload Model" width="940"
+     name="Model Preview" title="UPLOAD MODEL" width="940"
       help_topic="upload_model" >
 
   <string name="status_idle"></string>
diff --git a/indra/newview/skins/default/xui/en/floater_moveview.xml b/indra/newview/skins/default/xui/en/floater_moveview.xml
index 3c0905a2a54..3d23a94ec2c 100644
--- a/indra/newview/skins/default/xui/en/floater_moveview.xml
+++ b/indra/newview/skins/default/xui/en/floater_moveview.xml
@@ -1,18 +1,21 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
+ open_positioning="specified"
  legacy_header_height="18"
  can_dock="false"
  can_minimize="true"
  can_close="true"
  follows="bottom"
  height="110"
+ left="535"
+ bottom="0"
  layout="topleft"
  name="move_floater"
  help_topic="move_floater"
  save_rect="true"
  save_visibility="true"
  save_dock_state="true"
- title="Move"
+ title="MOVE"
  width="133">
     <string
      name="walk_forward_tooltip">
diff --git a/indra/newview/skins/default/xui/en/floater_my_appearance.xml b/indra/newview/skins/default/xui/en/floater_my_appearance.xml
index de2aa49c0cf..758a1d5be9c 100644
--- a/indra/newview/skins/default/xui/en/floater_my_appearance.xml
+++ b/indra/newview/skins/default/xui/en/floater_my_appearance.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 
 <floater
+  open_positioning="cascading"
   legacy_header_height="18"
   can_resize="true"
   height="588"
@@ -9,7 +10,7 @@
   help_topic="appearance"
   save_rect="true"
   single_instance="true"
-  title="Appearance"
+  title="APPEARANCE"
   width="333">
     <panel
       top="18"
diff --git a/indra/newview/skins/default/xui/en/floater_my_inventory.xml b/indra/newview/skins/default/xui/en/floater_my_inventory.xml
index 3f852c9ed5c..44491c671fb 100644
--- a/indra/newview/skins/default/xui/en/floater_my_inventory.xml
+++ b/indra/newview/skins/default/xui/en/floater_my_inventory.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <floater
+ open_positioning="cascading"
  can_close="true"
  can_resize="true"
  height="570"
@@ -9,7 +10,7 @@
  name="floater_my_inventory"
  save_rect="true"
  save_visibility="true"
- title="Inventory"
+ title="INVENTORY"
  width="333" >
    <panel
     class="sidepanel_inventory"
diff --git a/indra/newview/skins/default/xui/en/floater_my_profile.xml b/indra/newview/skins/default/xui/en/floater_my_profile.xml
index b3ebe7f7917..713515d0419 100644
--- a/indra/newview/skins/default/xui/en/floater_my_profile.xml
+++ b/indra/newview/skins/default/xui/en/floater_my_profile.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <floater
+ open_positioning="cascading"
  can_close="true"
  can_resize="true"
  height="570"
@@ -9,7 +10,7 @@
  name="floater_profile"
  save_rect="true"
  save_visibility="true"
- title="My Profile"
+ title="MY PROFILE"
  width="333" >
    <panel
     class="panel_me"
diff --git a/indra/newview/skins/default/xui/en/floater_outfit_save_as.xml b/indra/newview/skins/default/xui/en/floater_outfit_save_as.xml
index 068737494f3..bbe280582b5 100644
--- a/indra/newview/skins/default/xui/en/floater_outfit_save_as.xml
+++ b/indra/newview/skins/default/xui/en/floater_outfit_save_as.xml
@@ -4,7 +4,7 @@
  can_minimize="false"
  height="100"
  layout="topleft"
- title="Save Outfit"
+ title="SAVE OUTFIT"
  name="modal container"
  width="240">
     <button
diff --git a/indra/newview/skins/default/xui/en/floater_people.xml b/indra/newview/skins/default/xui/en/floater_people.xml
index 4dd3a2f0e1f..9c1d1214330 100644
--- a/indra/newview/skins/default/xui/en/floater_people.xml
+++ b/indra/newview/skins/default/xui/en/floater_people.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
 
 <floater
+  open_positioning="cascading"
   can_close="true"
   can_resize="true"
   height="570"
diff --git a/indra/newview/skins/default/xui/en/floater_places.xml b/indra/newview/skins/default/xui/en/floater_places.xml
index d589eb7d201..0c22f2d6ea5 100644
--- a/indra/newview/skins/default/xui/en/floater_places.xml
+++ b/indra/newview/skins/default/xui/en/floater_places.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 
 <floater
+  open_positioning="cascading"
   legacy_header_height="18"
   can_resize="true"
   height="588"
diff --git a/indra/newview/skins/default/xui/en/floater_postcard.xml b/indra/newview/skins/default/xui/en/floater_postcard.xml
index c756661ffc3..adc2433105c 100644
--- a/indra/newview/skins/default/xui/en/floater_postcard.xml
+++ b/indra/newview/skins/default/xui/en/floater_postcard.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
  legacy_header_height="18"
- auto_tile="true"
  can_minimize="false"
  can_resize="true"
  height="380"
diff --git a/indra/newview/skins/default/xui/en/floater_preferences.xml b/indra/newview/skins/default/xui/en/floater_preferences.xml
index c8a139904a8..402868bb977 100644
--- a/indra/newview/skins/default/xui/en/floater_preferences.xml
+++ b/indra/newview/skins/default/xui/en/floater_preferences.xml
@@ -1,14 +1,15 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
  legacy_header_height="18"
- open_centered="true"
+ open_positioning="centered"
  default_tab_group="1"
  height="460"
  layout="topleft"
  name="Preferences"
  help_topic="preferences"
+ save_rect="true"
  single_instance="true"
- title="Preferences"
+ title="PREFERENCES"
  width="658">
     <button
      follows="right|bottom"
diff --git a/indra/newview/skins/default/xui/en/floater_preview_animation.xml b/indra/newview/skins/default/xui/en/floater_preview_animation.xml
index 65efc46c717..8427c7b06f2 100644
--- a/indra/newview/skins/default/xui/en/floater_preview_animation.xml
+++ b/indra/newview/skins/default/xui/en/floater_preview_animation.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
  legacy_header_height="18"
- auto_tile="true"
  height="85"
  layout="topleft"
  name="preview_anim"
diff --git a/indra/newview/skins/default/xui/en/floater_preview_gesture.xml b/indra/newview/skins/default/xui/en/floater_preview_gesture.xml
index 478ae5f53f0..8baa0a56f75 100644
--- a/indra/newview/skins/default/xui/en/floater_preview_gesture.xml
+++ b/indra/newview/skins/default/xui/en/floater_preview_gesture.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
  legacy_header_height="18"
- auto_tile="true"
  height="460"
  layout="topleft"
  name="gesture_preview"
@@ -362,4 +361,4 @@
      name="save_btn"
      top_delta="0"
      width="80" />
-</floater>
\ No newline at end of file
+</floater>
diff --git a/indra/newview/skins/default/xui/en/floater_preview_notecard.xml b/indra/newview/skins/default/xui/en/floater_preview_notecard.xml
index 8c9e1d52b33..f35628f8e51 100644
--- a/indra/newview/skins/default/xui/en/floater_preview_notecard.xml
+++ b/indra/newview/skins/default/xui/en/floater_preview_notecard.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
  legacy_header_height="18"
- auto_tile="true"
  can_resize="true"
  default_tab_group="1"
  follows="left|top"
diff --git a/indra/newview/skins/default/xui/en/floater_preview_sound.xml b/indra/newview/skins/default/xui/en/floater_preview_sound.xml
index 62ef4c3097e..83a1f5a96f6 100644
--- a/indra/newview/skins/default/xui/en/floater_preview_sound.xml
+++ b/indra/newview/skins/default/xui/en/floater_preview_sound.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
  legacy_header_height="18"
- auto_tile="true"
  height="85"
  layout="topleft"
  name="preview_sound"
diff --git a/indra/newview/skins/default/xui/en/floater_preview_texture.xml b/indra/newview/skins/default/xui/en/floater_preview_texture.xml
index a79d2f63cb3..92d3a6702c1 100644
--- a/indra/newview/skins/default/xui/en/floater_preview_texture.xml
+++ b/indra/newview/skins/default/xui/en/floater_preview_texture.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
  legacy_header_height="18"
- auto_tile="true"
  can_resize="true"
  follows="left|top"
  height="350"
diff --git a/indra/newview/skins/default/xui/en/floater_script.xml b/indra/newview/skins/default/xui/en/floater_script.xml
index 12ade86b5fa..73e6d6147a3 100644
--- a/indra/newview/skins/default/xui/en/floater_script.xml
+++ b/indra/newview/skins/default/xui/en/floater_script.xml
@@ -5,9 +5,7 @@
  follows="left|top|right|bottom"
  height="250"
  layout="topleft"
- left="0"
  name="script_floater"
- top="0"
  can_dock="true"
  can_minimize="true"
  visible="false" 
diff --git a/indra/newview/skins/default/xui/en/floater_script_preview.xml b/indra/newview/skins/default/xui/en/floater_script_preview.xml
index 8c03b560400..91a9e67e4cd 100644
--- a/indra/newview/skins/default/xui/en/floater_script_preview.xml
+++ b/indra/newview/skins/default/xui/en/floater_script_preview.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
  legacy_header_height="18"
- auto_tile="true"
  can_resize="true"
  height="570"
  layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/floater_script_queue.xml b/indra/newview/skins/default/xui/en/floater_script_queue.xml
index 60a26fcf1d4..f4aca7bb3dd 100644
--- a/indra/newview/skins/default/xui/en/floater_script_queue.xml
+++ b/indra/newview/skins/default/xui/en/floater_script_queue.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
  legacy_header_height="18"
- auto_tile="true"
  can_resize="true"
  height="400"
  layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/floater_search.xml b/indra/newview/skins/default/xui/en/floater_search.xml
index eaf575fc083..b6fc7f150cc 100644
--- a/indra/newview/skins/default/xui/en/floater_search.xml
+++ b/indra/newview/skins/default/xui/en/floater_search.xml
@@ -1,18 +1,18 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
+  open_positioning="cascading"
   legacy_header_height="18"
- can_resize="true"
+  can_resize="true"
   height="775"
- layout="topleft"
- min_height="400"
+  layout="topleft"
+  min_height="400"
   min_width="500"
   name="floater_web_content"
   help_topic="floater_web_content"
- save_rect="true"
-  auto_tile="true"
- save_visibility="true"
+  save_rect="true"
+  save_visibility="true"
   title=""
   initial_mime_type="text/html"
   width="780"
-             tab_stop="true"
+  tab_stop="true"
   filename="floater_web_content.xml"/>
diff --git a/indra/newview/skins/default/xui/en/floater_snapshot.xml b/indra/newview/skins/default/xui/en/floater_snapshot.xml
index 4ba513bf9cb..91b4ed6954b 100644
--- a/indra/newview/skins/default/xui/en/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/en/floater_snapshot.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
+ open_positioning="cascading"
  legacy_header_height="18"
  can_minimize="true"
  can_close="true"
@@ -10,7 +11,7 @@
  help_topic="snapshot"
  save_rect="true"
  save_visibility="true"
- title="Snapshot preview"
+ title="SNAPSHOT PREVIEW"
  width="245">
     <floater.string
      name="unknown">
diff --git a/indra/newview/skins/default/xui/en/floater_sound_devices.xml b/indra/newview/skins/default/xui/en/floater_sound_devices.xml
index 74e01f359c6..3dbe4adf28a 100644
--- a/indra/newview/skins/default/xui/en/floater_sound_devices.xml
+++ b/indra/newview/skins/default/xui/en/floater_sound_devices.xml
@@ -14,7 +14,7 @@
  height="164"
  layout="topleft"
  name="floater_sound_devices"
- title="Sound Devices"
+ title="SOUND DEVICES"
  width="490">
   <panel
     layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/floater_sys_well.xml b/indra/newview/skins/default/xui/en/floater_sys_well.xml
index 005952f3f23..62501ea2b7e 100644
--- a/indra/newview/skins/default/xui/en/floater_sys_well.xml
+++ b/indra/newview/skins/default/xui/en/floater_sys_well.xml
@@ -2,8 +2,6 @@
 <floater
  legacy_header_height="18"
  bevel_style="in"
- left="0"
- top="0"
  follows="right|bottom"
  layout="topleft"
  name="sys_well_window"
diff --git a/indra/newview/skins/default/xui/en/floater_telehub.xml b/indra/newview/skins/default/xui/en/floater_telehub.xml
index da412ed8a02..547613fb672 100644
--- a/indra/newview/skins/default/xui/en/floater_telehub.xml
+++ b/indra/newview/skins/default/xui/en/floater_telehub.xml
@@ -4,7 +4,6 @@
  legacy_header_height="18"
  height="250"
  layout="topleft"
- left="300" 
  name="telehub"
  help_topic="telehub"
  title="TELEHUB"
diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml
index 9b02f7d2737..465bd86281f 100644
--- a/indra/newview/skins/default/xui/en/floater_tools.xml
+++ b/indra/newview/skins/default/xui/en/floater_tools.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
+ open_positioning="cascading"
  legacy_header_height="18"
  follows="left|top|right"
  height="580"
diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml
index 90b7e906a5d..fbc16352ea2 100644
--- a/indra/newview/skins/default/xui/en/floater_toybox.xml
+++ b/indra/newview/skins/default/xui/en/floater_toybox.xml
@@ -10,10 +10,10 @@
   layout="topleft"
   legacy_header_height="18"
   name="Toybox"
-  open_centered="true"
+  open_positioning="centered"
   save_rect="true"
   single_instance="true"
-  title="Customize toolbars"
+  title="CUSTOMIZE TOOLBARS"
   width="650">
   <text
     follows="left|top"
diff --git a/indra/newview/skins/default/xui/en/floater_voice_controls.xml b/indra/newview/skins/default/xui/en/floater_voice_controls.xml
index 447549db44d..3f5768bc0b5 100644
--- a/indra/newview/skins/default/xui/en/floater_voice_controls.xml
+++ b/indra/newview/skins/default/xui/en/floater_voice_controls.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
+ open_positioning="cascading"
  can_resize="true"
  can_minimize="true"
  can_close="true"
@@ -9,7 +10,7 @@
  min_width="190"
  name="floater_voice_controls"
  help_topic="floater_voice_controls"
- title="Voice controls"
+ title="VOICE CONTROLS"
  save_dock_state="true"
  save_visibility="true"
  save_rect="true"
diff --git a/indra/newview/skins/default/xui/en/floater_web_content.xml b/indra/newview/skins/default/xui/en/floater_web_content.xml
index 0eda9ae62ab..57d1c92acbf 100644
--- a/indra/newview/skins/default/xui/en/floater_web_content.xml
+++ b/indra/newview/skins/default/xui/en/floater_web_content.xml
@@ -9,7 +9,6 @@
   name="floater_web_content"
   help_topic="floater_web_content"
   save_rect="true"
-  auto_tile="true"
   title=""
   initial_mime_type="text/html"
   width="780">
diff --git a/indra/newview/skins/default/xui/en/floater_world_map.xml b/indra/newview/skins/default/xui/en/floater_world_map.xml
index 3d997a17f79..4314c8a9e2a 100644
--- a/indra/newview/skins/default/xui/en/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/en/floater_world_map.xml
@@ -2,7 +2,7 @@
 <floater
  legacy_header_height="18"
  can_resize="true"
- open_centered="true"
+ open_positioning="centered"
  height="600"
  layout="topleft"
  min_height="520"
@@ -12,7 +12,7 @@
  save_rect="true"
  save_visibility="true"
  single_instance="true"
- title="World map"
+ title="WORLD MAP"
  width="650">
     <panel
      filename="panel_world_map.xml"
diff --git a/indra/newview/skins/default/xui/en/outfit_accordion_tab.xml b/indra/newview/skins/default/xui/en/outfit_accordion_tab.xml
index 20ff492c0f3..2a24c74febd 100644
--- a/indra/newview/skins/default/xui/en/outfit_accordion_tab.xml
+++ b/indra/newview/skins/default/xui/en/outfit_accordion_tab.xml
@@ -10,7 +10,7 @@
  name="Mockup Tab"
  selection_enabled="true"
  tab_stop="false"
- title="Mockup Tab"
+ title="MOCKUP TAB"
  translate="false"
  width="0">
     <wearable_items_list
diff --git a/indra/newview/skins/default/xui/en/panel_toast.xml b/indra/newview/skins/default/xui/en/panel_toast.xml
index 42f64c3a76e..b9e714dd30c 100644
--- a/indra/newview/skins/default/xui/en/panel_toast.xml
+++ b/indra/newview/skins/default/xui/en/panel_toast.xml
@@ -10,6 +10,7 @@
 -->
 
 <floater
+ open_positioning="none"
  legacy_header_height="0"
  header_height="0"
  name="toast"
diff --git a/indra/newview/skins/default/xui/en/widgets/floater.xml b/indra/newview/skins/default/xui/en/widgets/floater.xml
index 2e5ebafe46b..adbb1833178 100644
--- a/indra/newview/skins/default/xui/en/widgets/floater.xml
+++ b/indra/newview/skins/default/xui/en/widgets/floater.xml
@@ -1,7 +1,9 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <!-- See also settings.xml UIFloater* settings for configuration -->
-<floater 
+<floater
  name="floater"
+ open_positioning="none"
+ layout="topleft"
  bg_opaque_color="FloaterFocusBackgroundColor"
  bg_alpha_color="FloaterDefaultBackgroundColor"
  bg_opaque_image="Window_Foreground" 
-- 
GitLab