QOwnNotes icon indicating copy to clipboard operation
QOwnNotes copied to clipboard

[I] White flash on opening any new window

Open ANDREW007CZ opened this issue 8 months ago • 14 comments

Expected behaviour

On opening QOwnNotes with dark mode there is only dark content being shown all the time. No white flashing does occur.

Actual behaviour

There is a white (blank) across whole window area when opening a new window - be it QOwnNotes itself or Settings window, any dialog window whatsoever. It is just for a fraction of second just before actual content of the window is shown. It's straining my eyes greatly.

Steps to reproduce

  1. computer with Windows 10/11 (basically on any computer I have encountered, this happened)
  2. system animations are disabled
  3. dark mode is enabled (systemwide)
  4. open QOwnNotes
  5. white flash will most certainly happen

Relevant log output in the Log panel

Expand

Information about the application, settings and environment

Expand

QOwnNotes Debug Information

General Info

Current Date: po bře 17 12:20:19 2025 Version: 25.3.3 Build date: Mar 13 2025 Build number: 1171 Platform: windows (windows) Operating System: Windows 10 Version 2009(!!this is actually wrong, I have Win 11 24H2, build 26100.3476) Build architecture: x86_64 Current architecture: x86_64 Release: GitHub Actions Qt Version (build): 5.15.2 Qt Version (runtime): 5.15.2 Portable mode: no Settings path / key: \HKEY_CURRENT_USER\Software\PBE\QOwnNotes Application database path: C:\Users\ondre\AppData\Roaming\PBE\QOwnNotes\QOwnNotes.sqlite Application arguments: C:\Users\ondre\Apps\QOwnNotes\QOwnNotes.exe Qt Debug: 0 Locale (system): cs_CZ Locale (interface): empty Primary screen resolution: 2560x1440 Screen resolution(s): 2560x1440, 2560x1080 Icon theme: breeze-dark-qownnotes Notes in current note folder: 4 Calendar items: 0 Enabled scripts: 0 Database drivers: QSQLITE, QODBC, QODBC3, QPSQL, QPSQL7

Server Info

serverUrl: empty appIsValid: yes notesPathExists: empty serverVersion: empty appVersion: empty

Spellchecking

Enabled: false Selected language: auto Language codes: empty Language names: empty Application dictionaries path: C:\Users\ondre\AppData\Roaming\PBE\QOwnNotes\dicts

Note folders

currentNoteFolderId: 1

Note folder výchozí

id: 1 isCurrent: yes activeTagId: -1 localPath: C:\Users\ondre\OneDrive\Dokumenty\QOwnNotes remotePath: Notes cloudConnectionId: 1 isShowSubfolders: yes isUseGit: no allowDifferentNoteFileName: yes activeNoteSubFolder name: empty database file: C:\Users\ondre\OneDrive\Dokumenty\QOwnNotes\notes.sqlite

Cloud connections

Cloud connection Výchozí

id: 1 isCurrent: yes serverUrl: empty username: empty accountId: empty

Enabled scripts

Settings

ActiveNoteHistoryItem (NoteHistoryItem): <binary data> Debug/fakeOldVersionNumber (QString): false Debug/fileLogging: empty Editor/CurrentSchemaKey (QString): EditorColorSchema-cdbf28fc-1ddc-4d13-bb21-6a4043316a2f Editor/autoBracketClosing (QString): true Editor/autoBracketRemoval (QString): true Editor/disableCursorBlinking (QString): false Editor/editorWidthInDFMOnly (QString): true Editor/highlightCurrentLine (QString): true Editor/indentSize (int): 4 Editor/removeTrailingSpaces (QString): false Editor/showLineNumbers (QString): false Editor/useTabIndent (QString): false Editor/vimMode (QString): false IssueAssistantDialog/geometry (QByteArray): <binary data> LastUpdateCheck (QDateTime): 2025-03-17T12:11:25.367 LogWidget/criticalLog (bool): true LogWidget/debugLog (bool): true LogWidget/fatalLog (bool): true LogWidget/infoLog (bool): true LogWidget/scriptingLog (bool): true LogWidget/statusLog (bool): true LogWidget/warningLog (bool): true MainWindow/geometry (QByteArray): <binary data> MainWindow/mainToolBar.iconSize (int): 24 MainWindow/menuBarGeometry (QByteArray): <binary data> MainWindow/noteTextEdit.code.font (QString): Courier New,10,-1,2,50,0,0,0,0,0 MainWindow/noteTextEdit.font (QString): MS Shell Dlg 2,10,-1,5,50,0,0,0,0,0 MainWindow/noteTextView.code.font (QString): Courier New,9,-1,2,50,0,0,0,0,0 MainWindow/noteTextView.font (QString): MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0 MainWindow/noteTextView.ignoreCodeFontSize (QString): true MainWindow/noteTextView.refreshDebounceTime (int): 600 MainWindow/noteTextView.rtl (QString): false MainWindow/noteTextView.underline (QString): false MainWindow/noteTextView.useEditorStyles (QString): true MainWindow/noteTextView.useInternalExportStyling (QString): true MainWindow/showNotesFromAllNoteSubFolders (QString): false MessageBoxOverride/windows-light-mode (int): 65536 NoteFolder-1/NoteTabNameList (QStringList): Note 2025-03-17T12.10.45 NoteFolder-1/NoteTabStickinessList (QStringList): empty NoteFolder-1/NoteTabSubFolderPathDataList (QStringList): empty NoteFolder-1/allowDifferentNoteFileName (bool): true NoteHistory-1 (QVariantList): <variant list with 8 item(s)> NoteHistoryCurrentIndex-1 (int): 7 PiwikClientId (QString): <hidden> SearchEngineId (int): 2 SettingsDialog/geometry (QByteArray): <binary data> SettingsDialog/mainSplitterState (QByteArray): <binary data> ShowSystemTray (QString): false StartHidden (QString): false UpdateDialog/geometry (QByteArray): <binary data> WelcomeDialog/geometry (QByteArray): <binary data> acceptAllExternalModifications (QString): false ai/groq/apiKey (QString): <hidden> ai/openai/apiKey (QString): <hidden> ai/responseTimeout (int): 15 allowNoteEditing (bool): true allowOnlyOneAppInstance (QString): true appMetrics/disableAppHeartbeat (QString): false appMetrics/disableTracking (QString): false appMetrics/notificationShown (QString): true autoReadOnlyMode (QString): false autoReadOnlyModeTimeout (int): 30 automaticNoteFolderDatabaseClosing (QString): false checkSpelling (bool): false closeTodoListAfterSave (QString): false cryptoKey (qlonglong): <hidden> currentNoteFolderId (int): 1 currentWorkspace (QString): initial cursorWidth (int): 1 darkMode (QString): true darkModeColors (QString): true darkModeIconTheme (QString): true darkModeTrayIcon (QString): true defaultNoteFileExtension (QString): md demoNotesCreated (QString): true disableAutomaticUpdateDialog (QString): true disableSavedSearchesAutoCompletion (QString): false dockWasInitializedOnce (QString): true enableNoteTree (QString): true enableSocketServer (QString): true enableWebAppSupport (QString): false externalEditorPath (QString): empty fullyHighlightedBlockquotes (QString): false gitCommitInterval (int): 30 gitExecutablePath (QString): empty gitLogCommand (QString): empty guiFirstRunInit (bool): true hideIconsInMenus (QString): false ignoreAllExternalModifications (QString): false ignoreAllExternalNoteFolderChanges (QString): false ignoreNoteSubFolders (QString): ^\. ignoredNoteFiles (QString): empty imageScaleDown (QString): false imageScaleDownMaximumHeight (int): 1024 imageScaleDownMaximumWidth (int): 1024 initialLayoutIdentifier (QString): minimal insertTimeFormat (QString): empty interfaceFontSize (int): 11 interfaceLanguage (QString): empty internalIconTheme (QString): true itemHeight (int): 15 legacyLinking (QString): false localTrash/autoCleanupDays (int): 30 localTrash/autoCleanupEnabled (QString): true localTrash/supportEnabled (QString): true markdownHighlightingEnabled (QString): true maxNoteFileSize (int): 1048576 navigationPanelAutoSelect (QString): true navigationPanelHideSearch (QString): false networking/ignoreSSLErrors (QString): true networking/proxyType (int): 2 newNoteAskHeadline (QString): false noteEditIsCentralWidget (QString): true noteFileExtensionList (QStringList): md, txt noteListPreview (QString): false noteSaveIntervalTime (int): 10 noteSubfoldersPanelDisplayAsFullTree (QString): false noteSubfoldersPanelHideSearch (QString): false noteSubfoldersPanelOrder (int): 0 noteSubfoldersPanelShowFullPath (QString): false noteSubfoldersPanelShowNotesRecursively (QString): false noteSubfoldersPanelShowRootFolderName (QString): false noteSubfoldersPanelSort (int): 1 noteSubfoldersPanelTabsUnsetAllNotesSelection (QString): false notesPanelOrder (int): 1 notesPanelSort (int): 1 notesPath (QString): C:/Users/ondre/OneDrive/Dokumenty/QOwnNotes notifyAllExternalModifications (QString): false overrideInterfaceFontSize (QString): false ownCloud/supportEnabled (QString): false ownCloud/todoCalendarBackend (int): 3 ownCloud/todoCalendarCalDAVPassword (QString): <hidden> ownCloud/todoCalendarCalDAVServerUrl (QString): empty ownCloud/todoCalendarCalDAVUsername (QString): empty ownCloud/todoCalendarCloudConnectionId (int): 1 ownCloud/todoCalendarDisplayNameList (QStringList): empty ownCloud/todoCalendarEnabledList (QStringList): empty ownCloud/todoCalendarEnabledUrlList (QStringList): empty ownCloud/todoCalendarUrlList (QStringList): empty ownCloudInfo/appIsValid (QString): true ownCloudInfo/connectionErrorMessage (QString): empty ownCloudInfo/notesPathExistsText (QString): empty ownCloudInfo/serverVersion (QString): empty recentNoteFolders (QStringList): C:/Users/ondre/Apps/QOwnNotes/Notes restoreCursorPosition (QString): true restoreLastNoteAtStartup (QString): true restoreNoteTabs (QString): true savedSearches/noteFolder-1 (QStringList): Note 2025-03-17T12.10.45, Note 2025-03-17T11.58.35, Note 2025-02-27T15.34.12, Note 2025-02-27T15.34.08, Note 2025-02-27T15.33.17, Note 2025-02-27T15.33.16, Note 2025-02-27T14.03.59, Note 2025-02-27T10.41.34 showMatches (QString): true showMenuBar (bool): true showStatusBar (bool): true showStatusBarNotePath (QString): true showStatusBarRelativeNotePath (QString): false startInReadOnlyMode (QString): false systemIconTheme (QString): false tagWasAddedToNote (QString): true taggingShowNotesRecursively (QString): false tagsPanelHideNoteCount (QString): false tagsPanelHideSearch (QString): false tagsPanelOrder (int): 0 tagsPanelSort (int): 0 todoCalendarSupport (QString): true toolbar/1/items (QStringList): actionFormat_text_bold, actionFormat_text_italic, actionStrike_out_text, actionInsert_code_block, actionInsert_block_quote toolbar/1/name (QString): formattingToolbar toolbar/1/title (QString): formátovat panel nástrojů toolbar/2/items (QStringList): actionInsert_text_link, actionInsert_image, actionInsert_current_time toolbar/2/name (QString): insertingToolbar toolbar/2/title (QString): vloží panel nástrojů toolbar/3/items (QStringList): action_Encrypt_note, actionEdit_encrypted_note, actionDecrypt_note toolbar/3/name (QString): encryptionToolbar toolbar/3/title (QString): panel nástrojů pro šifrování toolbar/4/items (QStringList): actionEnable_AI, actionAiBackendComboBox, actionAiModelComboBox toolbar/4/name (QString): aiToolbar toolbar/4/title (QString): AI toolbar toolbar/5/items (QStringList): actionWorkspaceComboBox, actionStore_as_new_workspace, actionRemove_current_workspace, actionRename_current_workspace, actionSwitch_to_previous_workspace, actionUnlock_panels, , actionToggle_distraction_free_mode, action_Increase_note_text_size, action_Decrease_note_text_size, action_Reset_note_text_size toolbar/5/name (QString): windowToolbar toolbar/5/title (QString): okno panelu nástrojů toolbar/6/items (QStringList): action_Quit toolbar/6/name (QString): quitToolbar toolbar/6/title (QString): zavřít panel nástrojů toolbar/7/items (QStringList): action_Quit toolbar/7/name (QString): quitToolbar toolbar/7/title (QString): zavřít panel nástrojů toolbar/size (int): 7 useNoteFolderButtons (QString): false useUNIXNewline (QString): false webAppClientService/serverUrl (QString): wss://app.qownnotes.org webAppClientService/token (QString): <hidden> webSocketServerService/bookmarksNoteName (QString): empty webSocketServerService/bookmarksTag (QString): bookmarks webSocketServerService/commandSnippetsNoteName (QString): Commands webSocketServerService/commandSnippetsTag (QString): commands webSocketServerService/port (int): 22222 workspace-initial/name (QString): Minimální workspace-initial/noteSubFolderDockWidgetVisible (QString): true workspace-initial/windowState (QByteArray): <binary data> workspaces (QStringList): initial

