ฉันมีปุ่มตัวเลือกไฟล์ที่ทำให้เกิดการเปลี่ยนแปลงในแถบหัวเรื่องทุกครั้งที่เลือกไฟล์ และดูเหมือนว่าจะทำงานได้ดีในโครงสร้างที่ไม่ใช่ flatpak ของฉัน
import gtk.Application : Application;
import gtk.ApplicationWindow : ApplicationWindow;
import gio.Application : GioApp = Application;
import gtkc.gtktypes : GApplicationFlags, FileChooserAction;
import gtk.FileChooserButton : FileChooserButton;
const string AppID = `org.github.flatfcbtest`;
int main(string[] args)
{
auto app = new App();
return app.run(args);
}
public class App : Application
{
public:
this(const string appID = AppID, const GApplicationFlags flags = GApplicationFlags.FLAGS_NONE)
{
super(appID, flags);
addOnActivate(delegate void(GioApp _) {
auto pw = new PrimaryWindow(this);
pw.showAll();
});
}
}
class PrimaryWindow : ApplicationWindow
{
this(Application app)
{
super(app);
setSizeRequest(500, 300);
auto fcb = new FileChooserButton(`Select file`, FileChooserAction.OPEN);
fcb.addOnFileSet(delegate void (FileChooserButton _) {
setTitle(`file set!`);
});
add(fcb);
}
}
อย่างไรก็ตาม ใน builds flatpak ของฉัน ไฟล์ที่เลือกด้วยปุ่มตัวเลือกไม่ได้เลือกอะไรเลย และมันแสดงข้อความว่า (ไม่มี) อยู่ตลอดเวลา อย่างไรก็ตาม แถบหัวเรื่องของฉันก็เปลี่ยนไปตามนั้น ดังนั้นฉันจึงรู้ว่าปุ่มเลือกไฟล์ส่งสัญญาณออกมา
นี่คือรายการสิทธิ์ flatpak ของฉัน:
finish-args:
- --socket=fallback-x11
- --share=ipc
- --filesystem=host
- --device=all
- --socket=session-bus
อะไรทำให้เกิดสิ่งนี้?