Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KeePassXC can be stuck off-screen on Windows 10 #2894

Closed
CraigOrrell opened this issue Mar 27, 2019 · 33 comments
Closed

KeePassXC can be stuck off-screen on Windows 10 #2894

CraigOrrell opened this issue Mar 27, 2019 · 33 comments

Comments

@CraigOrrell
Copy link

KeePassXC suddenly won't open on windows 10. I upgraded from 2.3.4 to 2.4.0 about 5 days ago and the problem only started yesterday.

I click to open the app and the usual thing that opens asking me to enter my master password doesn't show up.

There is the KeePassXC logo in the bar at the bottom of the screen on the left and when I use Ctrl tab I see a window for it but nothing opens when I click on the icon or release the tab key. The KeePassXC icon on the right in the system tray changes from green to grey.

Any ideas of a solution.

@droidmonkey
Copy link
Member

droidmonkey commented Mar 27, 2019

I bet its starting on another desktop. Try WIN+TAB which will show all applications and desktops. WIN is the windows key on the keyboard.

@CraigOrrell
Copy link
Author

CraigOrrell commented Mar 27, 2019

I bet its starting on another desktop. Try WIN+TAB which will show all applications and desktops. WIN is the windows key on the keyboard.

When I try that it does show as one of the windows. When i click on it though nothing opens up. It is interesting because the preview as the preview only has the Name of the window across the top but the rest of it is just a white screen.

Also tried uninstalling and reinstalling. Same problem.

@CraigOrrell
Copy link
Author

Hopefully this bug is fixed in version 2.4.0 because i liked it better while it was working but for now I was able to find all the old versions of KeePassXC and reinstall the last version I had that was working!

Here is where I found the link for the old files in case someone else runs into this problem. https://github.com/keepassxreboot/keepassxc/releases

@droidmonkey
Copy link
Member

droidmonkey commented Mar 27, 2019

At this point there is nothing to fix as it is not happening to anyone else, myself included.

@phoerious phoerious changed the title KeePassXC KeePassXC will not open Mar 28, 2019
@luzat
Copy link
Contributor

luzat commented Apr 10, 2019

For me KeePassXC 2.4.0 is also starting off-screen on Windows 10 (it is opening, the window is just placed outside of the viewport). This did not happen before (2.3.x), but now I do have to move the windows on-screen (hover over task icon for KeePassXC, wait for window thumbnail to show up, right-click that, click "Move", use any cursor key to have the mouse capture the window, place it with the mouse) after each startup. This happens on a dual-screen setup with 2x4K @ 150% scaling and Nvidia drivers, if that helps with reproducing the issue. I did not yet try to downgrade again.

@luzat
Copy link
Contributor

luzat commented Apr 10, 2019

I am not sure whether it started right away for me; it probably started only a few days ago. @CraigOrrell describes it as starting only a few days after updating. Let's see, this might indeed be an Nvidia issue. Nvidia released a driver (419.67) one day before (2019-03-25) this started to happen for @CraigOrrell and I do know that I have updated only recently to that version. Now, the problem may be with 419.67, possibly multi-screen setups and maybe some incompatibility with KeePassXC. Not sure whether KeePassXC or Nvidia are at fault here, but it might be a combination of 2.4.0+419.67...?

@CraigOrrell
Copy link
Author

I also have a dual monitor setup. I use a Lenovo Thunderbolt 3 Graphics Dock. Featuring an integrated NVIDIA GeForce GTX 1050 card. I don't recall if the problem was present when I had it unplugged from the dock. (I might have not used it on the go when that problem was present). @luzat, Are you using a laptop? If so does it happen when you are using the laptop's integrated graphics card?

Happy to see the whole "nothing to fix as it is not happening to anyone else, myself included." was a bit of a knee jerk response." Hopefully this apparent compatibility issue gets fixed up in time.

@phoerious
Copy link
Member

phoerious commented Apr 10, 2019

We cannot fix anything that we cannot reproduce and where we don't known what's causing it.
Can you guys please try renaming your config file temporarily and see if that fixes it? You will find it in AppData/Local/keepassxc. If this is really a bug in 2.4.0 then we must most likely blame the newer Qt version.

@andkopp
Copy link

andkopp commented May 9, 2019

I was facing the exact same problem on a laptop running 2.41 on Windows 1809. The problem has only occured with the integrated screen but not when using the noteboook's dock and a dual monitor setup.

@phoerious Renaming the config file solved the issue for me. KeePassXC is now opening again.

@droidmonkey
Copy link
Member

Definitely opening off screen

@steffanx
Copy link

steffanx commented May 12, 2019

