Gtk4 port of libreoffice

when libreoffice will switch to gtk4 as libreoffice just hit 7.6 but does not contain gtk4 i hear about the port 2years back but dont know much what is going on

First thing I disable for my LO on Ubuntu is gtk. Gtk widgets are broken beyond repair.

Maybe ubuntu changed something? It works perfectly fine on debian.
Anyway, how did you disable gtk? If you’d purge it on your terminal most things get removed (at least on gnome).

Start LO with Gtk disabled: SAL_USE_VCLPLUGIN=gen /opt/libreoffice7.5/program/soffice

Open this demo database document of mine and the “Filter Form” therein.
https://ask.libreoffice.org/uploads/short-url/8nC9OrU7HOQpQmQHg1eZLpkq415.odb

The green grid contains listboxes in columns 2 and 3 (“Person” and “Category”). This is quite an ordinary setup with input forms of a relational database.

  1. Focus one of the listbox columns and hold the Down-arrow. This moves the record cursor from row to row.
  2. Hit Alt+Down-arrow in order to drop down the listbox and change some value. Notice the record marker which indicates that the record has been modified by showing a pencil.
  3. Without leaving the modified record, hit the Esc key in order to undo the edit.

Close LibreOffice.

Start LO with Gtk enabled: SAL_USE_VCLPLUGIN=gtk /opt/libreoffice7.5/program/soffice (this should be the default in an Gtk environment) and open the same document and form.

  1. Focus one of the listbox columns and hold the Down-arrow. This navigates down the listbox entries modifying the current record without navigating the record set. The non-listbox columns do navigate. When a listbox has the focus, keyboard navigation is disabled and you get unwanted changes.
  2. Alt+Down-arrow does the same but with the lisbox dropped down.
  3. Hit Esc to undo the modified listbox and focus the formerly modified listbox. It displays the modified value which has been undone but not the actual value until you navigate to some other record by mouse.

P.S. On the same form, focus a non-lisbox column (“Date” or “Value”) and hold the Down-arrow. The cursor moves down until it locks up after a few rows. The focus moves away from the table control to the push button “OK” which belongs to the same form.

I don’t know what problems @Villeroy refers to; GTK VCL plugin is one of the best supported in LibreOffice, and @caolan spends lots of time on it (or them, given that we had gtk2, then gtk3, now gtk4 plugin versions). In fact, all the UI in VCL was re-implemented based on GTK-like API, when “weld” project happened.

If there are bugs, they need to be filed to be fixed (and I can say, that @caolan is one of the most reactive developers in the project, with some record response times registered).

It doesn’t for me actually. If I select a listbox column (or a non-listbox column) and press the arrow key it actually scrolls the entire form window… Strange that it differs from your experience but this behavior is certainly not what I’d expect.

Does nothing for me with gtk.

True. I modified the value with the mouse since keyboard does nothing. What you describe happens there too.

Anyways, seems you were right. They seem to be broken at least a little bit. Altough

might be a little exaggeration.

Maybe we should report those bugs.
Is there an overview somewhere about these kinds of differences between gtk and gen vclplugins?

Some problems soved by SAL_USE_VCLPLUGIN=gen

1 Like

Thanks @Villeroy :smiley:
Aside from one of them mentioned twice, I also failed to find a reference to respective bug report in every single reference you gave :wink:

If anything is specific to a gtk plugin, a report should say so, and should CC @caolan. Without a report, there’s no bug. And the claim that “Gtk widgets are broken beyond repair” in this situation is just unfair.

Since my issues are not reproducible by @TheSmallest, I’ll have to prepare a screencast. This takes some time.

Done: 156924 – Issues with grid controls on Base forms and Gtk

1 Like

but when we can assume to have a gtk4 libre office

After some fundamental issues have been fixed. Otherwise, Gtk is dysfunctional bling.