notepad-plus-plus / notepad-plus-plus

Notepad++ official repository
https://notepad-plus-plus.org/
Other
22.9k stars 4.6k forks source link

Search Dialog Box irritating behavior #12795

Open KPreston2900050 opened 1 year ago

KPreston2900050 commented 1 year ago

I use two monitors. I have my main working monitor which is also used for N++ The second one is for watching video's or Programing documentation (PDF) and what not. A lot of the time my second monitor is off.

The issue is with every new instance of N++ and I use Ctrl-F search the dialog box defaults to the second monitor. This forces me to turn it on if it's not on and drag the dialog box to my main monitor which is default for all programs on my PC. As long as N++ is running the box stays where it is at with every new use but once the whole program is closed it goes back to monitor 2. This is the only program on my PC that does this, if it is just a setting then let me know.

Windows 11/x64 dual monitors.

This has been going on for as long as I started using more than one monitor and I am currently using v8.4.8

As a side note, I stopped using install because it always overwrote my preferences. Portable allows me to save my configurations. When I tried to fix this Dialog behavior I went ahead and started fresh which did not fix the problem and spent a good hour reconfiguration everything back the way I need it.

This is not a complaint, I understand it is free and I use this more than any other editor for programing Z80 assembly. However, if there is a way to preserve your previous settings that would be cool.

alankilborn commented 1 year ago

A lot of the time my second monitor is off.

It boggles the mind that if you have a second monitor why it ever gets turned off. I have 5 monitors (all on) and sometimes that isn't even enough.

every new instance

What does this mean, exactly? Are you launching new instances from a main N++ instance (main instance stays running)? Or do you mean, single N++ running always and your use of "instance" means basically a run-quit cycle?

Debug Info would have been good to see, instead of the request in the issue template being ignored.

KPreston2900050 commented 1 year ago

To you it might boggle the mind like I have a severe issue with any reasoning why they had to add useless tabs to Windows explorer. But some people wanted it for some moronic reason.

N++ is not running all the time. Just like the monitor I use it when I feel necessary just like there is 100% no reason to have steam run itself when you start the computer. We get into this category that they feel they are necessary to everyone's daily lives. Such is I do more disabling of people BS than I care to address.

But, getting back to the matter at hand. WHEN I start a new instance of N++ and use the search feature, the pop up dialog jumps to the second monitor regardless if it is off or not. If I am on my primary monitor, where every other application starts, then you would think that the search dialog window would pop up on the primary.

Being as the application is open and I already dragged it back to my primary monitor the X and Y is set. So, if I close the dialog window and open it again then it is already set in memory as to the XY position.

As a programmer this leads me to believe that values are not defined in such a way that accounts for a second monitor. Maybe it is thinks of the added size by multiplying the dimensions of the two monitors instead of the primary monitor. If I had to come up with something I would write an x and y to an init file that maintained where you put it last time instead of starting fresh each time you load N++.

Again, going back to Microsoft's retarded decision to remove the ability to save your folders size and position from Windows 7 on instead of fixing their MRU bug. But I am ranting at this point.

alankilborn commented 1 year ago

Not sure at all why you brought up Windows Explorer...

You really didn't clear up the "instance" thing I asked about... Nor did you supply Debug Info...

I was trying to get to the root cause of why this is happening for you, but we may never get there...

Notepad++ 8.4.8, for me, remembers the position where I last put the Find window, and restores it to that position when I reinvoke Find. I suppose if the first time this happened, it was "offscreen", I'd somehow get it back on screen...but from then on, it recalls itself to the position I set most recently.

