Lailloken / Lailloken-UI

Path of Exile UI and QoL overlay. Emphasizes ease of use, minimalist design, and seamless integration.
MIT License
577 stars 28 forks source link

act tracker can get stuck off screen if resolution lowers #411

Closed mrooney closed 1 month ago

mrooney commented 1 month ago

Hi there and thanks for this fantastic collection of tools! I use a laptop and regularly switch between a large monitor and playing on the laptop screen itself. I like to have the act tracker in the bottom middle, but when I go back to playing on the laptop monitor, the act tracker is stuck off screen and I don't know how to get it back besides editing the .ini file.

Suggestions:

Thanks again!

Lailloken commented 1 month ago

Thanks for reporting and for your suggestions!

Movable widgets usually auto-correct if out of bounds (i.e. they're placed as close as possible to the target location, while staying within the current screen-area). Due to an oversight, the act-tracker widget doesn't do that.

As long as you switch between two fixed resolutions and restart the tool in-between switching, screen-checks should work without a problem at each resolution (there should be individual ini\screen-checks (XXXXp).ini files and img\Recognition (XXXXp) folders. I very often switch back and forth when testing UI scaling at different resolutions, but maybe something broke recently. I'll check it later.

Lailloken commented 1 month ago

Also: "bottom, middle" is the default position, so right-clicking the white square in the widget should put it there at every resolution (unless you mean "bottom, middle" but slightly above the exp-bar).

mrooney commented 1 month ago

Thanks! I am indeed always switching between two fixed resolutions. Are you saying that I need to restart the tool before launching PoE at the new resolution? I'm definitely not doing that, because I would normally forget until I see the tool visible and the act tracker missing 🥲. But I am happy to try to remember to reload the script it via the taskbar before launching on the laptop if that's a workaround. If is it possible to apply the out of bounds check to the act tracker as well, that would be extra awesome!

Lailloken commented 1 month ago

is it possible to apply the out of bounds check to the act tracker as well, that would be extra awesome!

I'll fix it for the next release. I would normally publish a hotfix for that but I'm pretty deep into implementing updates and new features for 3.25.

The way I do it is: switch monitors in the in-game settings, wait for it to switch over, then confirm in-game to keep these settings, and also click save in the in-game options. Then I just restart the tool, and it figures it out itself.

mrooney commented 1 month ago

Awesome, thanks! I don't use multiple monitors, just either laptop display or my ultrawide. I did try closing PoE, unplugging the monitor, reloading Lailloken, and launching PoE. Lailloken says it has to restart due to resolution changes, but when it does the Act Tracker is still off screen. For now I'll just pin the ini in my Quick Access so I can tweak it more easily. Looking forward to the hotfix and also your new 3.25 changes!

Lailloken commented 1 month ago

Should be fixed in v1.54.3. I'll leave this open for now, maybe this requires more feedback.

mrooney commented 1 month ago

Thanks! I installed the new version via the updater, and it restarted. Then I moved the dialog and restarted Lailloken again (not switching monitors) as a sort of control, and ended up with the following error (and act tracker stuck) image

Lailloken commented 1 month ago

Hmm, that's an "initialization error". Basically, at script startup the script checks the position of the PoE-client, creates an invisible window in its center, then maximizes said window. This is to check which monitor the client is running on and to get the monitor's resolution and set the bounds (the exact bounds the act-tracker didn't respect when you first encountered issues).

The error states invalid option: x y maximize, which means it tried to place the invisible window at x-coordinate blank and y-coordinate blank. So for some reason the script couldn't retrieve the position of your PoE-window. That usually happens when launching the tool while the game is minimized or invisible for a different reason.

EDIT: I double-checked, and there is a check in place that maximizes the PoE-client in case it's minimized. Maybe there's a timing issue, and the tool tries to move on before the window has been fully restored. I just got up and need to walk the dog, but I'll test asap.