Here are two plugins, an extension and docker that allow locking/unlocking the resizing of dockers. The extension adds a toggle action that locks all dockers. The docker lets you lock certain dockWidgetAreas. It only partially works on floating dockers, I don’t use them so that is a side effect. Save your workspace before trying it🤠Tested on Win10, Krita 5.2.9.
Download the extension here:
Download the docker here
To install unzip the plugin(s) into the resource/pykrita
folder (settings->manage resources… click open resource folder), or go tools->scripts->import plugin from file
locate your the .zip
restart, enable the plugin(s) in settings->python plugins, and restart again.
Find the toggle action in settings->keyboard shortcuts
, or with a document open, press ctrl+enter and search toggle “toggle lock…”.
The docker can be found in settings->dockers
.
Here are some screenshots, the docker is in the bottom left (I don’t usually have a workspace this cluttered, its just a demo I swear! )
Clicked the center lock so everything is locked.
The motivation for this is that the standard lock button doesn’t lock the widgets completely! Hopefully this compliments the standard lock button on widgets.
I think all DockWidgets that are alone/grouped together need to have the min/max width/height to be the same before they will become “locked”.
I was initially trying to find whatever the QSplitters were responsible for resizing those vertical bars on either side of the canvas, but none of the ones I found seemed unrelated, or inside dockwidgets.
The locking could be modified further to allow vertical or horizontal resizing within dockWidgetArea(s) but I think a global toggle is good enough.
Made with the help of various chatbots, Gemini, Minstral (Le Chat), Deepseek, Claude, etc. Also this StackOverflow solution for finding if a “tabified” dockwidget is “active” or not (isVisible() only indicates whether a dockwidget is removed or not).