It isn't a fix because I don't yet (and probably won't) know what the real situation is, but if you press Ctrl+f and the Find window doesn't seem to appear, press Ctrl+f again. This second (in a row) Ctrl+f press tells the Find window to recenter itself on the Notepad++ parent window.

anishsane commented 1 year ago

This issue bothers me as well. My monitors are all on. But the find window opens on that monitor where it was opened last time. Windows OS tracks the 2 windows (main window and find window) separately.

I hope npp developer team add some code logic to open the find window on the same monitor as the notepad++ main window. Else, I have to search on all the monitors for where the find window is.

Moreover, it also confuses me (and probably others) at times, if the find window is open at all or not. Because the ctrl+f may not be received by npp because of some modal window.

alankilborn commented 1 year ago

But the find window opens on that monitor where it was opened last time.

Yes, this is absolutely desired behavior. Windows should stay where the user has put them.

I hope npp developer team add some code logic to open the find window on the same monitor as the notepad++ main window.

No, this is not wanted. Notepad++'s Find window is so large that it is not reasonable to have it on the same monitor as the N++ main window, when N++ is in typical usage maximized -- the Find window just covers too much of the main window. On a single monitor system, users just have to suffer with this (or close the Find window).

The answer to locating the window and putting it on the same monitor as N++ main window, is above; since apparently it was missed, I'll repeat it here:

"...if you press Ctrl+f and the Find window doesn't seem to appear, press Ctrl+f again. This second (in a row) Ctrl+f press tells the Find window to recenter itself on the Notepad++ parent window."

anishsane commented 1 year ago

@alankilborn , My issue is not with find window opening on the monitor where find window was moved last time.

My problem is: (e.g.) If I move npp main window to monitor 1, I move the find window to monitor 1. (manually) Next time, if I move the npp main window to monitor 2, the find window continues to open at monitor 1. And I have to move it manually. This issue is especially relevant on laptops where we connect/disconnect the external monitor(s).

No, this is not wanted.

Many other softwares (browsers, windows explorer, MSoffice softwares etc) have this behavior - a child window opened from the main window appears on the same screen as the main window. This may or may not be wanted, but from UX POV, this is what people are accustomed to. Maybe you could add a boolean preference for this behavior, since the existing behavior and our ask look opinionated. Some may want this way, some the other way - and they can choose based on the boolean setting.

Notepad++'s Find window is so large

I don't completely agree with this. Even with just 1960x1080 resolution, I am able to see it well enough. I tend to move it to right side of the main window. But again, this is my opinion. YMMV.

Having said all this, I learned yesterday (on another thread) the double ctrl+f way to move the find window to the same monitor as main window. And I am now in process of changing my habit to press ctrl+f twice.

I wrote this comment just to convey, that while your points are valid, there are many users who find this behavior unconventional and hence (to quote this issue's title) irritating,

alankilborn commented 1 year ago

Windows need to stay where the user puts them. Period, end of story. Obviously I mean this in the sense of a closed window that is reopened later. It doesn't matter where a "main" window is moved to, after the fact.

Obviously, this can be a problem if the location/position of restoration of a window no longer exists. This is not always "well detectable" as monitor configurations can change, and while a location may "exist" it may not be the same (in user's view) as previously. Notepad++ chooses to mitigate this with a second possible "Ctrl+f" press to recenter-on-parent.


changing my habit to press ctrl+f twice

I can't envision any possibly reasonable workflow where Ctrl+f has to be pressed twice every time one wants to recall the window.


Many other softwares (browsers, windows explorer, MSoffice softwares etc) have this behavior - a child window opened from the main window appears on the same screen as the main window.

And this is what Notepad++ does as well. ...Until the user repositions that window; from that moment on the child window reappears at the position of user placement. If there's some "UX" guideline that indicates otherwise, please directly cite it.

If I run Notepad++ maximized on one monitor, and I invoke Find with Ctrl+f and the window appears right in the middle of the same monitor (covering a create deal of the material I'm trying to work on), I grab the window title bar and move it to a second monitor. I work with the Find window and perhaps I leave it open or maybe I close it. Say I close it. When I need it for the next search I invoke Ctrl+f. If the Find window then appears centered on its Notepad++ parent, I would immediately remove Notepad++ from my system and start searching for a different text editor.

anishsane commented 1 year ago

If you open firefox settings or any window within it (clear history - ctrl+shift+del, e,g,) it will open the dialog on the same window as the window it was called from. For that matter, if you have 2 FF windows open on different monitors and you press ctrl+shift+del, then the dialogue opens on the monitor that the active window is on.

And this is what Notepad++ does as well.

This is not how npp behaves. It opens at the place where find window was last moved. EDIT: I was wrong about MS office behavior. MS office also behaves in the same way as npp.

Until the user repositions that window; from that moment on the child window reappears at the position of user placement.

This is not true either. Use case: Open npp from windows start menu. press ctrl+f. Search something. Close the find window. Don't move the find window. Move npp to different screen. press ctrl+f again. The find window continues to open on the old monitor. I - the user - have not positioned it on the old monitor.

I can't envision any possibly reasonable workflow where Ctrl+f has to be pressed twice every time one wants to recall the window.

I keep switching npp window between my monitors as required. And as a user, I don't remember where the npp window was positioned last time. And whenever I press ctrl+f, I first have to locate across all my monitors where my search window has opened. Hence the double ctrl+f. This is especially relevant when I connect/disconnect the external monitor to the laptop. If I disconnect the monitor (even because of power cut), all windows are moved to laptop screen by OS, as expected. After the power resumes or monitors are reconnected, I would move the main window back to the bigger monitor. And some time down the line, when I press ctrl+f, I would need to find the find window first, before I find a text with it. The find window would have opened on the laptop screen.

Windows need to stay where the user puts them

Correct. For me, I put it on the same screen as my main window. If my main window moves, the find window does not move with it. Hence I suggested a boolean preference.

Keep the default value of that boolean true, to keep the default behavior the same as now.
But let the users decide how they want it to behave. Their expectations may be different from your expectations.

Notepad++ chooses to mitigate this with a second possible "Ctrl+f" press to recenter-on-parent.

And I thank the npp developers for this. I am changing my habit to use double ctrl+f for this.

And since it is "END OF STORY" for you, I will not be commenting on this thread further. I can live with the double ctrl+f as a workaround for the problem we are facing.

alankilborn commented 1 year ago

First, please don't think I'm being intentionally offensive or belittling your opinions. I'm simply replying with my own opinions, and I'm not trying to sugar-coat it. I do it this way because this kind of discussion often brings out a user's REAL problem. So many times you read an issue here and you are 100% sure it means one thing, and only through spirited debate (yea, let's call it that!) do you find out you were 50% or more wrong about what someone has a complaint with. If some back-and-forth can refine a need, and then developers agree with that need, you might see something change.

Second, let me say that I'm not a developer on Notepad++. (Well, at least not yet). My focus for participating here is to triage issues, provide workarounds, and in general and in theory, be helpful. YMMV on that. :-) Overall, I think I AM helpful, if we judge it by my reputation points on the Notepad++ support site (which is not THIS site).

Third, when I said "end of story", it was to "windows need to stay put", not "end of any possible discussion here".

So let's keep going, at least for now, and see if we can get anywhere... I'll quote/paraphrase your recent points, then respond.


YOU> Many other softwares (browsers, windows explorer, MSoffice softwares etc) have this behavior - a child window opened from the main window appears on the same screen as the main window.

ME> And this is what Notepad++ does as well.

YOU> This is not how npp behaves.

ME (new)> Yes it is. What I meant was, the first time Notepad++ EVER opens the Find window, it is guaranteed to be on the same monitor as the Notepad++ main window. However, at that point, you as the user take ownership of the Find window position. If you move it, or if you don't, that current position is now "the position you placed the window at". And that will be the remembered position from that point until the window is moved by you again, or some extreme situation occurs (the position no longer exists due to monitor begin shut off, etc). The "cure" for the extreme situation is that 2nd Ctrl+f press to bring the Find window onto the parent Notepad++ window.


ME> Until the user repositions that window; from that moment on the child window reappears at the position of user placement.

YOU>This is not true either. Use case: Open npp from windows start menu. press ctrl+f. Search something. Close the find window. Don't move the find window. Move npp (main window) to different screen. press ctrl+f again. The find window continues to open on the old monitor. I - the user - have not positioned it on the old monitor.

ME (new)> Yes, you have, because you accepted the position as "yours", when you didn't move the window when it appeared on the "old" monitor. You seem to think that the Find window is supposed to follow the main Notepad++ window around like a lost puppy. Like I said before, if Notepad++ did this to me, I would throw it in the trash. And I'm certain the typical user with multiple monitors would do the same.


ME> Windows need to stay where the user puts them

YOU> Correct. For me, I put it on the same screen as my main window.

ME (new)> That's not a positional absolute. Window locations are positional absolutes.

YOU> If my main window moves, the find window does not move with it.

ME (new)> By this argument, if you have the Find window open and you click+drag the Notepad++ main window title bar up by 10 pixels, the Find window should also move up by 10 pixels. This just doesn't happen. Maybe to you it seems like it should.


YOU> Hence I suggest a boolean preference...

ME (new)> Developers have a saying: Too many options = no option. That means that only really critical functions will be considered for optional behavior via some preference setting. I don't know that your wishes are "mainstream" enough so that enough of the user base would benefit, for the developers to consider adding such functionality. I guess we'll see what happens. Good luck.