Merge branch 'master' of git://factorcode.org/git/factor
commit
d88f4d9914
|
@ -224,6 +224,10 @@ M: x-clipboard paste-clipboard
|
|||
[ XA_NET_WM_NAME XA_UTF8_STRING 8 PropModeReplace ] dip
|
||||
utf8 encode dup length XChangeProperty drop ;
|
||||
|
||||
: set-class ( dpy window -- )
|
||||
XA_WM_CLASS XA_STRING 8 PropModeReplace "Factor"
|
||||
utf8 encode dup length XChangeProperty drop ;
|
||||
|
||||
M: x11-ui-backend set-title ( string world -- )
|
||||
handle>> window>> swap
|
||||
[ dpy get ] 2dip [ set-title-old ] [ set-title-new ] 3bi ;
|
||||
|
@ -242,11 +246,15 @@ M: x11-ui-backend set-fullscreen* ( ? world -- )
|
|||
|
||||
M: x11-ui-backend (open-window) ( world -- )
|
||||
dup gadget-window
|
||||
handle>> window>> dup set-closable map-window ;
|
||||
handle>> window>>
|
||||
[ set-closable ] [ dpy get swap set-class ] [ map-window ] tri ;
|
||||
|
||||
M: x11-ui-backend raise-window* ( world -- )
|
||||
handle>> [
|
||||
dpy get swap window>> XRaiseWindow drop
|
||||
dpy get swap window>>
|
||||
[ RevertToPointerRoot CurrentTime XSetInputFocus drop ]
|
||||
[ XRaiseWindow drop ]
|
||||
2bi
|
||||
] when* ;
|
||||
|
||||
M: x11-handle select-gl-context ( handle -- )
|
||||
|
|
|
@ -12,10 +12,7 @@ IN: ui
|
|||
! Assoc mapping aliens to gadgets
|
||||
SYMBOL: windows
|
||||
|
||||
ERROR: no-window handle ;
|
||||
|
||||
: window ( handle -- world )
|
||||
windows get-global ?at [ no-window ] unless ;
|
||||
: window ( handle -- world ) windows get-global at ;
|
||||
|
||||
: window-focus ( handle -- gadget ) window world-focus ;
|
||||
|
||||
|
@ -199,4 +196,4 @@ M: object close-window
|
|||
: with-ui ( quot -- )
|
||||
ui-running? [ call( -- ) ] [ '[ init-ui @ ] (with-ui) ] if ;
|
||||
|
||||
HOOK: beep ui-backend ( -- )
|
||||
HOOK: beep ui-backend ( -- )
|
||||
|
|
|
@ -6,10 +6,10 @@ arrays fry ;
|
|||
IN: x11.windows
|
||||
|
||||
: create-window-mask ( -- n )
|
||||
{ CWBackPixel CWBorderPixel CWColormap CWEventMask } flags ;
|
||||
{ CWColormap CWEventMask } flags ;
|
||||
|
||||
: create-colormap ( visinfo -- colormap )
|
||||
dpy get root get rot XVisualInfo-visual AllocNone
|
||||
[ dpy get root get ] dip XVisualInfo-visual AllocNone
|
||||
XCreateColormap ;
|
||||
|
||||
: event-mask ( -- n )
|
||||
|
@ -29,8 +29,6 @@ IN: x11.windows
|
|||
|
||||
: window-attributes ( visinfo -- attributes )
|
||||
"XSetWindowAttributes" <c-object>
|
||||
0 over set-XSetWindowAttributes-background_pixel
|
||||
0 over set-XSetWindowAttributes-border_pixel
|
||||
[ [ create-colormap ] dip set-XSetWindowAttributes-colormap ] keep
|
||||
event-mask over set-XSetWindowAttributes-event_mask ;
|
||||
|
||||
|
|
Loading…
Reference in New Issue