Index: protocols/oscar/oscaraccount.h
===================================================================
--- protocols/oscar/oscaraccount.h	(revision 766819)
+++ protocols/oscar/oscaraccount.h	(working copy)
@@ -75,6 +75,11 @@
 	 */
 	virtual bool setIdentity( Kopete::Identity *ident );
 
+	/**
+	 * Indicates how long we should wait before declaring that user has stopped typing.
+	 */
+	virtual int typingNotificationTimeout() const;
+
 	/** Set the server address */
 	void setServerAddress( const QString& server );
 
Index: protocols/oscar/oscaraccount.cpp
===================================================================
--- protocols/oscar/oscaraccount.cpp	(revision 766819)
+++ protocols/oscar/oscaraccount.cpp	(working copy)
@@ -208,6 +208,11 @@
 	return true;
 }
 
+int OscarAccount::typingNotificationTimeout() const
+{
+	return 60000;
+}
+
 void OscarAccount::loginActions()
 {
     password().setWrong( false );
Index: kopete/chatwindow/chatview.cpp
===================================================================
--- kopete/chatwindow/chatview.cpp	(revision 766819)
+++ kopete/chatwindow/chatview.cpp	(working copy)
@@ -419,8 +419,9 @@
 		m_remoteTypingMap.insert( contact, new QTimer(this) );
 		connect( m_remoteTypingMap[ contact ], SIGNAL( timeout() ), SLOT( slotRemoteTypingTimeout() ) );
 
+		int timeout = contact->account()->typingNotificationTimeout();
 		m_remoteTypingMap[ contact ]->setSingleShot( true );
-		m_remoteTypingMap[ contact ]->start( 6000 );
+		m_remoteTypingMap[ contact ]->start( timeout );
 	}
 
 	// Loop through the map, constructing a string of people typing
Index: libkopete/kopeteaccount.cpp
===================================================================
--- libkopete/kopeteaccount.cpp	(revision 766819)
+++ libkopete/kopeteaccount.cpp	(working copy)
@@ -534,6 +534,11 @@
 	return d->suppressStatusNotification;
 }
 
+int Account::typingNotificationTimeout() const
+{
+	return 6000;
+}
+
 bool Account::removeAccount()
 {
 	//default implementation
Index: libkopete/kopeteaccount.h
===================================================================
--- libkopete/kopeteaccount.h	(revision 766819)
+++ libkopete/kopeteaccount.h	(working copy)
@@ -288,6 +288,13 @@
 	bool suppressStatusNotification() const;
 
 	/**
+	 * Indicates how long we should wait before declaring that user has stopped typing.
+	 *
+	 * @return typing notification timeout in milliseconds, default is 6000 milliseconds
+	 */
+	virtual int typingNotificationTimeout() const;
+
+	/**
 	 * \brief Create a contact (creating a new metacontact if necessary)
 	 *
 	 * If a contact for this account with ID @p contactId is not already on the contact list,
