]> gitweb.factorcode.org Git - factor.git/commitdiff
Implemented the set-fullscreen* hook for the x11 backend.
authorMatthew Willis <matthew.willis@mac.com>
Tue, 12 Feb 2008 06:52:02 +0000 (22:52 -0800)
committerMatthew Willis <matthew.willis@mac.com>
Tue, 12 Feb 2008 06:52:02 +0000 (22:52 -0800)
I doubt that fullscreen* can be implemented for x11, so it might need to be removed or always return f.

extra/ui/x11/x11.factor
extra/x11/constants/constants.factor

index 62944500ef0ae8918227394043a7567b8998797c..6a0560cb2881f1409139a8c404788dc95ba8a25d 100755 (executable)
@@ -217,6 +217,19 @@ M: x-clipboard paste-clipboard
 M: x11-ui-backend set-title ( string world -- )
     world-handle x11-handle-window swap dpy get -rot
     3dup set-title-old set-title-new ;
+    
+M: x11-ui-backend set-fullscreen* ( ? world -- )
+    world-handle x11-handle-window "XClientMessageEvent" <c-object>
+    tuck set-XClientMessageEvent-window
+    swap _NET_WM_STATE_ADD _NET_WM_STATE_REMOVE ?
+    over set-XClientMessageEvent-data0
+    ClientMessage over set-XClientMessageEvent-type
+    dpy get over set-XClientMessageEvent-display
+    "_NET_WM_STATE" x-atom over set-XClientMessageEvent-message_type
+    32 over set-XClientMessageEvent-format
+    "_NET_WM_STATE_FULLSCREEN" x-atom over set-XClientMessageEvent-data1
+    >r dpy get root get 0 SubstructureNotifyMask r> XSendEvent drop ;
+
 
 M: x11-ui-backend (open-window) ( world -- )
     dup gadget-window
index 367f40cebd9cfa76bdcb1e4ad75965b6d8eb7582..5781fdc806a646a55cb2c409f219b35d38fb2d15 100644 (file)
@@ -402,3 +402,8 @@ TYPEDEF: uchar KeyCode
 : LSBFirst              0 ;
 : MSBFirst              1 ;
 
+! *****************************************************************
+! * EXTENDED WINDOW MANAGER HINTS
+! *****************************************************************
+
+C-ENUM: _NET_WM_STATE_REMOVE _NET_WM_STATE_ADD _NET_WM_STATE_TOGGLE ;
\ No newline at end of file