Index: TermWindow.cpp
===================================================================
--- TermWindow.cpp	(revision 29278)
+++ TermWindow.cpp	(working copy)
@@ -39,6 +39,7 @@
 #include "TermConst.h"
 #include "TermScrollView.h"
 #include "TermView.h"
+#include "SetTitleDlg.h"
 
 
 const static int32 kMaxTabs = 6;
@@ -145,6 +146,7 @@
 	fPrintSettings(NULL),
 	fPrefWindow(NULL),
 	fFindPanel(NULL),
+	fSetTitlePanel(NULL),
 	fSavedFrame(0, 0, -1, -1),
 	fFindString(""),
 	fFindForwardMenuItem(NULL),
@@ -253,6 +255,7 @@
 	fFilemenu->AddItem(new BMenuItem("Switch Terminals", new BMessage(MENU_SWITCH_TERM),'G'));
 	fFilemenu->AddItem(new BMenuItem("New Terminal" B_UTF8_ELLIPSIS, new BMessage(MENU_NEW_TERM), 'N'));
 	fFilemenu->AddItem(new BMenuItem("New Tab", new BMessage(kNewTab), 'T'));
+	fFilemenu->AddItem(new BMenuItem("Set Title" B_UTF8_ELLIPSIS, new BMessage(MENU_SET_WIN_TITLE), 'R'));
 	
 	fFilemenu->AddSeparatorItem();
 	fFilemenu->AddItem(new BMenuItem("Page Setup" B_UTF8_ELLIPSIS, new BMessage(MENU_PAGE_SETUP)));
@@ -357,6 +360,14 @@
 			break;
 		}
 		
+		case MENU_SET_WIN_TITLE:
+			this->SetTitleRequested();
+			break;  
+		
+		case MSG_SET_TITLE_CLOSED:
+			fSetTitlePanel = NULL;
+			break;
+		
 		case MENU_PREF_OPEN:
 			if (!fPrefWindow)
 				fPrefWindow = new PrefWindow(this);
@@ -609,6 +620,25 @@
 
 
 void
+TermWindow::SetTitleRequested (void)
+{
+  if (fSetTitlePanel) 
+  {
+    fSetTitlePanel->Activate ();
+  }
+  else
+  {
+    
+    BRect rect(0, 0, 250, 100);
+    rect.OffsetTo (this->Frame().LeftTop());
+    rect.OffsetBy (100, 100);
+    fSetTitlePanel = new SetTitleDlg (rect, this);
+    fSetTitlePanel->Show();
+  }
+  
+}
+
+void
 TermWindow::WindowActivated(bool activated)
 {
 	BWindow::WindowActivated(activated);
Index: Jamfile
===================================================================
--- Jamfile	(revision 29278)
+++ Jamfile	(working copy)
@@ -18,6 +18,7 @@
 	PrefHandler.cpp
 	PrefView.cpp
 	PrefWindow.cpp
+	SetTitleDlg.cpp
 	Shell.cpp
 	SmartTabView.cpp
 	TermApp.cpp
Index: TermWindow.h
===================================================================
--- TermWindow.h	(revision 29278)
+++ TermWindow.h	(working copy)
@@ -44,6 +44,7 @@
 class SmartTabView;
 class TermView;
 class TermViewContainerView;
+class SetTitleDlg;
 
 
 class TermWindow : public BWindow {
@@ -55,6 +56,12 @@
 						const char* title);
 			void	SessionChanged();
 
+			void			SetTitleRequested (void);
+			// this was a private function.
+			// needs to be changed to public 
+			// so it can be used in the SetTitleDlg window to change the title from the GUI's menu
+			TermView*		_ActiveTermView() const;
+
 protected:
 	virtual void	MessageReceived(BMessage *message);
 	virtual void	WindowActivated(bool);
@@ -75,7 +82,10 @@
 	void			_RemoveTab(int32 index);
 	TermViewContainerView* _ActiveTermViewContainerView() const;
 	TermViewContainerView* _TermViewContainerViewAt(int32 index) const;
-	TermView*		_ActiveTermView() const;
+	// this was a private function.
+	// needs to be changed to public 
+	// so it can be used in the SetTitleDlg window to change the title from the GUI's menu
+	//TermView*		_ActiveTermView() const;
 	TermView*		_TermViewAt(int32 index) const;
 	int32			_IndexOfTermView(TermView* termView) const;
 	void			_CheckChildren();
@@ -99,6 +109,7 @@
 	BMessage		*fPrintSettings;
 	PrefWindow		*fPrefWindow;
 	FindWindow		*fFindPanel;
+	SetTitleDlg		*fSetTitlePanel;
 	BRect			fSavedFrame;
 	window_look		fSavedLook;
 
Index: TermConst.h
===================================================================
--- TermConst.h	(revision 29278)
+++ TermConst.h	(working copy)
@@ -50,6 +50,7 @@
 const uint32 MENU_SWITCH_TERM   = 'MSWT';
 const uint32 MENU_NEW_TERM      = 'MNTE';
 const uint32 MENU_PREF_OPEN     = 'MPre';
+const uint32 MENU_SET_WIN_TITLE	= 'MSTL';
 const uint32 MENU_CLEAR_ALL     = 'MCAl';
 const uint32 MENU_HELP          = 'Mhlp';
 const uint32 MENU_COMMAND_HELP  = 'Mchp';
@@ -91,6 +92,8 @@
 const uint32 MSG_TERMINAL_BUFFER_CHANGED		= 'bufc';
 const uint32 MSG_SET_TERMNAL_TITLE				= 'sett';
 const uint32 MSG_QUIT_TERMNAL					= 'qutt';
+const uint32 MSG_SET_TITLE_CLOSED 				= 'mstc';
+const uint32 MSG_OK_CHANGE_TITLE				= 'okct';
 
 // Preference Read/Write Keys
 const char* const PREF_HALF_FONT_FAMILY = "Half Font Family";
