Home

Please don't remove standard window caption controls from dialogs (Minimize, Maximize, Close)

I noticed that a lot of LinqPad's popup windows, dialogs, and so on have their standard window caption controls hidden, which is non-default. Microsoft's own design guidelines advise always having at least the Close button in the titlebar (emphasis mine):

https://docs.microsoft.com/en-us/windows/win32/uxguide/win-window-mgt
All primary and secondary windows with a standard window frame should have a Close button on the title bar.

I understand not having a minimize button in modal dialogs, but having a maximize button would be helpful when using the NuGet package manager and namespace/imports windows when using a small screen (as is often the case over remote desktop or a VM) and manually resizing a window to full-screen is a pain (as you need to first drag the window to the top-left, then drag the bottom-right resize handle).

Immediate wish-list:

  • Always have the close button accessible in the top-right corner of all Linqpad windows, dialogs and popups.
  • Always have the maximize/restore button accessible for all resizable windows and dialogs.

Long-term wish-list:

  • Make the NuGet and Imports windows non-modal so we can interactively edit our Linq scripts while selecting dependencies.
  • Allow us to dock the NuGet and Imports window directly within the main Linqpad window, like we can with the Results window.

Comments

  • Regarding the NuGet package manager dialog, you're right: Given that it has a Close button, the title bar should also have close button, and given that it's resizable, the maximize button on the title bar should be visible. I'll get a fix into the next build.

  • edited July 2021

    @JoeAlbahari can you please also do the same for the "Query properties" and "Preferences" windows?

    The "Query properties" window is resizable, fwiw.

    Can you make the Preferences window resizable as well? So we don't need to scroll in the Advanced tab?

  • I'll make the Preferences dialog resizable. It's not easy to add a maximize button to these dialogs. Keep in mind that without a maximize button, you can still maximize any sizable window by double-clicking the title bar.

  • @JoeAlbahari Keep in mind that without a maximize button, you can still maximize any sizable window by double-clicking the title bar.

    I tried that right now with the existing resizable-but-sans-maximize windows and double-clicking the titlebar did not maximize the windows. I think Windows only honors the double-click gesture when a maximize button is present.

  • Are you sure? When you press F4 and double-click the title bar, nothing happens?

  • edited August 2021

    @JoeAlbahari I tried it just now:

    1. Open LinqPad 5.44.02
    2. Right-click > Namespace Imports
    3. Ensure the "Query properties" popup window has focus.
    4. Press [F4] and nothing happens (my keyboard doesn't have F-Lock), nor any combination of double-clicking and/or pressing F4

    Ditto in LinqPad 6.14.10 x64

    Out of curiosity, where does "F4" come from? It isn't a standard Windows shortcut key (like Alt+F4).

  • F4 is the shortcut to display the Query Properties dialog. If the window is already active, you don't need to press it again.

Sign In or Register to comment.