Very interesting – I’m away from my Windows machine for a few days, but could you please make a screen recording for me so I can see exactly what’s happening?
observation: This problem still happens after some time Dorico has been running on the PC.
Then:
when I restart Dorico, nothing changes.
when I restart the whole PC and then start Dorico, it’s ok (at least for some time, several hours maybe, I don’t know what triggers this, it just happens eventually)
Maybe there’s some kind of memory leak in the underlying framework that causes this? This didn’t occur in Dorico v 5.0 and earlier.
Now it happened again. I had dorico running for a long time and I didn’t do anything in it for about 10 hours. Now I resized its window and the menu bar vanished. Dorico Diagnostics.zip (1.2 MB)
Maybe you could also do a remote session with me (teamviewer?), so you can investigate this on my computer? I would not reboot the PC in that case.
Well, this was very annoying for me - I tend to resize windows a lot a and I don’t like restarting the computer.
So now, whenever this behaviour occurs, I run an autohotkey script (I click a desktop shortcut in the corner of the screen) which moves a Dorico window one pixel left and back if the window has been resized.
#Requires AutoHotkey v2.0
Persistent
DORICO_IDENTIFIER := "ahk_exe Dorico5.exe ahk_class Qt650QWindowIcon"
prevWidth := 0
prevHeight := 0
width := 0
height := 0
xPos := 0
yPos := 0
; Get the initial size and position of the Dorico window
try {
WinGetPos(&xPos, &yPos, &width, &height, DORICO_IDENTIFIER)
prevWidth := width
prevHeight := height
}
; Timer to check window size every 1000 milliseconds (1 second)
SetTimer(CheckWindowSize, 1000)
CheckWindowSize() {
global
; Get the current size and position of the Dorico window
try {
WinGetPos(&xPos, &yPos, &width, &height, DORICO_IDENTIFIER)
}
catch TargetError {
return
}
; Check if the window has been resized
if (width && height && (width != prevWidth || height != prevHeight)) {
; Update the stored size
prevWidth := width
prevHeight := height
; Move the window 1 px left and then back
WinMove(xPos - 1, yPos,,, DORICO_IDENTIFIER)
WinMove(xPos, yPos,,,DORICO_IDENTIFIER)
}
}