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

List:       kwin
Subject:    Re: Drop kwin's fullscreen hack
From:       Martin =?iso-8859-15?q?Gr=E4=DFlin?= <kde () martin-graesslin ! com>
Date:       2009-08-31 11:21:51
Message-ID: 200908311322.09464.kde () martin-graesslin ! com
[Download RAW message or body]

[Attachment #2 (multipart/signed)]

[Attachment #4 (multipart/mixed)]


Am Montag 31 August 2009 10:50:28 schrieb Martin Gräßlin:
> Am Montag 31 August 2009 01:37:02 schrieb Thomas Lübking:
> > Am Monday 31 August 2009 schrieb Christoph Feck:
> > > Then I have misunderstood the request. It states "Attached is a patch
> > > to remove kwin's fullscreen hack for not-netwm windows [...]", so it
> > > should not have any effect on netwm windows?
> >
> > No. NETWM windows hint their fullscreen mode with a flag, but when there
> > was no NETWM, windows were just fullscreen by preventing a window border
> > an moveResize to the screen area.
> >
> > IMHO the fullscreen hack should meanwhile be irrelevant, but:
> > 1) it should not be unconditionally necessary to remove it for the MID
> > shell (see my last mail)
> > 2) instead of removing i'd just blind it (keep the code and add a GUIless
> > option) - you really /never/ know who uses what ten year old app that
> > might suddenly stumble on this.
> >
> > If we don't get some harsh bug reports, we can still completely drop it
> > for 4.4.1 or 4.5...
>
> agreed - I prepare a new patch which keeps the hack and makes it optional
> and disabled by default.
here's the new patch. Unfortunately I couldn't really test it as I don't know 
of any application which is that broken ;-)

["fullscreen-hack-legacy.diff" (text/x-patch)]

commit d9bea8cf76b546895551ab95d5074194cf8c94df
Author: Martin Gräßlin <ubuntu@martin-graesslin.com>
Date:   Mon Aug 31 13:19:14 2009 +0200

    Option to disable the legacy fullscreen hack

diff --git a/geometry.cpp b/geometry.cpp
index c4cc4f2..712bab1 100644
--- a/geometry.cpp
+++ b/geometry.cpp
@@ -2538,6 +2538,8 @@ QRect Client::fullscreenMonitorsArea(NETFullscreenMonitors \
requestedTopology) co  
 int Client::checkFullScreenHack( const QRect& geom ) const
     {
+    if( !options->legacyFullscreenSupport )
+        return 0;
     // if it's noborder window, and has size of one screen or the whole desktop \
geometry, it's fullscreen hack  if( noBorder() && app_noborder && isFullScreenable( \
true ))  {
diff --git a/options.cpp b/options.cpp
index 946b91e..2ba084c 100644
--- a/options.cpp
+++ b/options.cpp
@@ -87,6 +87,8 @@ unsigned long Options::updateSettings()
 
     rollOverDesktops = config.readEntry("RollOverDesktops", true);
 
+    legacyFullscreenSupport = config.readEntry( "LegacyFullscreenSupport", false );
+
 //    focusStealingPreventionLevel = config.readEntry( \
"FocusStealingPreventionLevel", 2 );  // TODO use low level for now
     focusStealingPreventionLevel = config.readEntry( "FocusStealingPreventionLevel", \
                1 );
diff --git a/options.h b/options.h
index 6f72785..e9a4551 100644
--- a/options.h
+++ b/options.h
@@ -207,6 +207,11 @@ class Options : public KDecorationOptions
          */
         QStringList ignorePositionClasses;
 
+        /**
+        * support legacy fullscreen windows hack: borderless non-netwm windows with \
screen geometry +        */
+        bool legacyFullscreenSupport;
+
         bool checkIgnoreFocusStealing( const Client* c );
 
         WindowOperation operationTitlebarDblClick() { return OpTitlebarDblClick; }


["signature.asc" (application/pgp-signature)]

_______________________________________________
kwin mailing list
kwin@kde.org
https://mail.kde.org/mailman/listinfo/kwin


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

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