Nick Gammon said:
I find those modeless dialog boxes intensely annoying, because they tend to get hidden behind other windows.
That is why you make it a 'topmost' window, so it can't get lost. (In turn, this can make it get in the way of the text you're seeing - so Notepad++ makes it transparent when it loses focus - but this probably isn't such a big issue here as MUSHclient's Find dialog is smaller.)
Nick Gammon said:
Could I just ask though, why is this important?
Quite simply, Find does not work as it does in other applications, i.e. you can't open Find again (or keep it open and keep pressing the button) and find multiple instances of the *same* string. This violates user expectations, and may lead them to believe that there is only one instance of the string they were trying to find.
This is compounded by the fact that "Find Again" uses the Shift+Ctrl+F accelerator, and does not support the usual key in this situation for Windows applications, F3.
A user is unlikely to succeed in finding multiple instances of a string in the display buffer unless they first find the Find Again menu item - which is not the Edit menu, where it usually is (this makes sense for MUSHclient, since you actually "edit" worlds, but it's unusual and so represents an additional usability barrier).
In this case I knew that there were multiple instances of the string to be searched, so I investigated and filed this report to improve MUSHclient to meet user expectations. This might be done by searching from the current selection, if there is one; by by keeping the Find dialog open to make such repeated searches easier; and by supporting the standard F3 accelerator for repeated searches.
The reason that Find dialogs have a "direction" is that they implicitly search relative to the current selection, and not just from the top or bottom of the buffer. If there is no selection it might be reasonable to start from the top (if searching down) or the bottom (if searching up), but that is not the expected case when text is already selected. Another reasonable starting point might be the top or bottom of the text currently displayed, given that this is "down" or "up" from the user's current perspective. For text editors, the starting point for searches is the place where text is to be entered (which would also be the current selection), but that is always the bottom in MUSHclient, so that behaviour is not as useful. |