@@ -82,8 +82,8 @@ def _confirm_interrupt(self, warning: str) -> bool:
8282
8383 return False
8484
85- def help_entry (self ) -> ViewportEntry :
86- return ViewportEntry ( tr ('Press Ctrl+h for help' ), 0 , 0 , STYLE . NORMAL )
85+ def help_text (self ) -> str :
86+ return tr ('Press Ctrl+h for help' )
8787
8888 def _show_help (self ) -> None :
8989 help_text = Help .get_help_text ()
@@ -488,7 +488,7 @@ def __init__(
488488 title = f'* { title } ' if not self ._allow_skip else title
489489 self ._frame = FrameProperties (title , FrameStyle .MAX )
490490
491- self ._help_vp : Viewport | None = None
491+ self ._title_vp : Viewport | None = None
492492 self ._header_vp : Viewport | None = None
493493 self ._input_vp : EditViewport | None = None
494494 self ._info_vp : Viewport | None = None
@@ -507,7 +507,7 @@ def __init__(
507507 def _init_viewports (self ) -> None :
508508 y_offset = 0
509509
510- self ._help_vp = Viewport (self ._max_width , 2 , 0 , y_offset )
510+ self ._title_vp = Viewport (self ._max_width , 2 , 0 , y_offset )
511511 y_offset += 2
512512
513513 if self ._header_entries :
@@ -543,8 +543,8 @@ def resize_win(self) -> None:
543543 self ._draw ()
544544
545545 def _clear_all (self ) -> None :
546- if self ._help_vp :
547- self ._help_vp .erase ()
546+ if self ._title_vp :
547+ self ._title_vp .erase ()
548548 if self ._header_vp :
549549 self ._header_vp .erase ()
550550 if self ._input_vp :
@@ -572,8 +572,10 @@ def _get_input_text(self) -> str | None:
572572 return text
573573
574574 def _draw (self ) -> None :
575- if self ._help_vp :
576- self ._help_vp .update ([self .help_entry ()], 0 )
575+ if self ._title_vp :
576+ help_text = self .help_text ()
577+ help_entry = ViewportEntry (help_text , 0 , 0 , STYLE .NORMAL )
578+ self ._title_vp .update ([help_entry ], 0 )
577579
578580 if self ._header_entries and self ._header_vp :
579581 self ._header_vp .update (self ._header_entries , 0 )
@@ -692,6 +694,7 @@ def __init__(
692694 preview_style : PreviewStyle = PreviewStyle .NONE ,
693695 preview_size : float | Literal ['auto' ] = 0.2 ,
694696 preview_frame : FrameProperties | None = None ,
697+ additional_title : str | None = None ,
695698 ):
696699 super ().__init__ ()
697700
@@ -712,6 +715,7 @@ def __init__(
712715 self ._frame = frame
713716 self ._interrupt_warning = reset_warning_msg
714717 self ._header = header
718+ self ._additional_title = additional_title
715719
716720 self ._header_entries = []
717721 if header :
@@ -730,7 +734,7 @@ def __init__(
730734 self ._visible_entries : list [ViewportEntry ] = []
731735 self ._max_height , self ._max_width = Tui .t ().max_yx
732736
733- self ._help_vp : Viewport | None = None
737+ self ._title_vp : Viewport | None = None
734738 self ._header_vp : Viewport | None = None
735739 self ._footer_vp : Viewport | None = None
736740 self ._menu_vp : Viewport | None = None
@@ -787,8 +791,8 @@ def _clear_all(self) -> None:
787791 self ._preview_vp .erase ()
788792 if self ._footer_vp :
789793 self ._footer_vp .erase ()
790- if self ._help_vp :
791- self ._help_vp .erase ()
794+ if self ._title_vp :
795+ self ._title_vp .erase ()
792796
793797 def _footer_entries (self ) -> list [ViewportEntry ]:
794798 if self ._active_search :
@@ -801,7 +805,7 @@ def _init_viewports(self, arg_prev_size: float | Literal['auto']) -> None:
801805 footer_height = 2 # possible filter at the bottom
802806 y_offset = 0
803807
804- self ._help_vp = Viewport (self ._max_width , 2 , 0 , y_offset )
808+ self ._title_vp = Viewport (self ._max_width , 2 , 0 , y_offset )
805809 y_offset += 2
806810
807811 if self ._header_entries :
@@ -933,8 +937,15 @@ def _draw(self) -> None:
933937 items = self ._items_state .get_view_items ()
934938 vp_entries = self ._item_to_vp_entry (items )
935939
936- if self ._help_vp :
937- self ._update_viewport (self ._help_vp , [self .help_entry ()])
940+ if self ._title_vp :
941+ title_text = self .help_text ()
942+
943+ if self ._additional_title is not None :
944+ title_text += f' { self ._additional_title } '
945+
946+ title_vp_entry = ViewportEntry (title_text , 0 , 0 , STYLE .NORMAL )
947+
948+ self ._update_viewport (self ._title_vp , [title_vp_entry ])
938949
939950 if self ._header_vp :
940951 self ._update_viewport (self ._header_vp , self ._header_entries )
0 commit comments