x11: general cleanup
parent
78dcc5bc33
commit
c214d62c0b
|
@ -1,4 +1,4 @@
|
||||||
! Copyright (C) 2006, 2007 Slava Pestov
|
! Copyright (C) 2006, 2010 Slava Pestov
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: accessors alien.c-types alien.strings classes.struct
|
USING: accessors alien.c-types alien.strings classes.struct
|
||||||
io.encodings.utf8 kernel namespaces sequences
|
io.encodings.utf8 kernel namespaces sequences
|
||||||
|
@ -10,8 +10,10 @@ IN: x11.clipboard
|
||||||
! and http://common-lisp.net/~crhodes/clx/demo/clipboard.lisp.
|
! and http://common-lisp.net/~crhodes/clx/demo/clipboard.lisp.
|
||||||
|
|
||||||
: XA_CLIPBOARD ( -- atom ) "CLIPBOARD" x-atom ;
|
: XA_CLIPBOARD ( -- atom ) "CLIPBOARD" x-atom ;
|
||||||
|
|
||||||
: XA_UTF8_STRING ( -- atom ) "UTF8_STRING" x-atom ;
|
: XA_UTF8_STRING ( -- atom ) "UTF8_STRING" x-atom ;
|
||||||
|
: XA_TARGETS ( -- atom ) "TARGETS" x-atom ;
|
||||||
|
: XA_TIMESTAMP ( -- atom ) "TIMESTAMP" x-atom ;
|
||||||
|
: XA_TEXT ( -- atom ) "TEXT" x-atom ;
|
||||||
|
|
||||||
TUPLE: x-clipboard atom contents ;
|
TUPLE: x-clipboard atom contents ;
|
||||||
|
|
||||||
|
@ -43,16 +45,14 @@ TUPLE: x-clipboard atom contents ;
|
||||||
|
|
||||||
: set-targets-prop ( evt -- )
|
: set-targets-prop ( evt -- )
|
||||||
[ dpy get ] dip [ requestor>> ] [ property>> ] bi
|
[ dpy get ] dip [ requestor>> ] [ property>> ] bi
|
||||||
"TARGETS" x-atom 32 PropModeReplace
|
XA_TARGETS 32 PropModeReplace
|
||||||
{
|
XA_UTF8_STRING XA_STRING XA_TARGETS XA_TIMESTAMP int-array{ } 4sequence
|
||||||
"UTF8_STRING" "STRING" "TARGETS" "TIMESTAMP"
|
|
||||||
} [ x-atom ] int-array{ } map-as
|
|
||||||
4 XChangeProperty drop ;
|
4 XChangeProperty drop ;
|
||||||
|
|
||||||
: set-timestamp-prop ( evt -- )
|
: set-timestamp-prop ( evt -- )
|
||||||
[ dpy get ] dip
|
[ dpy get ] dip
|
||||||
[ requestor>> ]
|
[ requestor>> ]
|
||||||
[ property>> "TIMESTAMP" x-atom 32 PropModeReplace ]
|
[ property>> XA_TIMESTAMP 32 PropModeReplace ]
|
||||||
[ time>> <int> ] tri
|
[ time>> <int> ] tri
|
||||||
1 XChangeProperty drop ;
|
1 XChangeProperty drop ;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
! Copyright (C) 2005, 2006 Eduardo Cavazos and Slava Pestov
|
! Copyright (C) 2005, 2010 Eduardo Cavazos, Slava Pestov.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: accessors arrays classes.struct combinators kernel
|
USING: accessors arrays classes.struct combinators
|
||||||
math.order namespaces x11 x11.xlib ;
|
combinators.short-circuit kernel math.order namespaces
|
||||||
|
x11 x11.xlib ;
|
||||||
IN: x11.events
|
IN: x11.events
|
||||||
|
|
||||||
GENERIC: expose-event ( event window -- )
|
GENERIC: expose-event ( event window -- )
|
||||||
|
@ -75,7 +76,11 @@ GENERIC: client-event ( event window -- )
|
||||||
: event-dim ( event -- dim )
|
: event-dim ( event -- dim )
|
||||||
[ width>> ] [ height>> ] bi 2array ;
|
[ width>> ] [ height>> ] bi 2array ;
|
||||||
|
|
||||||
|
: XA_WM_PROTOCOLS ( -- atom ) "WM_PROTOCOLS" x-atom ;
|
||||||
|
: XA_WM_DELETE_WINDOW ( -- atom ) "WM_DELETE_WINDOW" x-atom ;
|
||||||
|
|
||||||
: close-box? ( event -- ? )
|
: close-box? ( event -- ? )
|
||||||
[ message_type>> "WM_PROTOCOLS" x-atom = ]
|
{
|
||||||
[ data0>> "WM_DELETE_WINDOW" x-atom = ]
|
[ message_type>> XA_WM_PROTOCOLS = ]
|
||||||
bi and ;
|
[ data0>> XA_WM_DELETE_WINDOW = ]
|
||||||
|
} 1&& ;
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
unix
|
|
|
@ -1,8 +1,9 @@
|
||||||
! Copyright (C) 2005, 2006 Eduardo Cavazos and Slava Pestov
|
! Copyright (C) 2005, 2010 Eduardo Cavazos, Slava Pestov.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: accessors kernel math math.bitwise math.vectors
|
USING: accessors kernel math math.bitwise math.vectors
|
||||||
namespaces sequences x11 x11.xlib x11.constants x11.glx arrays
|
namespaces sequences arrays fry classes.struct literals
|
||||||
fry classes.struct literals ;
|
x11 x11.xlib x11.constants x11.events
|
||||||
|
x11.glx ;
|
||||||
IN: x11.windows
|
IN: x11.windows
|
||||||
|
|
||||||
CONSTANT: create-window-mask
|
CONSTANT: create-window-mask
|
||||||
|
@ -78,7 +79,7 @@ CONSTANT: event-mask
|
||||||
dpy get swap XDestroyWindow drop ;
|
dpy get swap XDestroyWindow drop ;
|
||||||
|
|
||||||
: set-closable ( win -- )
|
: set-closable ( win -- )
|
||||||
dpy get swap "WM_DELETE_WINDOW" x-atom <Atom> 1
|
dpy get swap XA_WM_DELETE_WINDOW <Atom> 1
|
||||||
XSetWMProtocols drop ;
|
XSetWMProtocols drop ;
|
||||||
|
|
||||||
: map-window ( win -- ) dpy get swap XMapWindow drop ;
|
: map-window ( win -- ) dpy get swap XMapWindow drop ;
|
||||||
|
|
Loading…
Reference in New Issue