Window Höhe und Breite bei verstecktem Fenster (Compiz)

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
tmjuk
Beiträge: 380
Registriert: 30.06.2006 00:10
Wohnort: Backaryd, Schweden

Window Höhe und Breite bei verstecktem Fenster (Compiz)

Beitrag von tmjuk »

Hallo,
dies ist ein etwas merkwürdiges Verhalten, welches mir beim Erstellen eines versteckten Fensters aufgefallen ist.

Edit: Ist mir bei 4.2 und 4.3Beta5 unter Suse11.0 aufgefallen. Windows muß ich noch probieren

Edit2:
Als Nachtrag mal die von mir erprobten Systeme bzw. Fenstermanager.
Alle erprobt mit PB4.3Beta5
Windows XP SP3 ok
Fedora 8 Gnome ok
Suse11.0 Gnome Problem tritt auf
Suse11.0 KDE 3.5.9 Problem tritt auf
Suse11.0 KDE 4.1 ok
Suse11.0 Xfce ok
Suse11.0 IceWM ok

Edit3:
Ok. Habe jetzt festgestellt, das dieses Verhalten nur dann auftritt, wenn bei mir die Desktopeffekte (Compiz) eingeschaltet sind.
Sind die "D"Effekte deaktiviert ist alles ok.

Also:
Ich erstelle ein Fenster versteckt, da ich erst alle Gadgets usw. darstellen möchte und nach Allem das Fenster dann sichtbar mache.
Wenn ich jetzt Gadgets anhand der Fenstergröße (also Breite und Höhe) erstellen will, benutze ich die Befehle WindowWidth und WindowHeight.

Diese geben aber falsche Werte zurück, solange das Fenster nicht sichtbar ist.

Aber nicht IMMER!?!
Mal stimmt es und mal kommt für Höhe und Breite 30,30.
Hier mal ein Cod zum Probieren:

Code: Alles auswählen

; einfaches Fenster unsichtbar erstellen
OpenWindow(1,0,0,800,600,"Test",#PB_Window_SystemMenu | #PB_Window_MaximizeGadget | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_ScreenCentered | #PB_Window_Invisible)


; Gadgets erstellen, vielleicht auch mit Hilfe von WindowWith und WindowHeight
PanelGadget(1,0,0,700,500)
AddGadgetItem(1,-1,"Test1")
AddGadgetItem(1,-1,"Test2")
AddGadgetItem(1,-1,"Test3")










; Mal die Größe ausgeben

MessageRequester("Größe","Breite:" + Str(WindowWidth(1)) + Chr(10) + "Höhe:" + Str(WindowHeight(1)),0)


; Fenster nach Erstellen von Allem sichtbar machen
HideWindow(1,0)

Repeat
	Event = WaitWindowEvent()
	


Until Event = #PB_Event_CloseWindow
Compiliert es ein paar Mal und vielleicht habt ihr das gleiche Ergebnis.
Das sollte doch nicht so sein, oder?

Torsten
PB 4.51 32 Windows Vista, 32 XP, PB 4.51 32 Ubuntu 10.10