"Open an Existing File…" shows open sheet behind New Project window

Just downloaded (from L&L site) & upgraded to Scrivener 3.0 (58),
Naturally, on first launch it opens the New Project window, with all the usual buttons & default templates & such.

Clicking on “Open an Existing File…” button brings up the Open sheet, but it is hidden behind the New Project Window entirely.

After realizing the button wasn’t ignoring me, I moved the New Project window to find the Open sheet lurking behind it. I’ve since moved the Open sheet, and the Finder is pretty good about remembering that location so it appears in a place where I can click on it. It is still behind the New Project window, however.

  1. Upgraded from Scrivener 2->3
  2. Launched Scrivener 3 for the first time
  3. Clicked on “Open an Existing File…”

expected: Open sheet to be visible
actual: Open sheet hidden behind New Project window

To be fair, I strongly suspect this is a Finder/NSOpenPanel problem, not really Scrivener per se. Figured I’d post it here, and if KB can rule out Scrivener as the source I’ll open a Radar.

Also, I’ve tried attaching a screenshot but keep getting “Error parsing server response” errors when I attach it.

I can’t reproduce this at all. Open panels should always take precedence over anything beneath them, so that sounds like a weird macOS bug. What version of macOS are you running?

It’s macOS High Sierra 10.13.1 (17B48).

I’ve posted a very short QT screen capture video of what’s going on to youtube: youtu.be/7dm33ZlffZ0

I agree it seems more like a macOS issue, not Scrivener, but thought I’d run it up the flagpole here and see if anybody saluted. If not, I’ll try Apple.

Weird! It’s as though the templates window has been set to “float”. You can set project windows in Scrivener to float (via the Window menu) in which case they will end up doing this, but you can’t do it to the project templates window. (I’m on exactly the same OS version with no such problem and it’s never come up in beta either.) Have you tried a fresh install, or trying the same in a test account to see if it’s account-specific?

Thanks,
Keith

This does not occur with the “Choose…” window, which opens up a save sheet in the projects template window, just as an aside.

Aha! I had the same experience - but didn’t know what was going on…

Full story: I downloaded the 3 disk image, dragged the app on the folder, and accepted the Finder offer to keep old version. This renamed the new Scriv to Scrivener 2, as I was to find out…

Opened the app, tried to put in my registration info: registration failed (even though it was copied and pasted from the email). Scratched head repeatedly. Made cup of tea. Looked in applications folder, spotted the renaming. Dragged the old Scriv to the trash, renamed the new version by dropping the 2, re-opened the app and registration worked.

So then I tried to open one of my Scriv projects. Scriv is giving me the choose template screen, as it should on first run. Clicking on the “open existing” produced exactly the behaviour noted above. I could not work out what was going on, and didn’t find the hidden open sheet. Instead I went and found one of my projects (now, where had I put those - ah, yes, Dropbox) and opened it by clicking on it. The file upgrade went smoothly and all was well.

Having done that, choosing File > New Project to see the templates, and then selecting “open existing”, I find that the open sheet pops up over the template chooser correctly.

So two things: do not let the Finder rename your Scrivener app on first install - worth a warning for everyone Keith, or did I miss it?

Then on first running the app upgrade an existing project by opening it from the Finder…

Otherwise, all seems well. Must try writing something soon…

Hope that helps.

iMac (Retina 4K, 21.5-inch, 2017), 3.6 GHz i7, running 10.13.1

Behavior is identical with a brand-new user (“Test”) created just for the purpose of … uh, sorry, maybe I should have been more creative?… testing this. Also, user is a “standard” user so I had to use my normal login (which is usually the only user on my computer) to add the app in step 2 below.

  1. Mount disk image
  2. drag-copy to Applications
  3. Launch
  4. Step through initial questions (did not take the tour)
  5. click “Open an Existing File…”
  6. see image:

    (it’s probably tough to see right away but the Open panel is behind the window; I snapped it immediately after clicking the button, nothing else was done to the app or the computer)

Curiouser and curiouser … :-/

Edit: also, to be clear, the Test user was brand-new, created just now, and I did click on the button to use Scrivener in Trial mode (since it asked, and I didn’t feel like going through the rigamarole of fast switching to my normal account—which was logged off at the time—forwarding the email or copying the license stuff into the Public folder, etc. … yeah, I’m a little lazy, sorry)

This did not solve it for me; I have an existing project and the behavior of the Open panel is identical now to what it was when I first opened it. That is, I got the Open panel hidden behind the Project Templates issue when I first ran the application after upgrading as well as after updating a project.

Also, an update: the Open panel superimposes itself correctly if a project is already open:

So, to clarify:

  • If there is another window open (which would almost certainly have to be a project), the Open panel behaves correctly by appearing in front of the Project Template window
  • If there is not another window open, the Open panel opens behind the Project Template window.
    As KB noted, the Project Template window is acting like it’s floating—like it’s not just “Main” but “Key” window, which may affect the NSOpenPanel? I don’t do much macOS programming (mostly iOS) so this is a little deeper in the water than I usually swim.

Confirmed. I had a project open. Close it, relaunch Scriv, choose new project, click open existing, and the sheet pops under the template chooser. At least the “open recent” is correctly populated after opening a few projects - there’s nothing there on first run, of course.

Cheers

Oh, how I love High Sierra. :slight_smile:

Thanks for the extra details. I’ve found the issue. Essentially, that button invokes Apple’s standard “open document” method. I override that method so that it closes the projects panel when it is invoked and opens the project panel again after Apple’s implementation is finished if there are no projects open still. However, Apple has updated the code so that their implementation ends with the open panel still open (part of their ongoing move to asynchronous methods and block-based programming - for the techies among you :slight_smile: ).

So what is actually happening is that now, you hit “Open”, the open panel appears, and Apple’s method ends there rather than waiting for the Open panel to close. The Open panel closing will then trigger Apple private code. So the method ends and Scrivener thinks there are no projects open and reopens the projects panel - but all of this happens instantly so that it closes and opens again straight away, now over the Open panel.

I have (I hope) fixed this for the next update by setting up an observation of the Open panel and only checking if I need to open the projects panel again when it opens. It’s clunkier, but seems to work…

Thanks and all the best,
Keith

Excellent, glad you were able to figure it out! :smiley:

I saw this behavior this morning also and sent L&L a video of the issue. I am also on High Sierra.

Can you please try re-downloading and reinstalling Scrivener. I’ve just replaced the version on the site (3.0 (58)) with a slightly updated version (3.0 (75)) which should fix this issue. I’m not pushing this out into an automatic update just yet given that it’s minor and I want to collect and fix a few other issues rather than bugging users with too many update notifications, so this fix will officially be part of 3.0.1. But it should be fixed in 3.0 (75) that is now the main download, too, so I’d be grateful for confirmation.

Thanks!

Tested just now. With no other windows open—just the Project Templates—clicking “Open an Existing File…” the Templates window closes leaving just the Open Panel. Clicking Cancel then opens the Project Templates window, which I believe describes your intended behavior :slight_smile: So, in many fewer words: yes, this appears to be fixed in build 75. :smiley:

Great, thanks for testing and confirming!