Fix non-NETWM fullscreen applications.
CCMAIL:71825-done@bugs.kde.org svn path=/trunk/kdebase/kwin/; revision=281054
This commit is contained in:
parent
43d67778b8
commit
e5d6fb447d
3 changed files with 5 additions and 4 deletions
2
client.h
2
client.h
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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());
|
||||
|
|
Loading…
Reference in a new issue