user: Show practical ways to work with Screen Operators in a Blender add-on or script – include code.

assistant: # Screen Operators

bpy.ops.screen.actionzone(*\**, *modifier=0*)
:   Handle area action zones for mouse actions/gestures

    Parameters:
    :   **modifier** (*int in* *[**0**,* *2**]**,* *(**optional**)*) – Modifier, Modifier state

bpy.ops.screen.animation_cancel(*\**, *restore_frame=True*)
:   Cancel animation, returning to the original frame

    Parameters:
    :   **restore_frame** (*boolean**,* *(**optional**)*) – Restore Frame, Restore the frame when animation was initialized

bpy.ops.screen.animation_play(*\**, *reverse=False*, *sync=False*)
:   Play animation

    Parameters:
    :   - **reverse** (*boolean**,* *(**optional**)*) – Play in Reverse, Animation is played backwards
        - **sync** (*boolean**,* *(**optional**)*) – Sync, Drop frames to maintain framerate

bpy.ops.screen.animation_step()
:   Step through animation by position

bpy.ops.screen.area_close()
:   Close selected area

bpy.ops.screen.area_dupli()
:   Duplicate selected area into new window

bpy.ops.screen.area_join(*\**, *source_xy=(0, 0)*, *target_xy=(0, 0)*)
:   Join selected areas into new window

    Parameters:
    :   - **source_xy** (*int array* *of* *2 items in* *[**-inf**,* *inf**]**,* *(**optional**)*) – Source location
        - **target_xy** (*int array* *of* *2 items in* *[**-inf**,* *inf**]**,* *(**optional**)*) – Target location

bpy.ops.screen.area_move(*\**, *x=0*, *y=0*, *delta=0*)
:   Move selected area edges

    Parameters:
    :   - **x** (*int in* *[**-inf**,* *inf**]**,* *(**optional**)*) – X
        - **y** (*int in* *[**-inf**,* *inf**]**,* *(**optional**)*) – Y
        - **delta** (*int in* *[**-inf**,* *inf**]**,* *(**optional**)*) – Delta

bpy.ops.screen.area_options()
:   Operations for splitting and merging

bpy.ops.screen.area_split(*\**, *direction='HORIZONTAL'*, *factor=0.5*, *cursor=(0, 0)*)
:   Split selected area into new windows

    Parameters:
    :   - **direction** (enum in [`'HORIZONTAL'`, `'VERTICAL'`], (optional)) – Direction
        - **factor** (*float in* *[**0**,* *1**]**,* *(**optional**)*) – Factor
        - **cursor** (*int array* *of* *2 items in* *[**-inf**,* *inf**]**,* *(**optional**)*) – Cursor

bpy.ops.screen.area_swap(*\**, *cursor=(0, 0)*)
:   Swap selected areas screen positions

    Parameters:
    :   **cursor** (*int array* *of* *2 items in* *[**-inf**,* *inf**]**,* *(**optional**)*) – Cursor

bpy.ops.screen.back_to_previous()
:   Revert back to the original screen layout, before fullscreen area overlay

bpy.ops.screen.delete()
:   Delete active screen

bpy.ops.screen.drivers_editor_show()
:   Show drivers editor in a separate window

bpy.ops.screen.frame_jump(*\**, *end=False*)
:   Jump to first/last frame in frame range

    Parameters:
    :   **end** (*boolean**,* *(**optional**)*) – Last Frame, Jump to the last frame of the frame range

bpy.ops.screen.frame_offset(*\**, *delta=0*)
:   Move current frame forward/backward by a given number

    Parameters:
    :   **delta** (*int in* *[**-inf**,* *inf**]**,* *(**optional**)*) – Delta

bpy.ops.screen.header_toggle_menus()
:   Expand or collapse the header pull-down menus

bpy.ops.screen.info_log_show()
:   Show info log in a separate window

bpy.ops.screen.keyframe_jump(*\**, *next=True*)
:   Jump to previous/next keyframe

    Parameters:
    :   **next** (*boolean**,* *(**optional**)*) – Next Keyframe

bpy.ops.screen.marker_jump(*\**, *next=True*)
:   Jump to previous/next marker

    Parameters:
    :   **next** (*boolean**,* *(**optional**)*) – Next Marker

bpy.ops.screen.new()
:   Add a new screen

bpy.ops.screen.redo_last()
:   Display parameters for last action performed

bpy.ops.screen.region_blend()
:   Blend in and out overlapping region

bpy.ops.screen.region_context_menu()
:   Display region context menu

bpy.ops.screen.region_flip()
:   Toggle the region’s alignment (left/right or top/bottom)

bpy.ops.screen.region_quadview()
:   Split selected area into camera, front, right, and top views

