docs: def store_widget_properties(self, widget, widget_name):
          """Sets configuration values for widgets
  
          If the widget is a window, then the size and position are stored. If the widget is a pane, then only the
          position is stored. If the window is maximized the last insert position before being maximized is keep in the
          config and the maximized flag set to True. The maximized state and the last size and position are strictly
          separated by this.
  
          :param widget: The widget, for which the position (and possibly the size) will be stored.
          :param widget_name: The window or widget name of the widget, which constitutes a part of its key in the
          configuration file.
          """
          if isinstance(widget, Gtk.Window):
              maximized = bool(widget.is_maximized())
              self.set_config_value('{0}_MAXIMIZED'.format(widget_name), maximized)
              if maximized:
                  return
              size = widget.get_size()
              self.set_config_value('{0}_SIZE'.format(widget_name), tuple(size))
              position = widget.get_position()
              self.set_config_value('{0}_POS'.format(widget_name), tuple(position))
          else:  # Gtk.Paned
              position = widget.get_position()
              self.set_config_value('{0}_POS'.format(widget_name), position)