System environment

ALLUSERSPROFILE: C:\ProgramData APPDATA: C:\Users\ondre\AppData\Roaming CommonProgramFiles: C:\Program Files\Common Files CommonProgramFiles(x86): C:\Program Files (x86)\Common Files CommonProgramW6432: C:\Program Files\Common Files COMPUTERNAME: AORUS ComSpec: C:\WINDOWS\system32\cmd.exe DriverData: C:\Windows\System32\Drivers\DriverData HOMEDRIVE: C: HOMEPATH: \Users\ondre LOCALAPPDATA: C:\Users\ondre\AppData\Local LOGONSERVER: \\AORUS NUMBER_OF_PROCESSORS: 16 OneDrive: D:\whs\OneDrive - Warhorse Studios s.r.o OneDriveCommercial: D:\whs\OneDrive - Warhorse Studios s.r.o OneDriveConsumer: C:\Users\ondre\OneDrive OS: Windows_NT Path: C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Users\ondre\AppData\Local\Programs\Python\Python313;C:\Program Files (x86)\Pulse Secure\VC142.CRT\X64\;C:\Program Files (x86)\Pulse Secure\VC142.CRT\X86\;C:\Program Files (x86)\Common Files\Pulse Secure\TNC Client Plugin\;C:\Program Files\dotnet\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA app\NvDLISR;C:\Program Files\Perforce\;C:\Program Files\Inkscape\bin;C:\Users\ondre\scoop\shims;C:\Users\ondre\AppData\Local\Programs\Python\Python313\Scripts\;C:\Users\ondre\AppData\Local\Programs\Python\Python313\;C:\Users\ondre\AppData\Local\Microsoft\WindowsApps;C:\Users\ondre\Apps\mpv;C:\Users\ondre\Apps\ffmpeg\bin;C:\Program Files\7-Zip;C:\Users\ondre\Apps\MediaInfo_CLI_24.11_Windows_x64;C:\Users\ondre\Apps\yt-dlp;c:\users\ondre\.local\bin PATHEXT: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC PROCESSOR_ARCHITECTURE: AMD64 PROCESSOR_IDENTIFIER: Intel64 Family 6 Model 158 Stepping 13, GenuineIntel PROCESSOR_LEVEL: 6 PROCESSOR_REVISION: 9e0d ProgramData: C:\ProgramData ProgramFiles: C:\Program Files ProgramFiles(x86): C:\Program Files (x86) ProgramW6432: C:\Program Files PSModulePath: %ProgramFiles%\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules PUBLIC: C:\Users\Public SystemDrive: C: SystemRoot: C:\WINDOWS TEMP: C:\Users\ondre\AppData\Local\Temp TMP: C:\Users\ondre\AppData\Local\Temp USERDOMAIN: AORUS USERDOMAIN_ROAMINGPROFILE: AORUS USERNAME: ondre USERPROFILE: C:\Users\ondre windir: C:\WINDOWS __COMPAT_LAYER: DetectorsAppHealth

