Bug 480677

Summary: Canvas-only mode and Normal mode remember dockers layout separately, unless restarting Krita
Product: [Applications] krita Reporter: Tyson Tan <tysontanx>
Component: DockersAssignee: Krita Bugs <krita-bugs-null>
Status: REPORTED ---    
Severity: normal CC: halla
Priority: NOR    
Version First Reported In: nightly build (please specify the git hash!)   
Target Milestone: ---   
Platform: Other   
OS: All   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Tyson Tan 2024-02-01 13:26:40 UTC
If Toolbox and dockers are set to not hidden in Canvas-only mode, dockers layout (positions and their show/hide states) are remembered separately in Canvas-only mode for the current session. Upon exiting Canvas-only mode, every docker layout change will be reverted to what they were in Normal mode.

This is an unwanted behavior. It leads to confusion to those who use Canvas-only mode with some dockers shown. 

How to reproduce:
1. Configure Krita > Canvas-only settings > uncheck "Toolbox and dockers"
2. Press Tab to enter Canvas-only mode
3. Close a docker, or move its position
4. Press Tab again to exit Canvas-only mode
5. Dockers are reverted to what they were in Normal mode.

Workaround:
1. Only change dockers in normal mode
2. After changing the dockers, restart Krita
3. The changed dockers layout now works in Canvas-only mode

Tested with krita-5.3.0-prealpha-a8f6ca21b0-x86_64.appimage
Comment 1 Halla Rempt 2024-02-07 09:38:49 UTC
I'm not sure this is actually fixable, because it's tied in with how Qt remembers dockers: through saving the entire window state. Canvas-only mode is a separate window state from normal mode, so it saves the dockers separately.