Skip to content

GTK4 support? #94

@ghost

Description

This blog post has got me wanting to port my WebKit-powered browser project over to GTK4-rs, as I'm seeking to replacing my implementation of tabs with the Libadwaita widget. This would accomplish two things for me: it removes the burden on me to solely develop & maintain a major component of my project, and it would additionally allow my project to match the design guidelines that other GTK projects follow.

As of present, I'm unable to make this switch to GTK4 + Libadwaita. I've:

  1. Updated the dependencies to rely on the latest GTK4-rs crate versions (as libadwaita-rs uses release numbers and not Git for its dependencies)
  2. Updated the GIR files locally (remember to do this yourself if you're checking out my current progress)
  3. Regenerated the bindings (using make gir)

However, I still encounter 6 build errors within webkit2gtk-sys, which reflect the following errors given by GIR:

[WARN  libgir::parser] <boxed name=Some("ByteArray")>
[ERROR libgir::analysis::record] Missing memory management functions for Gdk.EventKey
[ERROR libgir::analysis::record] Missing memory management functions for JavaScriptCore.ValueRef
[WARN  libgir::analysis::trampolines] Can't generate WebKit2.BackForwardList trampoline for signal 'changed'
[WARN  libgir::analysis::functions] Function webkit_input_method_context_get_preedit has unsupported outs

Specifically, webkit2gtk-rs is currently expecting GdkEventKey, GtkContainerClass, GtkContainer, and GtkAction to still exist.

During my work on getting this repository building again (see: #89), I became a little familiar with how this all works, but I must admit there's still a lot I don't know. I'm not good with Rust or C (hell, software development in general), I'm not familiar with the technical work being done in the GTK/GNOME world, nor am I familiar with the goings on with GTK-rs, so I'm sorry I can't work on this myself. I wish I had the knowledge and ability to contribute directly instead of just opening a GitHub issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions