Opened 12 years ago

Closed 10 years ago

#196 closed enhancement (fixed)

Clozure CL should be more clever about window placement

Reported by: joswig Owned by: rme
Priority: normal Milestone: Cocoa IDE v1
Component: IDE Version:
Keywords: Cc:

Description

Placement of new (editor) windows on the screen is not really that sophisticated. It seems to open the window always at the same place (plus some offset when you open new windows, so that they are 'stacked'). Textedit does the same. Apple Mail is a bit more clever. It stacks the new window at the horizontal position of the current front-most window + offset. This allows you to move an editor window to a new position and have all subsequent editor windows opened (stacked) based on this position. This is especially useful on large screens, when one wants windows to be opened at another position.

This could be done by window class. When creating a new window, Clozure CL could look where the frontmost window of that class is and place the new window with an offset from that position.

Change History (4)

comment:1 Changed 12 years ago by rme

  • Owner changed from gb to rme

An earlier version of the IDE tried to manage window placement, but I ripped it out and just let the NSWindowContoller cascade the windows in the default manner.

We could implement "smarter" cascading behavior in the hemlock-editor-window-controller class.

comment:2 Changed 12 years ago by joswig

Why not put the code back in? Several Apple applications are doing some smarter window placement (Safari, Keynote). Some do not. Having some window placement code in Clozure CL is fine for me. I don't think the OS default will do for all apps.

I would't also see this as Hemlock specific. If I move a new inspector window to the right of the screen (just because I like Inspectors on the right maybe), I don't want to do that for the next ten also.

comment:3 Changed 11 years ago by jaj

  • Milestone set to Cocoa IDE v1
  • Priority changed from major to normal

comment:4 Changed 10 years ago by rme

  • Resolution set to fixed
  • Status changed from new to closed

We get a bit more clever in r12017, at least for editor windows.

The new behaviour is this: when creating a new editor window, if there are no other editor windows open, use the default position (the values of *initial-editor-x-pos* and *initial-editor-y-pos*). Otherwise, cascade the new window down from the top left corner of the topmost editor window.

Note: See TracTickets for help on using tickets.