git: afd17c07b8b2 - main - x11/lumina-core: Fix new window resize issue

From: Jason W. Bacon <jwb_at_FreeBSD.org>
Date: Thu, 19 Oct 2023 12:50:26 UTC
The branch main has been updated by jwb:

URL: https://cgit.FreeBSD.org/ports/commit/?id=afd17c07b8b2e1e09713ce788e4b782806dc3108

commit afd17c07b8b2e1e09713ce788e4b782806dc3108
Author:     Jason W. Bacon <jwb@FreeBSD.org>
AuthorDate: 2023-10-19 12:48:27 +0000
Commit:     Jason W. Bacon <jwb@FreeBSD.org>
CommitDate: 2023-10-19 12:48:27 +0000

    x11/lumina-core: Fix new window resize issue
    
    New windows were sometimes inappropirately resized when near the
    bottom of the screen.  This was due to the erroneous use of
    setBottom() where moveBottom() was needed to move, rather than
    resize the window.
---
 x11/lumina-core/Makefile                                |  2 +-
 x11/lumina-core/files/patch-lumina-desktop_LSession.cpp | 16 ++++++++++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/x11/lumina-core/Makefile b/x11/lumina-core/Makefile
index 6bc0f8b6d5dc..6e14e5bb0575 100644
--- a/x11/lumina-core/Makefile
+++ b/x11/lumina-core/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	lumina-core
 DISTVERSIONPREFIX=	v
 DISTVERSION=	1.6.2
-PORTREVISION=	7
+PORTREVISION=	8
 CATEGORIES=	x11
 
 MAINTAINER=	jwb@FreeBSD.org
diff --git a/x11/lumina-core/files/patch-lumina-desktop_LSession.cpp b/x11/lumina-core/files/patch-lumina-desktop_LSession.cpp
index a1246116a3ce..36cdb7a67984 100644
--- a/x11/lumina-core/files/patch-lumina-desktop_LSession.cpp
+++ b/x11/lumina-core/files/patch-lumina-desktop_LSession.cpp
@@ -112,3 +112,19 @@
          if(charge==100){ iconList << "battery-full-charged"; }
          iconList << "battery-100-charging" << "battery-full-charging"
  		<< "battery-charging-100" << "battery-charging-full";
+@@ -644,9 +694,12 @@ void LSession::adjustWindowGeom(WId win, bool maximize
+       if(DEBUG){ qDebug() << "Y-Diff:" << diff; }
+       if(diff < 0){ diff = -diff; } //need a positive value
+       if( (fgeom.height()+ diff)< desk.height()){
+-        //just move the window - there is room for it above
+-	geom.setBottom(desk.bottom()-frame[1]);
+-	fgeom.setBottom(desk.bottom());
++        // Just move the window - there is room for it above
++        // FIXME: geom calculations appear to be off
++        // This creates a large gap between the bottom of the new window
++        // and the lower panel
++	geom.moveBottom(desk.bottom()-frame[1]);
++	fgeom.moveBottom(desk.bottom());
+       }else if(geom.height() > diff){ //window bigger than the difference
+ 	//Need to resize the window - keeping the origin point the same
+ 	geom.setHeight( geom.height()-diff-1 ); //shrink it by the difference (need an extra pixel somewhere)