From 10ab07224fdc819bf3c1364c26eed27048863f59 Mon Sep 17 00:00:00 2001
From: Joe Groff <arcata@gmail.com>
Date: Thu, 18 Jun 2009 15:09:03 -0500
Subject: [PATCH] make windows without titlebars on win32 actually not have
 titlebars

---
 basis/ui/backend/windows/windows.factor | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/basis/ui/backend/windows/windows.factor b/basis/ui/backend/windows/windows.factor
index a63837a0da..3b174c5e8d 100755
--- a/basis/ui/backend/windows/windows.factor
+++ b/basis/ui/backend/windows/windows.factor
@@ -246,10 +246,14 @@ CONSTANT: window-control>ex-style
 : needs-sysmenu? ( controls -- ? )
     { close-button minimize-button maximize-button } intersects? ;
 
+: has-titlebar? ( controls -- ? )
+    { small-title-bar normal-title-bar } intersects? ;
+
 : world>style ( world -- n )
     window-controls>>
     [ window-control>style symbols>flags ]
-    [ needs-sysmenu? [ WS_SYSMENU bitor ] when ] bi ;
+    [ needs-sysmenu? [ WS_SYSMENU bitor ] when ]
+    [ has-titlebar? [ WS_POPUP flags bitor ] unless ] tri ;
 
 : world>ex-style ( world -- n )
     window-controls>> window-control>ex-style symbols>flags ;
@@ -270,12 +274,12 @@ CONSTANT: window-control>ex-style
 : handle-wm-size ( hWnd uMsg wParam lParam -- )
     2nip
     [ lo-word ] keep hi-word 2array
-    dup { 0 0 } = [ 2drop ] [ swap window (>>dim) ] if ;
+    dup { 0 0 } = [ 2drop ] [ swap window [ (>>dim) ] [ drop ] if* ] if ;
 
 : handle-wm-move ( hWnd uMsg wParam lParam -- )
     2nip
     [ lo-word ] keep hi-word 2array
-    swap window (>>window-loc) ;
+    swap window [ (>>window-loc) ] [ drop ] if* ;
 
 CONSTANT: wm-keydown-codes
     H{