bpy.ops.screen.region_scale()
:   Scale selected area

bpy.ops.screen.region_toggle(*\**, *region_type='WINDOW'*)
:   Hide or unhide the region

    Parameters:
    :   **region_type** (enum in [Region Type Items](bpy_types_enum_items/region_type_items.html#rna-enum-region-type-items), (optional)) – Region Type, Type of the region to toggle

bpy.ops.screen.repeat_history(*\**, *index=0*)
:   Display menu for previous actions performed

    Parameters:
    :   **index** (*int in* *[**0**,* *inf**]**,* *(**optional**)*) – Index

bpy.ops.screen.repeat_last()
:   Repeat last action

bpy.ops.screen.screen_full_area(*\**, *use_hide_panels=False*)
:   Toggle display selected area as fullscreen/maximized

    Parameters:
    :   **use_hide_panels** (*boolean**,* *(**optional**)*) – Hide Panels, Hide all the panels (Focus Mode)

bpy.ops.screen.screen_set(*\**, *delta=1*)
:   Cycle through available screens

    Parameters:
    :   **delta** (*int in* *[**-1**,* *1**]**,* *(**optional**)*) – Delta

bpy.ops.screen.screenshot(*\**, *filepath=''*, *hide_props_region=True*, *check_existing=True*, *filter_blender=False*, *filter_backup=False*, *filter_image=True*, *filter_movie=False*, *filter_python=False*, *filter_font=False*, *filter_sound=False*, *filter_text=False*, *filter_archive=False*, *filter_btx=False*, *filter_alembic=False*, *filter_usd=False*, *filter_obj=False*, *filter_volume=False*, *filter_folder=True*, *filter_blenlib=False*, *filemode=9*, *show_multiview=False*, *use_multiview=False*, *display_type='DEFAULT'*, *sort_method=''*)
:   Capture a picture of the whole Blender window

    Parameters:
    :   - **filepath** (*string**,* *(**optional**,* *never None**)*) – File Path, Path to file
        - **hide_props_region** (*boolean**,* *(**optional**)*) – Hide Operator Properties, Collapse the region displaying the operator settings
        - **check_existing** (*boolean**,* *(**optional**)*) – Check Existing, Check and warn on overwriting existing files
        - **filter_blender** (*boolean**,* *(**optional**)*) – Filter .blend files
        - **filter_backup** (*boolean**,* *(**optional**)*) – Filter .blend files
        - **filter_image** (*boolean**,* *(**optional**)*) – Filter image files
        - **filter_movie** (*boolean**,* *(**optional**)*) – Filter movie files
        - **filter_python** (*boolean**,* *(**optional**)*) – Filter Python files
        - **filter_font** (*boolean**,* *(**optional**)*) – Filter font files
        - **filter_sound** (*boolean**,* *(**optional**)*) – Filter sound files
        - **filter_text** (*boolean**,* *(**optional**)*) – Filter text files
        - **filter_archive** (*boolean**,* *(**optional**)*) – Filter archive files
        - **filter_btx** (*boolean**,* *(**optional**)*) – Filter btx files
        - **filter_alembic** (*boolean**,* *(**optional**)*) – Filter Alembic files
        - **filter_usd** (*boolean**,* *(**optional**)*) – Filter USD files
        - **filter_obj** (*boolean**,* *(**optional**)*) – Filter OBJ files
        - **filter_volume** (*boolean**,* *(**optional**)*) – Filter OpenVDB volume files
        - **filter_folder** (*boolean**,* *(**optional**)*) – Filter folders
        - **filter_blenlib** (*boolean**,* *(**optional**)*) – Filter Blender IDs
        - **filemode** (*int in* *[**1**,* *9**]**,* *(**optional**)*) – File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file
        - **show_multiview** (*boolean**,* *(**optional**)*) – Enable Multi-View
        - **use_multiview** (*boolean**,* *(**optional**)*) – Use Multi-View
        - **display_type** (enum in [`'DEFAULT'`, `'LIST_VERTICAL'`, `'LIST_HORIZONTAL'`, `'THUMBNAIL'`], (optional)) –

          Display Type

          - `DEFAULT`
            Default – Automatically determine display type for files.
          - `LIST_VERTICAL`
            Short List – Display files as short list.
          - `LIST_HORIZONTAL`
            Long List – Display files as a detailed list.
          - `THUMBNAIL`
            Thumbnails – Display files as thumbnails.
        - **sort_method** (*enum in* *[**]**,* *(**optional**)*) – File sorting mode

bpy.ops.screen.screenshot_area(*\**, *filepath=''*, *hide_props_region=True*, *check_existing=True*, *filter_blender=False*, *filter_backup=False*, *filter_image=True*, *filter_movie=False*, *filter_python=False*, *filter_font=False*, *filter_sound=False*, *filter_text=False*, *filter_archive=False*, *filter_btx=False*, *filter_alembic=False*, *filter_usd=False*, *filter_obj=False*, *filter_volume=False*, *filter_folder=True*, *filter_blenlib=False*, *filemode=9*, *show_multiview=False*, *use_multiview=False*, *display_type='DEFAULT'*, *sort_method=''*)
:   Capture a picture of an editor

    Parameters:
    :   - **filepath** (*string**,* *(**optional**,* *never None**)*) – File Path, Path to file
        - **hide_props_region** (*boolean**,* *(**optional**)*) – Hide Operator Properties, Collapse the region displaying the operator settings
        - **check_existing** (*boolean**,* *(**optional**)*) – Check Existing, Check and warn on overwriting existing files
        - **filter_blender** (*boolean**,* *(**optional**)*) – Filter .blend files
        - **filter_backup** (*boolean**,* *(**optional**)*) – Filter .blend files
        - **filter_image** (*boolean**,* *(**optional**)*) – Filter image files
        - **filter_movie** (*boolean**,* *(**optional**)*) – Filter movie files
        - **filter_python** (*boolean**,* *(**optional**)*) – Filter Python files
        - **filter_font** (*boolean**,* *(**optional**)*) – Filter font files
        - **filter_sound** (*boolean**,* *(**optional**)*) – Filter sound files
        - **filter_text** (*boolean**,* *(**optional**)*) – Filter text files
        - **filter_archive** (*boolean**,* *(**optional**)*) – Filter archive files
        - **filter_btx** (*boolean**,* *(**optional**)*) – Filter btx files
        - **filter_alembic** (*boolean**,* *(**optional**)*) – Filter Alembic files
        - **filter_usd** (*boolean**,* *(**optional**)*) – Filter USD files
        - **filter_obj** (*boolean**,* *(**optional**)*) – Filter OBJ files
        - **filter_volume** (*boolean**,* *(**optional**)*) – Filter OpenVDB volume files
        - **filter_folder** (*boolean**,* *(**optional**)*) – Filter folders
        - **filter_blenlib** (*boolean**,* *(**optional**)*) – Filter Blender IDs
        - **filemode** (*int in* *[**1**,* *9**]**,* *(**optional**)*) – File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file
        - **show_multiview** (*boolean**,* *(**optional**)*) – Enable Multi-View
        - **use_multiview** (*boolean**,* *(**optional**)*) – Use Multi-View
        - **display_type** (enum in [`'DEFAULT'`, `'LIST_VERTICAL'`, `'LIST_HORIZONTAL'`, `'THUMBNAIL'`], (optional)) –

          Display Type

          - `DEFAULT`
            Default – Automatically determine display type for files.
          - `LIST_VERTICAL`
            Short List – Display files as short list.
          - `LIST_HORIZONTAL`
            Long List – Display files as a detailed list.
          - `THUMBNAIL`
            Thumbnails – Display files as thumbnails.
        - **sort_method** (*enum in* *[**]**,* *(**optional**)*) – File sorting mode

bpy.ops.screen.space_context_cycle(*\**, *direction='NEXT'*)
:   Cycle through the editor context by activating the next/previous one

    Parameters:
    :   **direction** (enum in [`'PREV'`, `'NEXT'`], (optional)) – Direction, Direction to cycle through

bpy.ops.screen.space_type_set_or_cycle(*\**, *space_type='EMPTY'*)
:   Set the space type or cycle subtype

    Parameters:
    :   **space_type** (enum in [Space Type Items](bpy_types_enum_items/space_type_items.html#rna-enum-space-type-items), (optional)) – Type

bpy.ops.screen.spacedata_cleanup()
:   Remove unused settings for invisible editors

bpy.ops.screen.time_jump(*\**, *backward=False*)
:   Jump forward/backward by a given number of frames or seconds

    Parameters:
    :   **backward** (*boolean**,* *(**optional**)*) – Backwards, Jump backwards in time

bpy.ops.screen.userpref_show(*\**, *section='INTERFACE'*)
:   Edit user preferences and system settings

    Parameters:
    :   **section** (enum in [Preference Section Items](bpy_types_enum_items/preference_section_items.html#rna-enum-preference-section-items), (optional)) – Section to activate in the Preferences

bpy.ops.screen.workspace_cycle(*\**, *direction='NEXT'*)
:   Cycle through workspaces

    Parameters:
    :   **direction** (enum in [`'PREV'`, `'NEXT'`], (optional)) – Direction, Direction to cycle through