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