2016-11-25 00:33:18 -07:00

62 lines
1.8 KiB
Elixir

------------------------------------------------------------------------------
--# Display size, mouse location within window, etc.
------------------------------------------------------------------------------
include GtkEngine.e
atom disp = create(GdkDisplay)
atom scrn = get(disp,"default screen")
constant win = create(GtkWindow,
"size=200x100,border_width=10,position=1,icon=gnome-run,$destroy=Quit")
constant panel = create(GtkBox,VERTICAL,10)
add(win,panel)
constant top = create(GtkBox,HORIZONTAL,10)
add(panel,top)
constant pix = create(GdkPixbuf,"thumbnails/gnome-run.png",100,100,1)
constant img = create(GtkImage,pix)
add(top,img)
constant lbl = create(GtkLabel,
"markup='Show info about computer display\nMove window, click OK button'")
add(top,lbl)
constant
btn1 = create(GtkButton,"gtk-quit","Quit"),
btn2 = create(GtkButton,"gtk-ok","ShowStats"),
btnbox = create(GtkButtonBox)
add(btnbox,{btn1,btn2})
pack(panel,-btnbox)
show_all(win)
main()
---------------------------------------------------
global function ShowStats()
---------------------------------------------------
object
pointer_loc = get(win,"pointer"),
cursor_size = get(disp,"maximal cursor size"),
shapes = get(disp,"supports shapes"),
composite = get(disp,"supports composite"),
scrn_dim = {get(scrn,"width"),get(scrn,"height")},
size = get(win,"size"),
pos = get(win,"position")
set(lbl,"markup",format(`
<b>Pointer location:</b>[]x[]
<b>Cursor size:</b>[]x[]
<b>Supports shapes:</b>[]
<b>Supports composite:</b>[]
<b>Screen dimensions:</b>[]x[]
<b>Window size:</b> []x[]
<b>Window position:</b> []x[]`,
flatten(pointer_loc & cursor_size & shapes & composite & scrn_dim & size & pos)))
return 1
end function