Sometimes it may be necessary to prevent the mouse cursor from going beyond the boundaries of a particular Blender area. For example, when grabbing and dragging a mesh with the mouse, the captured mesh should not leave the 3D Viewport area, not to be above another type of area, for example, above the Node Editor or Text Editor areas.
Remote data storage is becoming more and more useful. Various online libraries of models, materials, textures and assets are becoming more and more popular. Databases are most often used to store data in such libraries. PostgreSQL is one of the most advanced and functional open source databases that we can connect to and work with through the Blender Python API.
Pressing the “Purge” button cleans the current open scene – removes all unused objects from it (mesh, nodes, materials, textures, etc.). However, this button is located very inconveniently, in the Outliner header and is visible only in the “Orphan Data” Outliner mode. For quick access to this button we can move it to the header of the 3D Viewport.
Creating an operator in the Blender Python API, its description is usually specified in its “bl_description” parameter. However, quite often the same operator performs different actions in different cases, and a constant description does not describe all its capabilities. In this case, a dynamic description can be given to an operator.