ANDREW007CZ avatar Mar 17 '25 11:03 ANDREW007CZ

I've never seen this behavior and can't reproduce this. Could you maybe create a video of the startup process with the flash?

system animations are disabled

Is this a crucial step?

pbek avatar Mar 17 '25 12:03 pbek

here is a link to video captured with OBS Studio: https://1drv.ms/v/c/fce8fede653dea6e/EWubOeaIid9LpIkZPjG40NQBjwShhyufiNzHtsxUPmnwTw?e=au9Z5X it's from my personal OneDrive, you may need to download it to play it.

Disabling animations exposes the problem more. Otherwise, sometimes the flash can get hidden behind the animation.

ANDREW007CZ avatar Mar 17 '25 12:03 ANDREW007CZ

Thank you. I've never seen that anywhere for any Qt QWidget app. Looks like a Qt redrawing problem with Windows. 🤔 I don't think I can do anything about it.

pbek avatar Mar 17 '25 14:03 pbek

Thank you for quick reply. I've seen it with GIMP, Krita and also with apps like Microsoft Edge.. on many computers. I think it's some global bug with Windows. On the other hand, I've seen apps that eliminated this. That was my hope and reason I posted it :)

ANDREW007CZ avatar Mar 17 '25 14:03 ANDREW007CZ

