@@ -425,7 +425,7 @@ def __deepcopy__(self, memo: dict[str, Any]) -> Self:
425425 # Deepcopying the underlying dict is enough because all properties
426426 # either read directly from it or compute their value on the fly from
427427 # values read directly from it.
428- c ._d = copy .deepcopy (self ._d , memo )
428+ c ._d = copy .deepcopy (self ._d , memo ) # type: ignore[arg-type]
429429 return c
430430
431431 # helper type-checking methods
@@ -649,8 +649,10 @@ def digest_parser(self, parser: configparser.ConfigParser) -> Self:
649649 "window_size"
650650 ] # if not "default", get a tuple of the position
651651 if window_size != "default" :
652- window_size = tuple (map (int , re .split (r"[;,\-]" , window_size )))
653- self .window_size = window_size
652+ window_size_numbers = tuple (map (int , re .split (r"[;,\-]" , window_size )))
653+ self .window_size = window_size_numbers
654+ else :
655+ self .window_size = window_size
654656
655657 # plugins
656658 plugins = parser ["CLI" ].get ("plugins" , fallback = "" , raw = True )
@@ -1137,7 +1139,7 @@ def frame_y_radius(self) -> float:
11371139
11381140 @frame_y_radius .setter
11391141 def frame_y_radius (self , value : float ) -> None :
1140- self ._d .__setitem__ ("frame_y_radius" , value ) or self ._d .__setitem__ (
1142+ self ._d .__setitem__ ("frame_y_radius" , value ) or self ._d .__setitem__ ( # type: ignore[func-returns-value]
11411143 "frame_height" , 2 * value
11421144 )
11431145
@@ -1149,7 +1151,7 @@ def frame_x_radius(self) -> float:
11491151
11501152 @frame_x_radius .setter
11511153 def frame_x_radius (self , value : float ) -> None :
1152- self ._d .__setitem__ ("frame_x_radius" , value ) or self ._d .__setitem__ (
1154+ self ._d .__setitem__ ("frame_x_radius" , value ) or self ._d .__setitem__ ( # type: ignore[func-returns-value]
11531155 "frame_width" , 2 * value
11541156 )
11551157
@@ -1282,7 +1284,7 @@ def frame_size(self) -> tuple[int, int]:
12821284
12831285 @frame_size .setter
12841286 def frame_size (self , value : tuple [int , int ]) -> None :
1285- self ._d .__setitem__ ("pixel_width" , value [0 ]) or self ._d .__setitem__ (
1287+ self ._d .__setitem__ ("pixel_width" , value [0 ]) or self ._d .__setitem__ ( # type: ignore[func-returns-value]
12861288 "pixel_height" , value [1 ]
12871289 )
12881290
@@ -1292,7 +1294,7 @@ def quality(self) -> str | None:
12921294 keys = ["pixel_width" , "pixel_height" , "frame_rate" ]
12931295 q = {k : self [k ] for k in keys }
12941296 for qual in constants .QUALITIES :
1295- if all (q [k ] == constants .QUALITIES [qual ][k ] for k in keys ):
1297+ if all (q [k ] == constants .QUALITIES [qual ][k ] for k in keys ): # type: ignore[literal-required]
12961298 return qual
12971299 return None
12981300
@@ -1419,12 +1421,12 @@ def window_position(self, value: str) -> None:
14191421 self ._d .__setitem__ ("window_position" , value )
14201422
14211423 @property
1422- def window_size (self ) -> str :
1424+ def window_size (self ) -> str | tuple [ int , ...] :
14231425 """The size of the opengl window. 'default' to automatically scale the window based on the display monitor."""
14241426 return self ._d ["window_size" ]
14251427
14261428 @window_size .setter
1427- def window_size (self , value : str ) -> None :
1429+ def window_size (self , value : str | tuple [ int , ...] ) -> None :
14281430 self ._d .__setitem__ ("window_size" , value )
14291431
14301432 def resolve_movie_file_extension (self , is_transparent : bool ) -> None :
@@ -1453,7 +1455,7 @@ def enable_gui(self, value: bool) -> None:
14531455 self ._set_boolean ("enable_gui" , value )
14541456
14551457 @property
1456- def gui_location (self ) -> tuple [int ]:
1458+ def gui_location (self ) -> tuple [int , ... ]:
14571459 """Enable GUI interaction."""
14581460 return self ._d ["gui_location" ]
14591461
@@ -1875,4 +1877,4 @@ def __delitem__(self, key: Any) -> NoReturn:
18751877
18761878
18771879for opt in list (ManimFrame ._OPTS ) + list (ManimFrame ._CONSTANTS ):
1878- setattr (ManimFrame , opt , property (lambda self , o = opt : self [o ]))
1880+ setattr (ManimFrame , opt , property (lambda self , o = opt : self [o ])) # type: ignore[misc]
0 commit comments