@@ -326,7 +326,18 @@ def select_layout(self, layout: t.Optional[str] = None) -> "Window":
326326
327327 return self
328328
329- def set_window_option (self , option : str , value : t .Union [int , str ]) -> "Window" :
329+ def set_window_option (
330+ self ,
331+ option : str ,
332+ value : t .Union [int , str ],
333+ format : t .Optional [bool ] = None ,
334+ unset : t .Optional [bool ] = None ,
335+ unset_panes : t .Optional [bool ] = None ,
336+ prevent_overwrite : t .Optional [bool ] = None ,
337+ suppress_warnings : t .Optional [bool ] = None ,
338+ append : t .Optional [bool ] = None ,
339+ g : t .Optional [bool ] = None ,
340+ ) -> "Window" :
330341 """Set option for tmux window.
331342
332343 Wraps ``$ tmux set-window-option <option> <value>``.
@@ -344,16 +355,46 @@ def set_window_option(self, option: str, value: t.Union[int, str]) -> "Window":
344355 :exc:`exc.OptionError`, :exc:`exc.UnknownOption`,
345356 :exc:`exc.InvalidOption`, :exc:`exc.AmbiguousOption`
346357 """
358+ flags : list [str ] = []
347359 if isinstance (value , bool ) and value :
348360 value = "on"
349361 elif isinstance (value , bool ) and not value :
350362 value = "off"
351363
364+ if unset is not None and unset :
365+ assert isinstance (unset , bool )
366+ flags .append ("-u" )
367+
368+ if unset_panes is not None and unset_panes :
369+ assert isinstance (unset_panes , bool )
370+ flags .append ("-U" )
371+
372+ if format is not None and format :
373+ assert isinstance (format , bool )
374+ flags .append ("-F" )
375+
376+ if prevent_overwrite is not None and prevent_overwrite :
377+ assert isinstance (prevent_overwrite , bool )
378+ flags .append ("-o" )
379+
380+ if suppress_warnings is not None and suppress_warnings :
381+ assert isinstance (suppress_warnings , bool )
382+ flags .append ("-q" )
383+
384+ if append is not None and append :
385+ assert isinstance (append , bool )
386+ flags .append ("-a" )
387+
388+ if g is not None and g :
389+ assert isinstance (g , bool )
390+ flags .append ("-g" )
391+
352392 cmd = self .cmd (
353393 "set-window-option" ,
354394 f"-t{ self .session_id } :{ self .window_index } " ,
355395 option ,
356396 value ,
397+ * flags ,
357398 )
358399
359400 if isinstance (cmd .stderr , list ) and len (cmd .stderr ):
0 commit comments