Same issue here. I was unable to get the window back. The preview in the taskbar and the desktop overview shows an empty white window. I fiddled a bit with the configuration properties and it seems the MainWindowGeometry is causing it. I have to purge the value to have the window show up again. I could share the original ByteArray value (i assume it does not have any semi-sensitive information in it?)

Version: 2.4.1 on Windows 10.

Edit: Now i re-read the other comments it might be a slightly different issue. I was unable to get the window back using the move function.

@clemenssielaff
Copy link

Same issue here as well. Running 2.4.1 64bit on a laptop, dual screen setup at home but the problem occurred on the road with only the build-in screen.

Some additional system information:
Microsoft Windows 10 Home
Version 10.0.17763 Build 17763
GPU1 Intel(R) UHD Graphics 630
Driver Version 25.20.100.6471
GPU2 NVIDIA GeForce GTX 1050 Ti
Driver Version 25.21.14.1917

Removing the config directory (HOME)/AppData/Local/keepassxc worked for me as well while trying to move the window, alt+tab, rearranging windows or using win+arrow keys all did nothing.
Thanks for the suggestion!

@roboticistmark
Copy link

Same issue here :
OS Name: Microsoft Windows 10 Pro
Version: 10.0.17134 Build 17134
System Type: x64-based PC
Processor : Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz, 2592 Mhz

Running KeePassXC 2.4.1 on a dual screen setup laptop. Also can't move the window back. it seems to be in a fixed pixel location which is offscreen and can't be moused onto, rather than a relative location to the "primary screen"

@droidmonkey droidmonkey changed the title KeePassXC will not open KeePassXC can be stuck off-screen on Windows 10 May 27, 2019
@droidmonkey droidmonkey self-assigned this May 27, 2019
@droidmonkey droidmonkey added this to the v2.4.2 milestone May 27, 2019
@droidmonkey
Copy link
Member

Did some research on this one... apparently Qt is supposed to detect if the application is trying to open off-screen and move it back on screen. This might be a bug in Qt 5.12.

https://doc.qt.io/qt-5/qwidget.html#restoreGeometry

This might be related https://bugreports.qt.io/browse/QTBUG-70721

@droidmonkey droidmonkey modified the milestones: v2.4.2, v2.5.0 May 30, 2019
@roboticistmark
Copy link

roboticistmark commented Jun 19, 2019

Issue appears to be resolved in 2.4.3, I can no longer reproduce it when disconnecting the extra screen

Scratch that comment

Issue is still present in 2.4.3 same laptop same monitor setup, difference being which screen the GUI is located on when the laptop is disconnected, and if the screens are pulled out before or after hybernation

@roboticistmark
Copy link

As a workaround you can force the window to maximise using the task bar preview, and then it comes in off the other screen location

@droidmonkey
Copy link
Member

Please be explicit about what state causes the failure.

@roboticistmark
Copy link

roboticistmark commented Jun 24, 2019

Sure thing:

