Outcome
Give a PME item a repeatable action that moves one boundary of the active Blender area:
bpy.ops.pme.area_move(
"INVOKE_DEFAULT",
area="CURRENT",
edge="TOP",
delta=300,
move_cursor=False,
)This is a relative resize: it moves the selected edge by delta pixels. It does not set an absolute width or height.
Steps
-
Add a Command item to a PME menu.
-
Start with a modest movement so the result is easy to reverse:
bpy.ops.pme.area_move( "INVOKE_DEFAULT", area="CURRENT", edge="TOP", delta=100, move_cursor=False, ) -
Invoke the item from the area you want to resize.
-
Change
edgetoBOTTOM,LEFT, orRIGHTas needed. -
Adjust the magnitude of
delta. If the boundary moves in the opposite direction from the one you want, reverse its sign.
To target a named area instead of the caller, use one of Blender’s area UI types:
bpy.ops.pme.area_move(
"INVOKE_DEFAULT",
area="VIEW_3D",
edge="RIGHT",
delta=-160,
move_cursor=False,
)PME also ships the underlying technique as a reusable example script:
execute_script(
"scripts/examples/command_area_move.py",
area=C.area,
edge="TOP",
delta=300,
move_cursor=False,
)Use the operator for a straightforward menu action. Use the bundled script when you want to build a longer, readable workflow around the resize.
Pitfalls
- Keep
"INVOKE_DEFAULT"in the operator call. The operator performs the resize through itsinvoke()path. - Resizing one area moves a shared boundary, so the neighboring area changes size too.
area="CURRENT"is the safest choice when a screen contains several areas of the same type. A named target selects one matchingui_type; it is not a unique area identifier.- Large deltas can make an area inconveniently small. Test with
100or less before choosing a final preset. - The operation uses Blender’s screen-area movement and briefly warps the pointer to the selected boundary. With
move_cursor=False, PME returns it to its prior position after the move. - This resizes an area inside the active Blender screen. Popup Area windows and Popup Dialogs use different sizing controls.
- The archived reply contains an HTML-escaped one-liner. Use PME 2.1’s operator or bundled example to avoid its quoting problem.
PME 2.1 includes pme.area_move and the bundled command_area_move.py example. The resulting geometry still depends on the screen layout and its neighboring areas.
Related
- Open a temporary Blender editor with PME popup_area
- Run an external Python script from PME
- Diagnose Blender context failures