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

List:       kde-commits
Subject:    kdebase/kwin
From:       Xavier IZARD <xizard () free ! fr>
Date:       2004-05-10 23:22:27
Message-ID: 20040510232227.D6D5024EE () office ! kde ! org
[Download RAW message or body]

CVS commit by xizard: 

Patch for xinerama mode to allow fullscreens both on one or several screen(s)


  M +7 -2      geometry.cpp   2.69
  M +1 -1      manage.cpp   2.41
  M +2 -1      options.cpp   1.99
  M +1 -0      options.h   1.63
  M +2 -1      utils.h   2.12


--- kdebase/kwin/geometry.cpp  #2.68:2.69
@@ -227,4 +227,9 @@ QRect Workspace::clientArea( clientAreaO
             else
                 return desktopwidget->geometry();
+        case FullScreenArea:
+            if (options->xineramaFullscreenEnabled)
+                return desktopwidget->screenGeometry( screen );
+            else
+                return desktopwidget->geometry();
         case PlacementArea:
             if (options->xineramaPlacementEnabled)
@@ -655,5 +660,5 @@ void Client::checkWorkspacePosition()
     if( isFullScreen())
         {
-        QRect area = workspace()->clientArea( MaximizeFullArea, this );
+        QRect area = workspace()->clientArea( FullScreenArea, this );
         if( geometry() != area )
             setGeometry( area );
@@ -1613,5 +1618,5 @@ void Client::setFullScreen( bool set, bo
     updateDecoration( false, false );
     if( isFullScreen())
-        setGeometry( workspace()->clientArea( MaximizeFullArea, this ));
+        setGeometry( workspace()->clientArea( FullScreenArea, this ));
     else
         {

--- kdebase/kwin/manage.cpp  #2.40:2.41
@@ -210,5 +210,5 @@ bool Client::manage( Window w, bool isMa
         {
         fullscreen_mode = FullScreenHack;
-        geom = workspace()->clientArea( MaximizeFullArea, geom.center(), desktop());
+        geom = workspace()->clientArea( FullScreenArea, geom.center(), desktop());
         placementDone = true;
         }

--- kdebase/kwin/options.cpp  #1.98:1.99
@@ -85,8 +85,9 @@ unsigned long Options::updateSettings()
         xineramaMovementEnabled = gc->readBoolEntry ("XineramaMovementEnabled", \
                true);
         xineramaMaximizeEnabled = gc->readBoolEntry ("XineramaMaximizeEnabled", \
true); +        xineramaFullscreenEnabled = gc->readBoolEntry \
("XineramaFullscreenEnabled", true);  }
     else 
         {
-        xineramaPlacementEnabled = xineramaMovementEnabled = xineramaMaximizeEnabled \
= false; +        xineramaPlacementEnabled = xineramaMovementEnabled = \
xineramaMaximizeEnabled = xineramaFullscreenEnabled = false;  }
     delete gc;

--- kdebase/kwin/options.h  #1.62:1.63
@@ -121,4 +121,5 @@ class Options : public KDecorationOption
         bool xineramaMovementEnabled;
         bool xineramaMaximizeEnabled;
+        bool xineramaFullscreenEnabled;
 
         /**

--- kdebase/kwin/utils.h  #2.11:2.12
@@ -90,5 +90,6 @@ enum clientAreaOption
     MovementArea,          // ???  window movement snapping area?  ignore struts
     MaximizeArea,          // geometry to which a window will be maximized
-    MaximizeFullArea,      // like MaximizeArea, but ignore struts - used e.g. for \
fullscreening +    MaximizeFullArea,      // like MaximizeArea, but ignore struts - \
used e.g. for topmenu +    FullScreenArea,        // area for fullscreen windows
     // these below don't depend on xinerama settings
     WorkArea,              // whole workarea (all screens together)


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

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