[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdebase/kwin
From: Luboš Luňák <l.lunak () kde ! org>
Date: 2005-02-07 14:35:54
Message-ID: 20050207143554.5060E1BABD () office ! kde ! org
[Download RAW message or body]
CVS commit by lunakl:
Avoid unnecessary roundtrips finding out WM_CLIENT_MACHINE when setting
caption.
M +11 -15 client.cpp 1.449
M +2 -0 client.h 1.176
M +2 -1 manage.cpp 2.72
--- kdebase/kwin/client.cpp #1.448:1.449
@@ -1277,5 +1277,5 @@ void Client::setCaption( const QString&
bool was_suffix = ( !cap_suffix.isEmpty());
QString machine_suffix;
- if( !isLocalMachine( wmClientMachine( false )))
+ if( wmClientMachine( false ) != "localhost" && !isLocalMachine( wmClientMachine( false )))
machine_suffix = " <@" + wmClientMachine( true ) + ">";
cap_suffix = machine_suffix;
@@ -1470,15 +1470,4 @@ QCString Client::staticWmCommand(WId w)
/*!
- Returns WM_CLIENT_MACHINE property for a given window.
- */
-QCString Client::staticWmClientMachine(WId w)
- {
- QCString result = getStringProperty(w, XA_WM_CLIENT_MACHINE);
- if (result.isEmpty())
- result = "localhost";
- return result;
- }
-
-/*!
Returns WM_CLIENT_LEADER property for a given window.
*/
@@ -1535,4 +1524,13 @@ QCString Client::wmCommand()
}
+void Client::getWmClientMachine()
+ {
+ client_machine = getStringProperty(window(), XA_WM_CLIENT_MACHINE);
+ if( client_machine.isEmpty() && wmClientLeaderWin && wmClientLeaderWin!=window())
+ client_machine = getStringProperty(wmClientLeaderWin, XA_WM_CLIENT_MACHINE);
+ if( client_machine.isEmpty())
+ client_machine = "localhost";
+ }
+
/*!
Returns client machine for this client,
@@ -1541,7 +1539,5 @@ QCString Client::wmCommand()
QCString Client::wmClientMachine( bool use_localhost ) const
{
- QCString result = staticWmClientMachine(window());
- if (result.isEmpty() && wmClientLeaderWin && wmClientLeaderWin!=window())
- result = staticWmClientMachine(wmClientLeaderWin);
+ QCString result = client_machine;
if( use_localhost )
{ // special name for the local machine (localhost)
--- kdebase/kwin/client.h #1.175:1.176
@@ -359,4 +359,5 @@ class Client : public QObject, public KD
void getIcons();
void getWmClientLeader();
+ void getWmClientMachine();
void fetchName();
void fetchIconicName();
@@ -499,4 +500,5 @@ class Client : public QObject, public KD
QCString resource_name;
QCString resource_class;
+ QCString client_machine;
QString cap_normal, cap_iconic, cap_suffix;
WId wmClientLeaderWin;
--- kdebase/kwin/manage.cpp #2.71:2.72
@@ -94,4 +94,6 @@ bool Client::manage( Window w, bool isMa
window_role = staticWindowRole( w );
+ getWmClientLeader();
+ getWmClientMachine();
// first only read the caption text, so that setupWindowRules() can use it for matching,
// and only then really set the caption using setCaption(), which checks for duplicates etc.
@@ -104,5 +106,4 @@ bool Client::manage( Window w, bool isMa
fetchIconicName();
getWMHints(); // needs to be done before readTransient() because of reading the group
- getWmClientLeader(); // needs to be done before readTransient() because of same app comparing
modal = ( info->state() & NET::Modal ) != 0; // needs to be valid before handling groups
readTransient();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic