Bug 73509 - Some fullscreen apps are getting a window decoration
Summary: Some fullscreen apps are getting a window decoration
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
: 70804 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-01-26 03:00 UTC by tim
Modified: 2004-02-07 21:13 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description tim 2004-01-26 03:00:40 UTC
Version:           unknown (using KDE 3.2.90 (CVS >= 20040117), compiled sources)
Compiler:          gcc version 3.3.1 (SuSE Linux)
OS:          Linux (i686) release 2.4.21-99-athlon

Since my update from a November CVS snapshot to yesterday's HEAD I have the problem that at least two applications show the window decoration when they should enter fullscreen. The first is krdc, filed as bug 69636; the other is a Windows game (Vice City) running under WineX and thus not a KDE app. I am not sure what is so special about those two, as all other fullscreen apps that I tried work fine, including another WineX game. Under KDE 3.1 it still works, so it should be WM-related.
Comment 1 tim 2004-01-26 03:02:10 UTC
Sorry, wrong bug reference, it is bug 69635.
Comment 2 Lubos Lunak 2004-01-26 19:04:21 UTC
See bug #69635 for that specific case. I'm afraid I can't test Vice City. Could you attach xwininfo and xprop output for its window?
Comment 3 tim 2004-01-26 21:43:16 UTC
I missed to describe a important point about the Vice City problem: when switching to fullscreen doesn't work, it seems to try again, leaving the game in a loop switching between the menu in a window frame and a blank fullscreen screen several times a second. Every time it goes to the blank fullscreen it repositions the cursor at 0/0, which makes it quite difficult to click into the window. That makes it quite difficult to use xwininfo (the system is unsuable until I kill wine), but somehow I managed to get some output from wininfo/xprop:

xwininfo: Please select the window about which you
          would like information by clicking the
          mouse in that window.

xwininfo: Window id: 0x4c00004 "Wine DirectDraw HAL"

  Absolute upper-left X:  0
  Absolute upper-left Y:  0
  Relative upper-left X:  0
  Relative upper-left Y:  0
  Width: 1280
  Height: 1024
  Depth: 24
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x4600001 (installed)
  Bit Gravity State: ForgetGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +0+0  -0+0  -0-0  +0-0
  -geometry 1280x1024+0+0

WM_STATE(WM_STATE):
                window state: Normal
                icon window: 0x0
_NET_AM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_CHANGE_DESKTOP
_NET_WM_DESKTOP(CARDINAL) = 0
_KDE_NET_WM_USER_CREATION_TIME(CARDINAL) = 21683490
_WIN_LAYER(CARDINAL) = 10
_NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN, _NET_WM_STATE_ABOVE, _NET_WM_STATE_STAYS_ON_TOP
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x0, 0x0, 0x0, 0x0
WM_LOCALE_NAME(STRING) = "en_US"
WM_CLASS(STRING) = "wine", "Wine"
WM_HINTS(WM_HINTS):
                Client accepts input or input focus: True
                Initial state is Normal State.
WM_NORMAL_HINTS(WM_SIZE_HINTS):
                user specified location: 0, 0
                user specified size: 1280 by 1024
                program specified minimum size: 1280 by 1024
                program specified maximum size: 1280 by 1024
WM_CLIENT_MACHINE(STRING) = "cookie"
WM_ICON_NAME(STRING) = "Wine DirectDraw HAL"
WM_NAME(STRING) = "Wine DirectDraw HAL"


Comment 4 Lubos Lunak 2004-01-27 10:23:33 UTC
Hmm. It has maximum size specified as well. I guess I'll have to redo the code to check the maximum size dynamically :-/. The krdc suggestion given in the other bugreport remains, though.

Comment 5 Lubos Lunak 2004-02-02 15:15:35 UTC
Subject: kdebase/kwin

CVS commit by lunakl: 

Don't disallow fullscreening for windows that have maximum size set,
way too many apps apparently think setting a maximum or fixed size
and then requesting fullscreen is ok.
CCMAIL: 73509-done@bugs.kde.org


  M +5 -4      geometry.cpp   2.49


--- kdebase/kwin/geometry.cpp  #2.48:2.49
@@ -1395,12 +1395,13 @@ void Client::resetMaximize()
 bool Client::isFullScreenable( bool fullscreen_hack ) const
     {
-    return isFullScreen() // necessary, because for fullscreen windows isMaximizable() returns false
-        || (( isNormalWindow() || isOverride())
-            && ( isMaximizable() || fullscreen_hack ));
+    if( fullscreen_hack )
+        return isNormalWindow() || isOverride();
+    else // don't check size constrains - some apps request fullscreen despite requesting fixed size
+        return !isSpecialWindow(); // also better disallow only weird types to go fullscreen
     }
 
 bool Client::userCanSetFullScreen() const
     {
-    return isFullScreenable() && isNormalWindow() && fullscreen_mode != FullScreenHack;
+    return isNormalWindow() && fullscreen_mode != FullScreenHack && isMaximizable();
     }
 


Comment 6 Lubos Lunak 2004-02-02 18:06:16 UTC
*** Bug 73564 has been marked as a duplicate of this bug. ***
Comment 7 Lubos Lunak 2004-02-07 21:13:57 UTC
*** Bug 70804 has been marked as a duplicate of this bug. ***