@@ -327,7 +327,18 @@ def select_layout(self, layout: t.Optional[str] = None) -> "Window":
327
327
328
328
return self
329
329
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" :
331
342
"""Set option for tmux window.
332
343
333
344
Wraps ``$ tmux set-window-option <option> <value>``.
@@ -345,16 +356,46 @@ def set_window_option(self, option: str, value: t.Union[int, str]) -> "Window":
345
356
:exc:`exc.OptionError`, :exc:`exc.UnknownOption`,
346
357
:exc:`exc.InvalidOption`, :exc:`exc.AmbiguousOption`
347
358
"""
359
+ flags : list [str ] = []
348
360
if isinstance (value , bool ) and value :
349
361
value = "on"
350
362
elif isinstance (value , bool ) and not value :
351
363
value = "off"
352
364
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
+
353
393
cmd = self .cmd (
354
394
"set-window-option" ,
355
395
f"-t{ self .session_id } :{ self .window_index } " ,
356
396
option ,
357
397
value ,
398
+ * flags ,
358
399
)
359
400
360
401
if isinstance (cmd .stderr , list ) and len (cmd .stderr ):
0 commit comments