Dell Laptop using two external screens, one DisplayPort, the other HDMI, Windows set to Desktop:Extend so all three screens are one large pixel space (not mirrored, or alternative win10 "Desktops" ), DisplayPort screen is set as primary (# 1) screen, laptop built-in screen is # 2. Open KeePassXC, move to laptop screen # 2, close KeePassXC, close the lid of the laptop (Windows Sleep)

Unplug the screens. Open laptop, wake up windows, open KeePassXC, app shows as Open on the taskbar (preview shows) but is not onscreen (new primary # 1 being the laptop screen). Can minimise app to taskbar but clicking "show" places it back off to the right where Screen # 2 might have been, can't mouse onto the KeePassXC GUI as it's outside screen area.

Simple recovery is as above workaround - maximise forces the resize to Screen # 1 dims. can then resize as normal. but looks like the same QT bug

@droidmonkey
Copy link
Member

Yes this is most definitely a Qt bug. Does exiting and re-starting KeePassXC in this broken state cause it to move back to the laptop screen?

@droidmonkey droidmonkey removed this from the v2.5.0 milestone Jun 24, 2019
@roboticistmark
Copy link

No, using the taskbar preview to close and then restarting the app seems to keep it in the same postion as far as I can tell, same with using the Task Manager to kill it and restart.

@droidmonkey
Copy link
Member

droidmonkey commented Jun 24, 2019

Do you have the tray icon enabled? If so closing from the taskbar will minimize it to tray. Killing from task manager results in the window position not being saved on exit (which may or may not matter). Either way, Qt should be re-positioning the window to be "on-screen" when we try to restore the window geometry.

For my testing purposes, can you paste the value of MainWindowGeometry and MainWindowState found in 'c:/users/[username]/AppData/Local/keepassxc/keepassxc.ini` after you exit KeePassXC in the failed state (not killed).

example: MainWindowGeometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x1\xbb\0\0\0\xf7\0\0\x5\x8b\0\0\x3\xab\0\0\x1\xbc\0\0\x1\x16\0\0\x5\x8a\0\0\x3\xaa\0\0\0\0\0\0\0\0\a\x80\0\0\x1\xbc\0\0\x1\x16\0\0\x5\x8a\0\0\x3\xaa)

@roboticistmark
Copy link

roboticistmark commented Jun 25, 2019

current settings: "Show a system tray icon" : unchecked
MainWindowGeometry=@bytearray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\b}\0\0\0z\0\0\r\xca\0\0\x3`\0\0\b~\0\0\0\x99\0\0\r\xc9\0\0\x3_\0\0\0\x1\0\0\0\0\a\x80\0\0\b~\0\0\0\x99\0\0\r\xc9\0\0\x3_) not sure if that apostrophe should be there, but it's in the .ini file

@roboticistmark
Copy link

can reproduce exactly now, current geometry string is :

MainWindowGeometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\xff\xff\xf9\xb7\0\0\0v\xff\xff\xff\x4\0\0\x3[\xff\xff\xf9\xb8\0\0\0\x95\xff\xff\xff\x3\0\0\x3Z\0\0\0\x1\0\0\0\0\a\x80\xff\xff\xf9\xb8\0\0\0\x95\xff\xff\xff\x3\0\0\x3Z)

@droidmonkey
Copy link
Member

droidmonkey commented Jun 25, 2019

With either one of those bytearrays, KeePassXC starts on my primary monitor in the middle (indicating it rejected the geometry). Both of those bytearrays also contain invalid characters (\x3[ and \x3Z are not valid).

@jd-mtb
Copy link

jd-mtb commented Sep 3, 2019

Hi,
I have been experiencing this exact issue (opens on non existent screen and WIN+TAB or other hotkeys refuse to move the window around) as well at least when using laptops with attached monitors. Simply removing the "GUI" section from my keepassxc.ini config before starting KeePassXC allows me to have it open on the 'current' main screen next load.

While this happens to me frequently I am unable to reliably reproduce at this time. I will try to find a pattern that causes this. My work laptop is the one I have noted this on and it frequently is on and off the dock as well as going to sleep.

Thanks, J

@droidmonkey
Copy link
Member

I'm fairly confident this is a Qt bug

@jd-mtb
Copy link

jd-mtb commented Sep 3, 2019

I believe you if you think it is likely a framework issue with your familiarity with the code. I would have thought it best to try and make that certain and then open an issue with their project but I am not really positive if that's the case. Do you know how upstream issues are normally handled? (I don't)

@phoerious
Copy link
Member

I would even blame Windows here. Opening a window off-screen shouldn't be possible.
In any case, you can always right-click the taskbar entry and then choose "Move" to get your window back.

@dpb657
Copy link

dpb657 commented Nov 26, 2019

I am Having a similar issue. When I click the X in the upper right corner of the main window to close and exit from KeepassXC the window closes and the icon on the task bar no longer shows the process as running. But i cannot start a new KeepassXC process either. I find in the task manager's detailed view that there is still a running KeepassXC process. When I end that process I can start a new KeepassXC and the sign in page appears.

@jd-mtb
Copy link

jd-mtb commented Dec 20, 2019

@roboticistmark @phoerious I haven't had this issue occur in a bit (I think once in either sept / oct but not since), have either of you? Perhaps it was fixed upstream? This was happening about weekly prior but I could never draw a pattern of cause so I'm just guessing here. I didn't see any notes about updating QT at all in the releases so it seems not to be tracked there and I don't know enough from the source to figure that out.

@droidmonkey
Copy link
Member

droidmonkey commented Dec 20, 2019

We certainly didn't touch anything in our code regarding this. It could very well have been a bug between Qt and Windows 10 and it was fixed on the Windows side. I am closing because its not reproducible and seems to be resolved (no new complaints received).

@Philldomd
Copy link

This is still an issue on 2.4.3, i can replicate it. If i connect my laptop to a dockingstation with 2 monitors then move the window to non primary screen and then restarts computer and remove dockinstation. Then the window starts offscreen. The only solution was geometry fixing in my case.

@david-joaquin-corredera-de-colsa

This happened to me in Windows 11: I was using yesterday a secondary monitor with my latptop at work in the offie. Keepass was in the secondary monitor. Today at home I only have my laptop (no secondary monitor). Keepass stays out of the main monitor ... but any suggested method I found out there is not working (specially because the cascade windows functionality seems to have been removed in Windows 11 ...).
Windows button > Settings > System > Display > expand Multiple Displays drop-down > disable the button "remember window locations based on monitor connection"
This worked for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests