Fullscreen after changing workspace

Blender 3.2+ versions now uses temp_override().

import bpy

workspace_name = 'Layout'

bpy.context.window.workspace = bpy.data.workspaces[workspace_name]
for w in bpy.context.window_manager.windows:
    for a in w.screen.areas:
        if a.type == 'VIEW_3D':
            with bpy.context.temp_override(window=w, area=a):
                bpy.ops.screen.screen_full_area()
            break
1 Like