Frames don't show in Flatpak

I have an application which works fine from a terminal or as a deb package. As a Flatpak the frame borders for GtkMessageDialogs and GtkAboutDialogs disappear, leaving the messages floating in space.
Might it be related to this message? Gtk-Message:…: Failed to load module “appmenu-gtk-module”

What distro do you use? Which version of GTK is the app made for? Can we see your project’s code on GitHub? We need more information

Distro: Ubuntu Budgie 20.10
[chrisofbristol has edited the following two lines to show the versions of Gtk and Glade more clearly]
Gtk version: The application has this statement: gi.require_version(‘Gtk’, ‘3.0’)
Glade: 3.38.22
Code: Flatpak only at test stage.

        self.messageInfo = self.builder.get_object('messagedialogInfo')
        self.messageInfo.format_secondary_text(message)
        self.result = self.messageInfo.run() ; self.messageInfo.hide()

Aaaargh! Someone else has edited my post!

GTK and Glade are two different things.

It’s kind of pointless to show the code loading a UI description file, and not also show the UI description file for that object.

Can you please take a screenshot of what’s the output?

Flatpak: Bottom half of info panel show in image - no surround and no way in that type of widget to add or remove it.

gtk

deb package: Looks fine.

gtkx

  <object class="GtkMessageDialog" id="messagedialogInfo">
    <property name="can-focus">False</property>
    <property name="can-default">True</property>
    <property name="type">popup</property>
    <property name="type-hint">utility</property>
    <property name="gravity">center</property>
    <property name="transient-for">window</property>
    <property name="buttons">close</property>
    <child internal-child="vbox">
      <object class="GtkBox">
        <property name="can-focus">False</property>
        <property name="orientation">vertical</property>
        <property name="spacing">2</property>
        <child internal-child="action_area">
          <object class="GtkButtonBox">
            <property name="can-focus">False</property>
            <property name="layout-style">end</property>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
          </object>
          <packing>
            <property name="expand">False</property>
            <property name="fill">False</property>
            <property name="position">0</property>
          </packing>
        </child>
        <child>
          <placeholder/>
        </child>
      </object>
    </child>
    <child type="titlebar">
      <placeholder/>
    </child>
  </object>

some unrelated hate on frames in UI used to be here

Anyway, the answer to the actual question is that flatpak has installed a newer version of GTK than your system has. The frames must have been removed in a recent release

EDIT: Just noticed that .deb version’s window is simply smaller. Can you show the whole window?

My second post has this line

The statement gi.require_version would have caused the program to abort if that was not the case.

The answer was to use a different Flatpak platform. It works properly in the Gnome, but not in the Freedesktop one.

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