Merge remote-tracking branch 'origin/master' into modern-harvey

modern-harvey2
Doug Coleman 2017-11-22 15:40:25 -06:00
commit f79a135a77
3 changed files with 20 additions and 11 deletions

View File

@ -28,12 +28,12 @@ CONSTANT: _NET_WM_STATE_TOGGLE 2
: XA_NET_WM_STATE_FULLSCREEN ( -- atom ) "_NET_WM_STATE_FULLSCREEN" x-atom ;
: XA_NET_ACTIVE_WINDOW ( -- atom ) "_NET_ACTIVE_WINDOW" x-atom ;
: supported-net-wm-hints ( -- seq )
:: get-atom-properties ( window name -- seq )
{ Atom int ulong ulong pointer: Atom }
|[ type format n-atoms bytes-after atoms |
dpy get
root get
XA_NET_SUPPORTED
window
name
0
ulong c-type-interval nip
0
@ -52,6 +52,9 @@ CONSTANT: _NET_WM_STATE_TOGGLE 2
atoms XFree
] call ;
: supported-net-wm-hints ( -- seq )
root get XA_NET_SUPPORTED get-atom-properties ;
: net-wm-hint-supported? ( atom -- ? )
supported-net-wm-hints member? ;
@ -271,6 +274,10 @@ M: x11-ui-backend set-title ( string world -- )
M: x11-ui-backend (set-fullscreen) ( world ? -- )
[ handle>> window>> ] dip make-fullscreen-msg send-event ;
M: x11-ui-backend (fullscreen?) ( world -- ? )
handle>> window>> XA_NET_WM_STATE get-atom-properties
XA_NET_WM_STATE_FULLSCREEN swap member? ;
M: x11-ui-backend (open-window) ( world -- )
dup gadget-window handle>> window>>
[ set-closable ]

View File

@ -33,13 +33,13 @@ SLOT: background-color
check-extensions "1.0" require-gl-version
GL_SMOOTH glShadeModel
GL_BLEND glEnable
GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA glBlendFunc
GL_VERTEX_ARRAY glEnableClientState
GL_PACK_ALIGNMENT 1 glPixelStorei
GL_UNPACK_ALIGNMENT 1 glPixelStorei ;
: gl-draw-init ( world -- )
GL_SCISSOR_TEST glEnable
GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA glBlendFunc
init-matrices
[ init-clip ]
[

View File

@ -6,7 +6,7 @@ kernel math.vectors models present sequences ui ui.commands ui.gadgets
ui.gadgets.editors ui.gadgets.panes ui.gadgets.scrollers
ui.gadgets.status-bar ui.gadgets.toolbar ui.gadgets.tracks
ui.gadgets.viewports ui.gestures ui.operations ui.tools.browser
ui.tools.browser.history ui.tools.common urls ;
ui.tools.browser.history ui.tools.common urls webbrowser ;
IN: gopher.ui
@ -29,12 +29,14 @@ M: gopher-gadget model-changed
: show-gopher ( url gopher-gadget -- )
[ [ >url ] [ f ] if* ] dip
[
2dup control-value =
[ 2drop ] [ nip history>> add-history ] if
]
[ set-control-value ]
2bi ;
over [ protocol>> "gopher" = ] [ t ] if* [
[
2dup control-value =
[ 2drop ] [ nip history>> add-history ] if
]
[ set-control-value ]
2bi
] [ drop open-url ] if ;
: <url-field> ( gopher-gadget -- field )
'[ >url _ show-gopher ] <action-field>