Skip to content

cockpit-client: upgrade to GTK 4 & WebKit 6#22958

Open
jelly wants to merge 1 commit intocockpit-project:mainfrom
jelly:cockpit-client-gtk4
Open

cockpit-client: upgrade to GTK 4 & WebKit 6#22958
jelly wants to merge 1 commit intocockpit-project:mainfrom
jelly:cockpit-client-gtk4

Conversation

@jelly
Copy link
Member

@jelly jelly commented Mar 5, 2026

GTK 3 will still be supported until the release of GTK 5, moving to GTK 4 already gives us the benefit of not having to do a major upgrade directly to 5. Other side-effects of upgrading is the move to WebKit 6.0 which should bring in more modern JavaScript / CSS support.

The most notable API changes are:

  • Sandboxing is now always enabled
  • Gtk.show_uri* is deprecated and replaced by by UriLauncher
  • The HeaderBar title now needs to be updated by the application
  • LibHandy is replaced by Adwaita, in GTK 4 inheriting from Adwaita is preferred

https://docs.gtk.org/gtk4/migrating-3to4.html
https://webkitgtk.org/reference/webkit2gtk/2.39.7/migrating-to-webkitgtk-6.0.html


Locally test this and it seems to work fine, remember that you can locally build the flatpak with ./containers/flatpak/install --user.

image image

@jelly jelly added the no-test For doc/workflow changes, or experiments which don't need a full CI run, label Mar 5, 2026
@jelly jelly force-pushed the cockpit-client-gtk4 branch 2 times, most recently from 26d4e5d to 80dbceb Compare March 5, 2026 13:28
@jelly
Copy link
Member Author

jelly commented Mar 5, 2026

The testing issue here is run_javascript is deprecated and no longer available in WebKit 6.

@jelly jelly force-pushed the cockpit-client-gtk4 branch from 80dbceb to 95c747d Compare March 5, 2026 13:38
GTK 3 will still be supported until the release of GTK 5, moving to GTK
4 already gives us the benefit of not having to do a major upgrade
directly to 5. Other side-effects of upgrading is the move to WebKit 6.0
which should bring in more modern JavaScript / CSS support.

The most notable API changes are:
* Sandboxing is now always enabled
* Gtk.show_uri* is deprecated and replaced by by UriLauncher
* The HeaderBar title now needs to be updated by the application
* LibHandy is replaced by Adwaita, in GTK 4 inheriting from Adwaita is
  preferred

https://docs.gtk.org/gtk4/migrating-3to4.html
https://webkitgtk.org/reference/webkit2gtk/2.39.7/migrating-to-webkitgtk-6.0.html
@jelly jelly force-pushed the cockpit-client-gtk4 branch from 95c747d to 6661777 Compare March 5, 2026 13:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-test For doc/workflow changes, or experiments which don't need a full CI run,

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant