Fix non-NETWM fullscreen applications.

CCMAIL:71825-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=281054
This commit is contained in:
Luboš Luňák 2004-01-19 15:07:14 +00:00
parent 43d67778b8
commit e5d6fb447d
3 changed files with 5 additions and 4 deletions

View file

@ -132,7 +132,7 @@ class Client : public QObject, public KDecorationDefines
void setFullScreen( bool set, bool user );
bool isFullScreen() const;
bool isFullScreenable() const;
bool isFullScreenable( bool fullscreen_hack = false ) const;
bool userCanSetFullScreen() const;
QRect geometryFSRestore() const { return geom_fs_restore; } // only for session saving
int fullScreenMode() const { return fullscreen_mode; } // only for session saving

View file

@ -1392,10 +1392,11 @@ void Client::resetMaximize()
decoration->maximizeChange();
}
bool Client::isFullScreenable() const
bool Client::isFullScreenable( bool fullscreen_hack ) const
{
return isFullScreen() // necessary, because for fullscreen windows isMaximizable() returns false
|| (( isNormalWindow() || isOverride()) && isMaximizable());
|| (( isNormalWindow() || isOverride())
&& ( isMaximizable() || fullscreen_hack ));
}
bool Client::userCanSetFullScreen() const

View file

@ -199,7 +199,7 @@ bool Client::manage( Window w, bool isMapped )
// if it's noborder window, and has size of one screen or the whole desktop geometry, it's fullscreen hack
if( ( geom.size() == workspace()->clientArea( FullArea, geom.center(), desktop()).size()
|| geom.size() == workspace()->clientArea( ScreenArea, geom.center(), desktop()).size())
&& noBorder() && !isUserNoBorder() && isFullScreenable())
&& noBorder() && !isUserNoBorder() && isFullScreenable( true ))
{
fullscreen_mode = FullScreenHack;
geom = workspace()->clientArea( MaximizeFullArea, geom.center(), desktop());