VPN plug-ins and GTK3 support

thom311 at gmail.com thom311 at gmail.com
Thu Mar 20 11:41:41 UTC 2025


On Thu, 2025-03-20 at 08:47 +0000, David Sommerseth wrote:
> 
> Hi,
> 
> I've been working on a brand new VPN plug-in for OpenVPN 3 Linux for
> a
> while, and it is progressing.  I see basically all other VPN plugins
> add
> support for GTK3 and GTK4.
> 
> What is the long-term plan for GTK3?  Which distributions do still
> depend on GTK3?
> 
> Or to ask differently, do I need to consider adding support for GTK3
> in
> parallel to GTK4?
> 
> 

Hi,

A NetworkManager VPN plugin consists of several parts, most of which
are optional:

1) D-Bus Daemon – Required. This is run by NetworkManager to configure
the network. See the VPN Connection.program entry in nm-openvpn-
service.name.

2) glib-based Plugin (/usr/lib64/NetworkManager/libnm-vpn-plugin-
openvpn.so) – No GTK/GUI dependency. Provides import/export
functionality used by nmcli, nm-connection-editor, gnome-control-
center, and potentially others (but not plasma-nm).

3) GTK3 Plugin (/usr/lib64/NetworkManager/libnm-vpn-plugin-openvpn-
editor.so) – Previously used by gnome-control-center (now GTK4).
Currently only used by nm-connection-editor. While it could be used by
other GTK3 apps, I don’t think it is(??).

4) GTK4 Plugin (/usr/lib64/NetworkManager/libnm-gtk4-vpn-plugin-
openvpn-editor.so) – GTK4 version of (3). Used by gnome-control-center
but likely not by anything else(??).

5) plasma-nm – Reimplements (2) and (3)/(4) in Qt for KDE integration.
Ideally, it would use the glib plugin (2), but I believe it
doesn’t(??).

6) Auth Dialog – An executable (any language) spawned by nm-applet,
gnome-shell, nmcli, and nmtui to request secrets. Likely required.


The GTK3 (3) and GTK4 (4) plugins integrate only with nm-connection-
editor and gnome-control-center, respectively. And vice versa. Those
GUIs can only integrate with the respective plugin variant.


gnome-shell is GNOME-only, whereas nm-connection-editor remains the
main GUI for non-GNOME, non-KDE desktops. This justifies GTK3 support.

Alternatively, push for the effort to port nm-connection-editor to
GTK4. Although, I wonder whether GTK3 support can be fully dropped,
because it also means to stop supporting desktop environments that
don't want to use GTK4 (does that exist?).


And then one day there will be GTK5+.



Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 512 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/networkmanager/attachments/20250320/8373b8eb/attachment-0001.sig>


More information about the Networkmanager mailing list