Is it possible to make layout changes in the interface of blender?

What I want to do: My aim is to code an operator which removes all unnessesary areas or regions like the 'HEADER' of some areas or the 'INFO' area.

I have taken a look into

# areas[0] is 'PROPERTIES'
# regions[0] is 'HEADER'
bpy.data.screens['Scripting'].areas[0].regions[0].heigth = 0

but it ends with

AttributeError: bpy_struct: attribute "height" from "Region" is read-only

Is there a way to get my values into these variables?

  • $\begingroup$ I may not understand your question. If you have the goal of clearing up the workspace for your personal use .... Blender has put some effort into keystrokes for a flexible screen layout. You can have many different screen layouts ... some are already provided. You can create your own. By using keystroke ............ control down arrow ........... will maximize a given window. Same keystroke to restore. You can also duplicate the entire blender screen and move it to a second physical monitor. $\endgroup$ Sep 17, 2014 at 0:46
  • $\begingroup$ Is there any reason you want to use python to do this? All of this can be done using the GUI.. $\endgroup$
    – gandalf3
    Sep 17, 2014 at 1:31

1 Answer 1


No, currently the screen layout/geometry is read-only from Python's perspective.

(Can only be edited via interactive operators).

You can:

  • Change space types.
  • Change screens.
  • Change scenes.

But not resize spaces/regions.

  • $\begingroup$ Has this changed in 2.8? $\endgroup$
    – VSB
    Jun 21, 2019 at 17:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.