; Module/File: Window_SetUntopGdk.pb ; Function: Set Window untop (to background) within group - Linux gtk2/gtk3 ; Author: Omi/Shardik ; Date: Mar. 30, 2014 ; Version: 0.3 updt. gtk3 ; Target Compiler: PureBasic 5.22/5.31/5.40 ; Target OS: Linux: (X/K/L)ubuntu, Mint, 32/64, Ascii/Uni ;-------------------------------------------------------------- EnableExplicit ImportC "" gtk_widget_get_window(*widget.GtkWidget) EndImport ; Object constants #MainWin= 0 #SecWin = 1 #Button1= 0 #WinX = 100 #WinY = 100 #WinW = 200 #WinH = 200 Global.i gEvent, gQuit Procedure Window_SetUntop(Window, Untop) Protected *Widget.GtkWidget = WindowID(Window) If Untop gdk_window_lower_(gtk_widget_get_window(*Widget)) Else gdk_window_raise_(gtk_widget_get_window(*Widget)) EndIf EndProcedure If OpenWindow(#MainWin, #WinX, #WinY, #WinW, #WinH, "gdk_window untop", #PB_Window_ScreenCentered) OpenWindow(#SecWin, #WinX, #WinY, #WinW, 80, "hop or top", #PB_Window_ScreenCentered) ButtonGadget(#Button1, 10, 10, WindowWidth(0) - 20, 24, "Lower Window") Repeat gEvent= WaitWindowEvent() Select gEvent Case #PB_Event_CloseWindow gQuit= #True Case #PB_Event_Gadget Select EventGadget() Case #Button1 Window_SetUntop(#SecWin, #True); lower= untop AddWindowTimer(#SecWin, 0, 2000) EndSelect Case #PB_Event_Timer If EventTimer()= 0 Window_SetUntop(#SecWin, #False); raise= top RemoveWindowTimer(#SecWin, 0) EndIf EndSelect Until gQuit EndIf ; IDE Options = PureBasic 5.40 LTS (Linux - x86) ; CursorPosition = 27 ; Folding = - ; EnableUnicode ; EnableXP