--# Widget opacity, blinking icons include GtkEngine.e requires("3.10","Widget Opacity") constant docs = ` Slide the slider bar to change the opacity of the top button... ` constant win = create(GtkWindow,{ {"title","Widget Opacity"}, {"border width",10}, {"connect","destroy","Quit"}}) if get(win,"is composited") = 0 then Warn(win,"Sorry", "This program requires", "a compositing window manager") end if constant panel = create(GtkBox,VERTICAL) add(win,panel) constant btn1 = create(GtkButton,"thumbnails/clown.png#Clown") set(btn1,"opacity",0.5) add(panel,btn1) constant btn2 = create(GtkButton,"thumbnails/clown.png#Clown") add(panel,btn2) constant btn2img = get(btn2,"image") constant slider = create(GtkScale,0,0,1,.01) connect(slider,"value-changed","Update") set(slider,"value",0.5) add(panel,slider) constant lbl = create(GtkLabel,docs) add(panel,lbl) constant tick = create(GTimeout,100,call_back(routine_id("blink"))) atom x = 1 show_all(win) main() ------------------------ global function Update() ------------------------ set(btn1,"opacity",get(slider,"value")) return 1 end function ------------------------- global function blink() -- strictly for fun :) ------------------------- set(btn2img,"opacity",x) x -= .1 if x < 0 then x = 1 end if return 1 end function