suggestions for improving DTP(O) multi-db/window management

Please add an “Open Database in New Window” command to DTP(O). Related posts:

by sjk » 27 Jun 2009 10:36
by sjk » 29 Jul 2009 15:50

To summarize, it’s an ongoing frustration for a database to reuse the current window when I want it to open in a new window using the preferred size/location for that particular db. I can’t predict whether File > Open Recent > … will behave. It seems to initially prefer doing the former but later in a session decides to do the latter.

Closing all windows before opening a db is a workaround I’ve found that forces it to open using its retained/preferred window size/location. And when multiple windows are open, File > New Window > … and Open Recent > … commands for a currently open db both open a new window with retained window size/location. I want to force that “New Window” behavior when a db is first opened, regardless of what other dbs/windows are already open.

It can also be hard predicting which remaining open db will be in a window when the current db is closed. I’d like to suggest a combined “Close Database and Window” command, e.g. using the Option key modified when closing the db also closes the window.

Lastly, I’d like to understand exactly what causes the a db’s retained “new window” size/location to change. Closing a db when its Top Group view is temporarily in a window using a different size/location (e.g. Inbox’s) hasn’t been changing the retained settings. Thankfully, it’s using those settings next time it’s re-opened in a new window.

Sorry for any confusion with terminology. I’ve tried keeping this relatively simple, avoiding cases where a db is closed from one of severally open windows for another db then figuring out what’ll open where next.

My goal is for both window and database opening/closing to have desired and predictable behavior in any context. Two commands (or equivalent functionality, e.g. with Option key usage) I’ve suggested would help with the former:

Open Database in New Window
Close Database and Window

An explanation of how retalned window positions are determined/changed would help with the latter.

Thanks!

File > Open Database… and File > New Window > … open always new windows whereas the sidebar (e.g. double-clicking on favorites or recent databases or using the contextual menu) does never open new windows.

Maybe you meant File > Open Recent > … always uses a new window (or is intended to)? At least here, File > Open Database… reuses the current window.

That makes File > Open Recent > … serve as an implicit “Open Database in New Window” command, if the db to open is in the recent list and a new window will always be opened for it. But I’d still prefer for an explicit ODiNW command.

Yup, opening/selecting a db from the sidebar always reuses the current window; that makes sense. However, there are some unresolved sidebar issues that I described in:

create new window when opening/switching database

And there are still cases where I’m unsure what to expect when a db is closed. And when window sizes/locations are retained. But I sense some progress being made in understanding all of this. :slight_smile:

Here it doesn’t. Does it depend on the view mode (list/icon etc)?

Whatever it depends on it’s inconsistent here. It opened a new window a couple times, then reused the current window another time. Seems to be connected with if/how the database was previously closed; I’ll work on figuring out a reproducible example… okay, got one:

How Open Database… behaves at least partly depends on whether the db was previously closed (using the sidebar context menu) from a window displaying it or from another other db window (e.g. Inbox) when all the original db windows are closed. It’ll take a bit to write up a detailed step-by-step example.

PS: Maybe you can snip superfluous quoted text from the end your replies? My iPod touch appreciates shorter posts. :slight_smile: Thanks!

I’ve tried what I understood you to be saying but it does not seem to make a difference: it always opens in a new window.

Done! :slight_smile:

Here’s a way I’m able to reliably reproduce Open Database… switching betweening using a new window vs. reusing the current window.

  1. Start with an Inbox window open (in List view, but it shouldn’t matter) and no other databases/windows open
  2. Run Open Database…, select DB
  3. If DB opens in a new window (with retained attributes) close window (Command-W)
  4. Right-click DB under OPEN DATABASES in sidebar of Inbox window and select Close Database, being sure NOT to actually select/view DB before closing it (which is crucial for reproducing this)
  5. Repeat steps 2-4 until DB opens in the original Inbox window instead of a new window

After DB opens in the Inbox window and is closed again (step 4) the next time its opened using Open Database… it should open in a new window. If DB is closed from the sidebar context menu of that new window the window contents switch to Inbox, i.e. the original and new window both display Inbox views. Close the new window (Command-W), open DB with Open Database… again, and it’ll use a new window. If DB is always closed from the new window before closing that new window then Open Database… will keep opening it in a new window. But if the new window is closed before closing DB (from only the one Inbox window) then the Inbox window will to be reused the first time Open Database… reopens DB again.

Behavior is identical using Open Recent > … instead of Open Database…. Maybe other command permutations have similar side effects.

. . .

I now understand how [size=120]closing an unselected database from the sidebar context menu[/size], the key revelation while composing this, can influence window selection when that database is reopened. I’m often closing databases this way (to avoid a select-before-close) when File > Close Database is unavailable, e.g. with only a single Inbox window is open. The workaround is simple: select the database before running Close Database from the sidebar content menu.

Seems I have a knack for finding obscure sidebar bugs.

Sorry for the messy description. It would have been clearly had I known where it would be ending when I started.

This is repeatable here too.

Thanks for your help (and patience :slight_smile:) checking it. I’ll open a support ticket to formally report the problem.

Having followed your steps above exactly, I have this to report:

My second DB always replaces the contents of the Inbox window with the contents of the second DB, never in a new window.

Aside: I’m not quite sure what all this is trying to establish and what resolution is expected.

However: I figured it was worth trying by quitting DTPO entirely (after closing all open databases and Inbox windows) and relaunching DTPO. In that case following your steps does indeed reproduce the behavior you’re describing.

But wait, there’s more! If I close my second DB following your instructions in step 4, the contents of the new window that the second DB opened are now replaced by a duplicate of the Inbox window! Following steps 2-4 again brought up my second DB in yet another window, and closing it causes yet another instance of the Inbox to be displayed, making a total of three Inbox windows scattered in different positions around my screen.

10.6, pb7

Thanks!

Interesting.

Yup. When a database currently viewed in a window is closed from that window (using Close Database from the sidebar or menu) some other open db (Inbox, as the last resort) will replace it in that window. I still haven’t discovered a good reason/use for that behavior. Without an atomic Close Database and Window command (as suggested in my original post) it’s a two-step in the context you’re describing.

Yup. When no dbs other than Inbox are open then Inbox will show up in every open window.

The sidebar Close Database context menu bug influencing how a database will reopen, combined with other methods of opening/closing multiple dbs/windows, was befuddling me. Even with that bug fixed (or temporarily using the workaround) I’m still not comfortable with v2’s multi-db/window management. For example, I’m doubtful that replacing a window’s view with another db when the active db in it is closed is desirable, especially unconditionally. When closing a db it seems more natural/predictable to me that any windows currently viewing it will also close. I’m very curious what opinions/suggestions other people have about that. Maybe there’s some analogy/comparison that’ll beneficially readjust my perspective.

It can too easily feel like I’m playing a sort of Whac-A-Mole game, with dbs/windows as the moles. :open_mouth: