How serialize a Gtk.Textview buffer

Hello, I’m working on a flatpak python+gtk4 application which is, roughly speaking, a text editor, and I need a way to save the contents of a Textview including all the tags.

What I know: In Gtk 4, TextView buffer no longer has built-in serialization methods. To seralilize the contents of the buffer it is necessary to create my own serializer, for that I must use gdk_content_register_serializer (and the corresponding one to create the deserializer). Something like that:

def _r_serializer(self):

        Gdk.content_register_serializer(Gtk.TextBuffer,
                                          "text/plain;charset=utf-8",
                                          self._serialize_text,
                                          None,
                                          None)

What I don’t know: While the use of gdk_content_register_serializer is fairly straightforward and simple, the same is not true about GdkContentSerializeFunc. From the documentation, I couldn’t understand what this function should be exactly. I tried looking at how Textbuffer’s serializer worked in GTk3, but I’m fairly new to working with Gtk/Gdk and don’t fully understand the workflow, and besides, my knowledge of C is limited.

What I need: I would like a minimal code example (python would be nice, but it can be in C) of a GdkContentSerializeFunc that serializes at least one tag (italics, for example) to plain text, so that I can use it as a basis for build my own serializer.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.