Summary: | panel in upper right corner doesnt hide correctly anymore | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Zé <mmodem00> |
Component: | general | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED WORKSFORME | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | Give correct hode behaviour to panel |
Description
Zé
2006-11-09 20:46:28 UTC
Created attachment 18483 [details]
Give correct hode behaviour to panel
SVN commit 605394 by lunakl: Fix finding the most recently raised window when updating mouse grab for click raise. BUG: 137119 M +1 -1 events.cpp M +3 -0 kcmkwin/kwinoptions/windows.cpp [POSSIBLY UNSAFE: system] M +8 -4 layers.cpp M +1 -1 workspace.h --- branches/KDE/3.5/kdebase/kwin/events.cpp #605393:605394 @@ -1012,7 +1012,7 @@ // is unobscured or if the user doesn't want click raise // (it is unobscured if it the topmost in the unconstrained stacking order, i.e. it is // the most recently raised window) - bool not_obscured = workspace()->topClientOnDesktop( workspace()->currentDesktop(), true ) == this; + bool not_obscured = workspace()->topClientOnDesktop( workspace()->currentDesktop(), true, false ) == this; if( !options->clickRaise || not_obscured ) ungrabButton( None ); else --- branches/KDE/3.5/kdebase/kwin/kcmkwin/kwinoptions/windows.cpp #605393:605394 @@ -46,6 +46,7 @@ #include <kprocess.h> #include <qtabwidget.h> +#include <stdlib.h> #include <X11/X.h> #include <X11/Xlib.h> #include <X11/Xutil.h> @@ -1473,6 +1474,8 @@ movingWindowOpacity->setEnabled(movingWindowTransparency->isChecked()); dockWindowOpacity->setEnabled(dockWindowTransparency->isChecked()); + if( !QFile::exists( QDir::homeDirPath() + "/.xcompmgrrc" )) + system( "/bin/cp /etc/opt/kde3/share/config/xcompmgrrc $HOME/.xcompmgrrc" ); KConfig conf_(QDir::homeDirPath() + "/.xcompmgrrc"); conf_.setGroup("xcompmgr"); --- branches/KDE/3.5/kdebase/kwin/layers.cpp #605393:605394 @@ -194,7 +194,7 @@ doesn't accept focus it's excluded. */ // TODO misleading name for this method -Client* Workspace::topClientOnDesktop( int desktop, bool unconstrained ) const +Client* Workspace::topClientOnDesktop( int desktop, bool unconstrained, bool only_normal ) const { // TODO Q_ASSERT( block_stacking_updates == 0 ); ClientList::ConstIterator begin, end; @@ -212,9 +212,13 @@ it != end; --it ) { - if ( (*it)->isOnDesktop( desktop ) && !(*it)->isSpecialWindow() - && (*it)->isShown( false ) && (*it)->wantsTabFocus()) - return *it; + if( (*it)->isOnDesktop( desktop ) && (*it)->isShown( false )) + { + if( !only_normal ) + return *it; + if( (*it)->wantsTabFocus() && !(*it)->isSpecialWindow()) + return *it; + } } return 0; } --- branches/KDE/3.5/kdebase/kwin/workspace.h #605393:605394 @@ -181,7 +181,7 @@ ClientList ensureStackingOrder( const ClientList& clients ) const; - Client* topClientOnDesktop( int desktop, bool unconstrained = false ) const; + Client* topClientOnDesktop( int desktop, bool unconstrained = false, bool only_normal = true ) const; Client* findDesktop( bool topmost, int desktop ) const; void sendClientToDesktop( Client* c, int desktop, bool dont_activate ); void windowToPreviousDesktop( Client* c ); This is not fixed, i do continue having to click in window titlebar to hide panel. The panel is only hidden when is the regular window when that window isnt the active window, when the window is active you still have to click in titlebar, so continues happening preciselly what was happening before. its fixed, i did last comments because i forgot to remove the patch that was reverting changes, sorry :) |