Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2010-04

new autosize - minmized ide window

15 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Martin

On Windows

- open breakpoint window, and put on secondary monitor (away from designed position)
- store the position as custom positon, in the enviroment/windows options
- minimize the breakpoint window

- restart the IDE (that will close the window)
- now open the window (I tried with kbd shortcut)

Result, => we need to put a warning on Lazarus for people who get epileptic attacks.

The window briefly shows (more a flicker) on it's designed pos it minimizes
it shows on it's stored pos (other monitor) (flicker) it minimizes

Martin

Reply by email

Marc Weustink
to Martin
Martin wrote 14 lines
On Windows - open breakpoint window, and put on secondary monitor (away from designed position) - store the position as custom positon, in the enviroment/windows options - minimize the breakpoint window - restart the IDE (that will close the window) - now open the window (I tried with kbd shortcut) Result, => we need to put a warning on Lazarus for people who get epileptic attacks. The window briefly shows (more a flicker) on it's designed pos

Yes, I one see a ghosted white spot on it's designed pos. No flicker (screen updates arent that fast remote)

it minimizes

Nope (usually my wm minimizes a lot (unnecessary) but not now)

it shows on it's stored pos (other monitor) (flicker)

No flicker

it minimizes

No it stays visible

Marc

Reply by email

Martin
to Marc Weustink
Marc Weustink wrote 7 lines
Martin wrote: > On Windows > > - open breakpoint window, and put on secondary monitor (away from > designed position) > - store the position as custom positon, in the enviroment/windows > options

My fault: it should be "restore window geometry" => so it remembers the window was minimized

Show quoted text 16 lines
> - minimize the breakpoint window > > - restart the IDE (that will close the window) > - now open the window (I tried with kbd shortcut) > > Result, => we need to put a warning on Lazarus for people who get > epileptic attacks. > > The window briefly shows (more a flicker) on it's designed pos Yes, I one see a ghosted white spot on it's designed pos. No flicker (screen updates arent that fast remote) > it minimizes Nope (usually my wm minimizes a lot (unnecessary) but not now)

see above note....

Martin

Reply by email

