I've added my own progress bar to the Blender 2.80 status bar (the footer of Blender) with the following abstracted code:
def draw_progress_bar(self, context): self.layout.prop(context.scene, "my_progress", text="Simulating") bpy.types.STATUSBAR_HT_header.append(draw_progress_bar)
Only problem is, when I update the
my_progress scene property, the progress bar in the UI doesn't update unless I move my mouse over the area. Typically, this would be solved by running the following code to redraw the area:
def tag_redraw_areas(area_types:iter=["ALL"]): """ run tag_redraw for given area types """ area_types = confirm_list(area_types) screens = [bpy.context.screen] if bpy.context.screen else bpy.data.screens for screen in screens: for area in screen.areas: for area_type in area_types: if area_type == "ALL" or area.type == area_type: area.tag_redraw()
But in this case, the Status Bar does not seem to be listed in
bpy.context.screen.areas. Is there any other way to redraw the status bar in Blender 2.80?