[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Patches for kwin
From:       Antonio Larrosa <antlarr () arrakis ! es>
Date:       2000-09-26 19:50:40
[Download RAW message or body]

Let's try:

Hi,

The first patch (workspace.cpp.diff) fixes a bug when moving a window which is
in another desktop to the current one.

The second one (client.cpp.diff) fixes a problem that seems to happen when using
a combination of "click->raise" and "focus follow mouse" (or "focus under
mouse").
When you use Alt-LMB to move a window which is below another one clicking on its
titlebar, it works correctly. But if you use Alt-LMB clicking on the window
itself, the window is automatically raised (due to click->raise).

The patch allows to move the window without raising it.

I'll commit them tomorrow afternoon if nobody objects.

Greetings,

--
Antonio Larrosa Jimenez
KDE Core developer
antonio@larrosa.org        larrosa@kde.org
http://www.larrosa.org
KDE - The development framework of the future, today.
["workspace.cpp.diff" (text/plain)]

Index: workspace.cpp
===================================================================
RCS file: /home/kde/kdebase/kwin/workspace.cpp,v
retrieving revision 1.171
diff -u -r1.171 workspace.cpp
--- workspace.cpp	2000/09/25 15:30:50	1.171
+++ workspace.cpp	2000/09/26 00:19:25
@@ -2287,7 +2287,9 @@
 	return;
 
     c->setDesktop( desk );
-    c->hide();
+    
+    if (desk == currentDesktop() ) c->show();
+    else c->hide();
 
     for ( ClientList::ConstIterator it = clients.begin(); it != clients.end(); ++it) {
 	if ( (*it)->transientFor() == c->window() ) {



["client.cpp.diff" (text/plain)]

Index: client.cpp
===================================================================
RCS file: /home/kde/kdebase/kwin/client.cpp,v
retrieving revision 1.163
diff -u -r1.163 client.cpp
--- client.cpp	2000/09/25 22:11:27	1.163
+++ client.cpp	2000/09/26 18:45:49
@@ -321,13 +321,15 @@
     switch ( e->type ) {
     case ButtonPress:
 	{
+	    bool mod1 = (e->xbutton.state & Mod1Mask) == Mod1Mask;
+
 	    if ( ((Client*)parentWidget())->isActive()
-		 && ( options->focusPolicy != Options::ClickToFocus &&  options->clickRaise ) ) {
+		 && ( options->focusPolicy != Options::ClickToFocus 
+		 &&  options->clickRaise && !mod1 ) ) {
 		((Client*)parentWidget())->autoRaise();
 		ungrabButton( winId(),  None );
 	    }
 	
-	    bool mod1 = (e->xbutton.state & Mod1Mask) == Mod1Mask;
 	    Options::MouseCommand com = Options::MouseNothing;
 	    if ( mod1){
 		switch (e->xbutton.button) {




[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic