ts-soft hat geschrieben:Aber drauf hinweisen, das nur 64-Bit betroffen ist!
Omi hat geschrieben:der Button erscheint auch unter 32-Bit-Xubuntu nicht wieder.
Ich habe gerade auch nochmal unter Xubuntu (x86, virtuelles) getestet und kann Omis Aussage bestätigen.
ts-soft, jetzt wäre es interessant, welche 32-Bit-Linux-Distribution du getestet hast.
Omi hat geschrieben:Ähm, kann man das überhaupt irgendwo sinnvoll einsetzen?

Der Code ist eine auf den Fehler komprimierte Version von diesem Code:
Code: Alles auswählen
EnableExplicit
#WindowHeight = 100 ; Sollte durch 10 teilbar sein
Procedure Ticker(*Stop.Integer)
Repeat
Delay(500)
PostEvent(#PB_Event_Timer, 0, 0)
Until *Stop\i
EndProcedure
If ExamineDesktops()
OpenWindow(0, 0, 0, DesktopWidth(0), 0, "Test", #PB_Window_BorderLess|#PB_Window_Tool|#PB_Window_Invisible)
StickyWindow(0, #True)
ButtonGadget(0, WindowWidth(0)-25, 5, 20, 20, "X")
Else
Debug "Fehler!"
End
EndIf
Define.i Thread, Stop, Event, Window_Visible, i
Thread = CreateThread(@Ticker(), @Stop)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Timer
If ExamineDesktops()
If DesktopMouseY() < 5 And Not Window_Visible
HideWindow(0, #False)
Window_Visible = #True
For i = 10 To #WindowHeight Step 10
ResizeWindow(0, #PB_Ignore, #PB_Ignore, #PB_Ignore, i)
While WindowEvent() : Wend
Delay(10)
Next
ElseIf DesktopMouseY() > WindowHeight(0, #PB_Window_FrameCoordinate) And Window_Visible
For i = #WindowHeight-10 To 0 Step -10
ResizeWindow(0, #PB_Ignore, #PB_Ignore, #PB_Ignore, i)
While WindowEvent() : Wend
Delay(10)
Next
HideWindow(0, #True)
Window_Visible = #False
EndIf
EndIf
Case #PB_Event_Gadget
If EventGadget() = 0
Stop = #True
WaitThread(Thread)
CloseWindow(0)
Break
EndIf
EndSelect
Until Event = #PB_Event_CloseWindow
Nehme ich das Verstecken des Fensters raus, bleibt der Button sichtbar; aber im zusammengeklapptem Zustand ist das Fenster immer noch ein Pixel hoch (kleinste mögliche Fensterhöhe) und deshalb sieht man oben noch ein Streifen vom Fenster.
Wird bei ResizeWindow(..., 0) angegeben, ändert ResizeWindow die "0" automatisch zu einer "1".