Mattias Gaertner
to Martin: On Windows - open breakpoint window, and put on secondary monitor (away from designed…
Show quoted text 17 lines
On Windows - open breakpoint window, and put on secondary monitor (away from designed position) - store the position as custom positon, in the enviroment/windows options - minimize the breakpoint window - restart the IDE (that will close the window) - now open the window (I tried with kbd shortcut) Result, => we need to put a warning on Lazarus for people who get epileptic attacks. The window briefly shows (more a flicker) on it's designed pos it minimizes it shows on it's stored pos (other monitor) (flicker) it minimizes

Maybe the win32 interface creates visible handles? It should not. It should show the handles when the LCL tells it to show them.

Mattias

Reply by email

Mattias Gaertner
to Martin: On Windows - open breakpoint window, and put on secondary monitor (away from designed…
Show quoted text 17 lines
On Windows - open breakpoint window, and put on secondary monitor (away from designed position) - store the position as custom positon, in the enviroment/windows options - minimize the breakpoint window - restart the IDE (that will close the window) - now open the window (I tried with kbd shortcut) Result, => we need to put a warning on Lazarus for people who get epileptic attacks. The window briefly shows (more a flicker) on it's designed pos it minimizes it shows on it's stored pos (other monitor) (flicker) it minimizes

Maybe it is this strange piece of code:

procedure TCustomForm.SetRestoredBounds(ALeft, ATop, AWidth, AHeight: integer);
var
  prevWindowState: TWindowState;
begin
  // temporarily go to normal window state to store restored bounds
  if (FRestoredLeft=ALeft) and (FRestoredTop=ATop)
  and (FRestoredWidth=AWidth) and (FRestoredHeight=AHeight) then exit;
  prevWindowState := WindowState;
  WindowState := wsNormal;
  SetBounds(ALeft, ATop, AWidth, AHeight);
  WindowState := prevWindowState;
end;

Mattias

Reply by email

Martin
to Mattias Gaertner
Mattias Gaertner wrote 33 lines
> On Windows > > - open breakpoint window, and put on secondary monitor (away from > designed position) > - store the position as custom positon, in the enviroment/windows options > - minimize the breakpoint window > > - restart the IDE (that will close the window) > - now open the window (I tried with kbd shortcut) > > Result, => we need to put a warning on Lazarus for people who get > epileptic attacks. > > The window briefly shows (more a flicker) on it's designed pos > it minimizes > it shows on it's stored pos (other monitor) (flicker) > it minimizes > Maybe it is this strange piece of code: procedure TCustomForm.SetRestoredBounds(ALeft, ATop, AWidth, AHeight: integer); var prevWindowState: TWindowState; begin // temporarily go to normal window state to store restored bounds if (FRestoredLeft=ALeft) and (FRestoredTop=ATop) and (FRestoredWidth=AWidth) and (FRestoredHeight=AHeight) then exit; prevWindowState := WindowState; WindowState := wsNormal; SetBounds(ALeft, ATop, AWidth, AHeight); WindowState := prevWindowState; end;

In parts, it seems. I did set a breakpoint. Before this method is reached the breakpoint window was:
- shown on it's designed (as in the pos in the LFM) placed,
- and minimized from there.

Within this method, the Window, gets:
- restored to it's designed place
- moved to it's remembered place
- minimized from there

Martin

Reply by email

Mattias Gaertner
to Paul Ishenin
Show quoted text 7 lines
09.04.2010 8:09, Mattias Gaertner wrote: > Maybe the win32 interface creates visible handles? It should not. It > should show the handles when the LCL tells it to show them. No. Handles must be created visible if this is requested by passed CreateParams structure.

Ah. The win32 intf is probably the only one that parses this thing completely.
Where is the Visible flag?

Mattias

Reply by email

Paul Ishenin
to Mattias Gaertner
Mattias Gaertner wrote
Ah. The win32 intf is probably the only one that parses this thing completely. Where is the Visible flag?

I fixed the problem in r24351. No that flickering now.

Best regards,
Paul Ishenin.

Reply by email

Mattias Gaertner
to Paul Ishenin
Show quoted text 7 lines
09.04.2010 9:06, Mattias Gaertner wrote: > Ah. The win32 intf is probably the only one that parses this thing > completely. > Where is the Visible flag? I fixed the problem in r24351.

A blast from the past. :)

24531

No that flickering now.

Great. Thanks.

But the SetRestoreBounds code will probably still create flicker.

Mattias

Reply by email

Paul Ishenin
to Mattias Gaertner
Mattias Gaertner wrote
But the SetRestoreBounds code will probably still create flicker.

It is used in IDE only to save bounds of IDE forms listed in Environment->Windows. I personally don't know why we need this method at all.

Best regards,
Paul Ishenin.

Reply by email

Martin
to Martin

Paul, you indicated that was fixed => I still get the flicker. However unrelated to the minimize.

I just get to see the window(s) on it's design position, before it moves to the correct position

Martin

Martin wrote 12 lines
On 09/04/2010 02:10, Paul Ishenin wrote: > 09.04.2010 9:06, Mattias Gaertner wrote: > >> Ah. The win32 intf is probably the only one that parses this thing >> completely. >> Where is the Visible flag? > > I fixed the problem in r24351. No that flickering now. I am on 24581 and it still flickers... Martin

Reply by email

Mattias Gaertner
to Martin
Show quoted text 5 lines
Paul, you indicated that was fixed => I still get the flicker. However unrelated to the minimize. I just get to see the window(s) on it's design position, before it moves to the correct position

Please compile LCL with -dVerboseBug16184 and check the output.

Mattias

Reply by email

Martin
to Mattias Gaertner
Mattias Gaertner wrote 7 lines
On Tue, 20 Apr 2010 11:09:06 +0100 Martin wrote: > Paul, you indicated that was fixed => I still get the flicker. > However unrelated to the minimize. >

Actually, I also still get the full minimize/restore/minimize circle...

Show quoted text 6 lines
> I just get to see the window(s) on it's design position, before it moves > to the correct position > Please compile LCL with -dVerboseBug16184 and check the output.

I usually run the output on a console, so I just copied the relevant lines:

Id did NOT show at x/y = 0/0,
but it did show at x1=344,y1=153,x2=904,y2=358 (which it should not)

It also is of no relevance that the final location is on a different screen. It still happens, if I have the final location on the same screen.

-----
with final window in normal pos (not minimized)
x1=2661,y1=-14,x2=3240,y2=130 => correct final bounds (the negative y, is pure accidental, and has no relevance, it happens with all positive coordinates too)

[TWinControl.DoSendBoundsToInterface] A lvBreakPoints:TListView OldRelBounds= x1=0,y1=0,x2=0,y2=0 -> NewBounds= x1=0,y1= 0,x2=560,y2=205
[TWinControl.DoSendBoundsToInterface] A BreakPointsDlg:TBreakPointsDlg OldRelBounds= x1=0,y1=0,x2=0,y2=0 -> NewBounds= x
1=344,y1=153,x2=904,y2=358
TWinControl.DoSendShowHideToInterface lvBreakPoints:TListView FBoundsRealized= x1=0,y1=0,x2=560,y2=205 New=True
TWinControl.DoSendShowHideToInterface BreakPointsDlg:TBreakPointsDlg FBoundsRealized= x1=344,y1=153,x2=904,y2=358 New=Tr ue
TWinControl.WMSize A BreakPointsDlg:TBreakPointsDlg Message=560,205 BoundsRealized= x1=344,y1=153,x2=904,y2=358 FromIntf =True
TWinControl.WMSize A BreakPoints:TBreakPointsDlg Message=579,144 BoundsRealized= x1=344,y1=153,x2=904,y2=358 FromIntf=Fa lse
TWinControl.WMMove A BreakPoints:TBreakPointsDlg Message=2661,-14 BoundsRealized=344,153 FromIntf=False,560x205
TWinControl.WMSize A lvBreakPoints:TListView Message=579,144 BoundsRealized= x1=0,y1=0,x2=560,y2=205 FromIntf=False [TWinControl.DoSendBoundsToInterface] A lvBreakPoints:TListView OldRelBounds= x1=0,y1=0,x2=560,y2=205 -> NewBounds= x1=0 ,y1=0,x2=579,y2=144
TWinControl.WMSize A lvBreakPoints:TListView Message=579,144 BoundsRealized= x1=0,y1=0,x2=579,y2=144 FromIntf=True [TWinControl.DoSendBoundsToInterface] A BreakPoints:TBreakPointsDlg OldRelBounds= x1=344,y1=153,x2=904,y2=358 -> NewBoun ds= x1=2661,y1=-14,x2=3240,y2=130
TWinControl.WMSize A BreakPoints:TBreakPointsDlg Message=579,144 BoundsRealized= x1=2661,y1=-14,x2=3240,y2=130 FromIntf= True

=============================
== with final brkpoint window minimized

[TWinControl.DoSendBoundsToInterface] A lvBreakPoints:TListView OldRelBounds= x1=0,y1=0,x2=0,y2=0 -> NewBounds= x1=0,y1= 0,x2=560,y2=205
[TWinControl.DoSendBoundsToInterface] A BreakPointsDlg:TBreakPointsDlg OldRelBounds= x1=0,y1=0,x2=0,y2=0 -> NewBounds= x
1=344,y1=153,x2=904,y2=358
TWinControl.DoSendShowHideToInterface lvBreakPoints:TListView FBoundsRealized= x1=0,y1=0,x2=560,y2=205 New=True
TWinControl.DoSendShowHideToInterface BreakPointsDlg:TBreakPointsDlg FBoundsRealized= x1=344,y1=153,x2=904,y2=358 New=Tr ue
TWinControl.WMSize A BreakPointsDlg:TBreakPointsDlg Message=560,205 BoundsRealized= x1=344,y1=153,x2=904,y2=358 FromIntf =True
TWinControl.WMSize A BreakPoints:TBreakPointsDlg Message=576,241 BoundsRealized= x1=344,y1=153,x2=904,y2=358 FromIntf=Tr ue
TWinControl.WMSize A BreakPoints:TBreakPointsDlg Message=576,241 BoundsRealized= x1=344,y1=153,x2=920,y2=394 FromIntf=Fa lse
TWinControl.WMSize A lvBreakPoints:TListView Message=576,241 BoundsRealized= x1=0,y1=0,x2=560,y2=205 FromIntf=False [TWinControl.DoSendBoundsToInterface] A lvBreakPoints:TListView OldRelBounds= x1=0,y1=0,x2=560,y2=205 -> NewBounds= x1=0 ,y1=0,x2=576,y2=241
TWinControl.WMSize A lvBreakPoints:TListView Message=576,241 BoundsRealized= x1=0,y1=0,x2=576,y2=241 FromIntf=True TWinControl.WMSize A BreakPoints:TBreakPointsDlg Message=560,205 BoundsRealized= x1=344,y1=153,x2=920,y2=394 FromIntf=Tr ue
TWinControl.WMSize A BreakPoints:TBreakPointsDlg Message=560,205 BoundsRealized= x1=344,y1=153,x2=904,y2=358 FromIntf=Fa lse
TWinControl.WMSize A lvBreakPoints:TListView Message=560,205 BoundsRealized= x1=0,y1=0,x2=576,y2=241 FromIntf=False [TWinControl.DoSendBoundsToInterface] A lvBreakPoints:TListView OldRelBounds= x1=0,y1=0,x2=576,y2=241 -> NewBounds= x1=0 ,y1=0,x2=560,y2=205
TWinControl.WMSize A lvBreakPoints:TListView Message=560,205 BoundsRealized= x1=0,y1=0,x2=560,y2=205 FromIntf=True TWinControl.WMSize A BreakPoints:TBreakPointsDlg Message=579,144 BoundsRealized= x1=344,y1=153,x2=904,y2=358 FromIntf=Fa lse
TWinControl.WMMove A BreakPoints:TBreakPointsDlg Message=2575,-3 BoundsRealized=344,153 FromIntf=False,560x205
TWinControl.WMSize A lvBreakPoints:TListView Message=579,144 BoundsRealized= x1=0,y1=0,x2=560,y2=205 FromIntf=False [TWinControl.DoSendBoundsToInterface] A lvBreakPoints:TListView OldRelBounds= x1=0,y1=0,x2=560,y2=205 -> NewBounds= x1=0 ,y1=0,x2=579,y2=144
TWinControl.WMSize A lvBreakPoints:TListView Message=579,144 BoundsRealized= x1=0,y1=0,x2=579,y2=144 FromIntf=True [TWinControl.DoSendBoundsToInterface] A BreakPoints:TBreakPointsDlg OldRelBounds= x1=344,y1=153,x2=904,y2=358 -> NewBoun ds= x1=2575,y1=-3,x2=3154,y2=141
TWinControl.WMSize A BreakPoints:TBreakPointsDlg Message=579,144 BoundsRealized= x1=2575,y1=-3,x2=3154,y2=141 FromIntf=T rue
TWinControl.WMSize A BreakPoints:TBreakPointsDlg Message=595,180 BoundsRealized= x1=2575,y1=-3,x2=3154,y2=141 FromIntf=T rue
TWinControl.WMSize A BreakPoints:TBreakPointsDlg Message=595,180 BoundsRealized= x1=2575,y1=-3,x2=3170,y2=177 FromIntf=F alse
TWinControl.WMSize A lvBreakPoints:TListView Message=595,180 BoundsRealized= x1=0,y1=0,x2=579,y2=144 FromIntf=False [TWinControl.DoSendBoundsToInterface] A lvBreakPoints:TListView OldRelBounds= x1=0,y1=0,x2=579,y2=144 -> NewBounds= x1=0 ,y1=0,x2=595,y2=180
TWinControl.WMSize A lvBreakPoints:TListView Message=595,180 BoundsRealized= x1=0,y1=0,x2=595,y2=180 FromIntf=True

Reply by email