7
$\begingroup$

My screen has different areas: one 3D View and two Image Editors.

I would like to split one of the Image Editors but when I call the bpy.ops.screen.area_split() operator, it's always going to split the 3D View for whatever reason.

Does anyone know how I can split a certain area?

$\endgroup$
1

1 Answer 1

7
$\begingroup$

Iterate through all visible areas and override the context when calling area_split() operator.

Blender 3.2+

import bpy
from bpy import context

for area in context.screen.areas:
    if area.type == 'IMAGE_EDITOR': # 'VIEW_3D', 'CONSOLE', 'INFO' etc. 
        with context.temp_override(area=area):
            bpy.ops.screen.area_split(direction='VERTICAL', factor=0.3)
        break

Blender 2.8+

import bpy

for area in bpy.context.screen.areas:
    if area.type == 'IMAGE_EDITOR': # 'VIEW_3D', 'CONSOLE', 'INFO' etc. 
        override = bpy.context.copy()
        override['area'] = area
        bpy.ops.screen.area_split(override, direction='VERTICAL', factor=0.3)
        break
$\endgroup$
1
  • 1
    $\begingroup$ Was off searchin' for a particular answer on this, didn't see yours. Closed and Re-opened. $\endgroup$
    – batFINGER
    Commented Mar 13, 2021 at 8:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .