:right-sidebar: True Statusbar =================================================================== .. currentmodule:: gi.repository.Gtk .. deprecated:: 4.10 This widget will be removed in GTK 5 .. class:: Statusbar(**properties: ~typing.Any) :no-contents-entry: Superclasses: :class:`~gi.repository.Gtk.Widget`, :class:`~gi.repository.GObject.InitiallyUnowned`, :class:`~gi.repository.GObject.Object` Implemented Interfaces: :class:`~gi.repository.Gtk.Accessible`, :class:`~gi.repository.Gtk.Buildable`, :class:`~gi.repository.Gtk.ConstraintTarget` A ``GtkStatusbar`` widget is usually placed along the bottom of an application's main :obj:`~gi.repository.Gtk.Window`. .. image:: https://docs.gtk.org/gtk4/statusbar.png A ``GtkStatusBar`` may provide a regular commentary of the application's status (as is usually the case in a web browser, for example), or may be used to simply output a message when the status changes, (when an upload is complete in an FTP client, for example). Status bars in GTK maintain a stack of messages. The message at the top of the each bar’s stack is the one that will currently be displayed. Any messages added to a statusbar’s stack must specify a context id that is used to uniquely identify the source of a message. This context id can be generated by :obj:`~gi.repository.Gtk.Statusbar.get_context_id`, given a message and the statusbar that it will be added to. Note that messages are stored in a stack, and when choosing which message to display, the stack structure is adhered to, regardless of the context identifier of a message. One could say that a statusbar maintains one stack of messages for display purposes, but allows multiple message producers to maintain sub-stacks of the messages they produced (via context ids). Status bars are created using :obj:`~gi.repository.Gtk.Statusbar.new`. Messages are added to the bar’s stack with :obj:`~gi.repository.Gtk.Statusbar.push`. The message at the top of the stack can be removed using :obj:`~gi.repository.Gtk.Statusbar.pop`. A message can be removed from anywhere in the stack if its message id was recorded at the time it was added. This is done using :obj:`~gi.repository.Gtk.Statusbar.remove`. CSS node -------- ``GtkStatusbar`` has a single CSS node with name ``statusbar``. Constructors ------------ .. rst-class:: interim-class .. class:: Statusbar :no-index: .. classmethod:: new() -> ~gi.repository.Gtk.Widget Creates a new ``GtkStatusbar`` ready for messages. .. deprecated:: 4.10 This widget will be removed in GTK 5 Methods ------- .. rst-class:: interim-class .. class:: Statusbar :no-index: .. method:: get_context_id(context_description: str) -> int Returns a new context identifier, given a description of the actual context. Note that the description is not shown in the UI. .. deprecated:: 4.10 This widget will be removed in GTK 5 :param context_description: textual description of what context the new message is being used in .. method:: pop(context_id: int) -> None Removes the first message in the ``GtkStatusbar``’s stack with the given context id. Note that this may not change the displayed message, if the message at the top of the stack has a different context id. .. deprecated:: 4.10 This widget will be removed in GTK 5 :param context_id: a context identifier .. method:: push(context_id: int, text: str) -> int Pushes a new message onto a statusbar’s stack. .. deprecated:: 4.10 This widget will be removed in GTK 5 :param context_id: the message’s context id, as returned by :func:`~gi.repository.Gtk.Statusbar.get_context_id` :param text: the message to add to the statusbar .. method:: remove(context_id: int, message_id: int) -> None Forces the removal of a message from a statusbar’s stack. The exact ``context_id`` and ``message_id`` must be specified. .. deprecated:: 4.10 This widget will be removed in GTK 5 :param context_id: a context identifier :param message_id: a message identifier, as returned by :obj:`~gi.repository.Gtk.Statusbar.push` .. method:: remove_all(context_id: int) -> None Forces the removal of all messages from a statusbar's stack with the exact ``context_id``. .. deprecated:: 4.10 This widget will be removed in GTK 5 :param context_id: a context identifier Signals ------- .. rst-class:: interim-class .. class:: Statusbar.signals :no-index: .. method:: text_popped(context_id: int, text: str) -> None Emitted whenever a new message is popped off a statusbar's stack. .. deprecated:: 4.10 This widget will be removed in GTK 5 :param context_id: the context id of the relevant message/statusbar :param text: the message that was just popped .. method:: text_pushed(context_id: int, text: str) -> None Emitted whenever a new message gets pushed onto a statusbar's stack. .. deprecated:: 4.10 This widget will be removed in GTK 5 :param context_id: the context id of the relevant message/statusbar :param text: the message that was pushed