<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/gtk-hackfest-2016-fb1ej6shq" -->

---
title: GTK Hackfest 2016 | daily.dev
description: A developer's notes from the GTK Hackfest in Toronto covering several non-GUI topics. Key discussions included Flatpak portals (D-Bus services exposing desktop...
canonical: https://daily.dev/posts/gtk-hackfest-2016-fb1ej6shq
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: GTK Hackfest 2016 | daily.dev
og:description: A developer's notes from the GTK Hackfest in Toronto covering several non-GUI topics. Key discussions included Flatpak portals (D-Bus services exposing desktop...
og:url: https://daily.dev/posts/gtk-hackfest-2016-fb1ej6shq
og:image: https://api.daily.dev/og/posts/Fb1Ej6ShQ.png
og:image:alt: GTK Hackfest 2016
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# GTK Hackfest 2016

**[Collabora Blog](https://daily.dev/sources/collabora)** · 10 min read · 0 upvotes · 0 comments

## Summary

A developer's notes from the GTK Hackfest in Toronto covering several non-GUI topics. Key discussions included Flatpak portals (D-Bus services exposing desktop functionality to sandboxed apps, with planned portals for file chooser, image capture, URI opening, notifications, and more), environment variable handling challenges for Wayland sessions, relocatable binary packages on Linux (making GLib discover app location like it does on Windows/macOS), and GTK versioning/lifecycle proposals. Also covered: Debian packaging work for Flatpak 0.6.5, bubblewrap, and OSTree, plus conversations with Endless developers about OSTree+Debian deployment.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.collabora.com/news-and-blog/blog/2016/06/22/gtk-hackfest-2016>

## Questions this post answers

### How do Flatpak portals handle file selection for sandboxed apps?

The file chooser portal works by having a D-Bus service in Flatpak request the wider system to show an 'Open...' dialog. If the user selects a file, it is returned to the contained application through a FUSE filesystem called the document portal. The reference UX implementation uses GtkFileChooserDialog, with the expectation that other environments like KDE will substitute their own equivalent.

_Developers building or packaging sandboxed Linux apps track Flatpak ecosystem developments on daily.dev._

### What is the proposed meaning of relative paths in .desktop and D-Bus .service files on Linux?

A non-absolute path in a .desktop or .service file should be interpreted relative to the directory where that file was found. For example, if /opt/whatever/share/applications/foo.desktop contains Exec=../../bin/foo, then /opt/whatever/bin/foo is what should be executed. This mirrors how relocatable binary packages work on Windows and macOS with GLib's path discovery.

_Linux packaging decisions like this one are the kind of thing desktop and distro developers follow on daily.dev._

## Similar posts on daily.dev

- [GTK Developers Working On Session Saving Support & Better Accessibility This Year](https://daily.dev/posts/gtk-developers-working-on-session-saving-support-better-accessibility-this-year-spu2h1ct5) · Phoronix · 0 upvotes · 0 comments
- [FOSS Weekly \#25.42: Hyprland Controversy, German State with Open Source, New Flatpak App Center and a Lot More Linux Stuff](https://daily.dev/posts/foss-weekly-25-42-hyprland-controversy-german-state-with-open-source-new-flatpak-app-center-and--iv1jaghgk) · It's Foss · 2 upvotes · 0 comments
- [GNOME's Very Exciting Week From Flatpak Funding To Reset Recovery Plus Apps](https://daily.dev/posts/gnome-s-very-exciting-week-from-flatpak-funding-to-reset-recovery-plus-apps-0atef3z1v) · Phoronix · 0 upvotes · 0 comments

---

Tags: [#linux](https://daily.dev/tags/linux)

[View this post on daily.dev](https://daily.dev/posts/gtk-hackfest-2016-fb1ej6shq)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"GTK Hackfest 2016","url":"https://daily.dev/posts/gtk-hackfest-2016-fb1ej6shq","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/gtk-hackfest-2016-fb1ej6shq"},"datePublished":"2026-08-11T08:56:50.162Z","dateModified":"2026-08-11T09:44:03.269Z","description":"A developer's notes from the GTK Hackfest in Toronto covering several non-GUI topics. Key discussions included Flatpak portals (D-Bus services exposing desktop...","image":"https://media.daily.dev/image/upload/s--HRgLpUt6--/f_auto/v1722860399/public/Placeholder%2003","thumbnailUrl":"https://media.daily.dev/image/upload/s--HRgLpUt6--/f_auto/v1722860399/public/Placeholder%2003","isAccessibleForFree":true,"articleSection":"Collabora Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Collabora Blog","logo":"https://media.daily.dev/image/upload/s--ZGZ0FjqS--/f_auto,q_auto/v1786438306/logos/collabora?_a=BAMAMicg0","url":"https://daily.dev/sources/collabora"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/gtk-hackfest-2016-fb1ej6shq","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"linux","timeRequired":"PT10M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Collabora Blog","item":"https://daily.dev/sources/collabora"},{"@type":"ListItem","position":3,"name":"GTK Hackfest 2016"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/gtk-hackfest-2016-fb1ej6shq#faq","mainEntity":[{"@type":"Question","name":"How do Flatpak portals handle file selection for sandboxed apps?","acceptedAnswer":{"@type":"Answer","text":"The file chooser portal works by having a D-Bus service in Flatpak request the wider system to show an 'Open...' dialog. If the user selects a file, it is returned to the contained application through a FUSE filesystem called the document portal. The reference UX implementation uses GtkFileChooserDialog, with the expectation that other environments like KDE will substitute their own equivalent. Developers building or packaging sandboxed Linux apps track Flatpak ecosystem developments on daily.dev."}},{"@type":"Question","name":"What is the proposed meaning of relative paths in .desktop and D-Bus .service files on Linux?","acceptedAnswer":{"@type":"Answer","text":"A non-absolute path in a .desktop or .service file should be interpreted relative to the directory where that file was found. For example, if /opt/whatever/share/applications/foo.desktop contains Exec=../../bin/foo, then /opt/whatever/bin/foo is what should be executed. This mirrors how relocatable binary packages work on Windows and macOS with GLib's path discovery. Linux packaging decisions like this one are the kind of thing desktop and distro developers follow on daily.dev."}}]}
```