All those apps use different frameworks. Really must be a Windows issue or maybe just an issue on your hardware?

pbek avatar Mar 17 '25 14:03 pbek

Maybe. But if you try to google for that issue, forums are full of this problem happening. Only because I've encountered programs without this problem was the reason I tried to post this. Feel free to close this is there is nothing you can do about this. Thanks for your time and for such amazing app itself! :)

ANDREW007CZ avatar Mar 17 '25 14:03 ANDREW007CZ

Thank you. 😁 So how did those apps fix the issue?

pbek avatar Mar 17 '25 15:03 pbek

if I only knew that, I would've come up with a solution right away :) only thing I somewhere read was something about setting some "canvas"

ANDREW007CZ avatar Mar 17 '25 16:03 ANDREW007CZ

Then we don't know for sure if they fixed something, don't we?

pbek avatar Mar 17 '25 18:03 pbek

true :)

ANDREW007CZ avatar Mar 17 '25 21:03 ANDREW007CZ

This issue is stale because it has been open for 30 days with no activity.

github-actions[bot] avatar May 12 '25 02:05 github-actions[bot]

getting back to this since it still drives me a bit crazy every even smallest pop-up window flashes white in QOWnNotes otherwise I quite love the app

I've found some additional info that might help..? https://forum.qt.io/topic/115449/can-someone-help-me-undertand-why-this-white-background-never-really-goes-away/4 https://devblogs.microsoft.com/oldnewthing/?p=40943 https://stackoverflow.com/questions/23927175/qt-5-3-qt-quick-applications-shows-white-screen

ANDREW007CZ avatar May 16 '25 07:05 ANDREW007CZ

If it's about a stylesheet, you can try to set those with the Custom user interface styling script. But if it's about testing code, you could go the route to build qownnotes yourself to try things out: https://www.qownnotes.org/installation/building.html

If you find something, please let me know!

pbek avatar May 16 '25 17:05 pbek

This issue is stale because it has been open for 30 days with no activity.

github-actions[bot] avatar Jun 16 '25 02:06 github-actions[bot]

This issue was closed because it has been inactive for 14 days since being marked as stale.

github-actions[bot] avatar Jun 30 '25 02:06 github-actions[bot]

I have found a solution for probably exactly the same issue but it was for Notepad++.

https://github.com/notepad-plus-plus/notepad-plus-plus/pull/10639

They first apply background of the theme to client area and then they use Window Update Lock up until all toolbars are rendered in place, then release the lock.

ANDREW007CZ avatar Jul 14 '25 18:07 ANDREW007CZ

The styling of the dark mode is done with a Qt stylesheet, not by setting some color... ️🤷🏻 Do you still have the issue in the latest release, which uses Qt 6.9.1?

pbek avatar Jul 14 '25 18:07 pbek

yes I do

Probably the main thing from my previous post is that Window Update Lock. The Window gets white background when it hangs (when the app is not responding for a moment). This is like some sort of Windows standard thing to do to notify user that window is not responding. Maybe it happens on start. Have a look at that Notepad++ Pull request please.

ANDREW007CZ avatar Jul 14 '25 18:07 ANDREW007CZ

Hm, it is using the Windows native API and libraries, which QOwnNotes doesn't. 🤔

pbek avatar Jul 14 '25 18:07 pbek

I thought there is some equivalent for that in Qt :/

ANDREW007CZ avatar Jul 15 '25 17:07 ANDREW007CZ