Part I. Introducing Sandbox Utils

It's a series of utilities designed to help a sandboxed app communicate with the outside world and get access to desktop features and user documents. It does not provide a sandboxing mechanism or a method to be used jointly with a specific mechanism (yet).

Sandbox Utils currently provides a #SandboxFileChooserDialog based on the #GtkFileChooserDialog class (but slightly different). In a distant future, we aim to provide a #RecentChooserMenu; a widget that scans for files of user-chosen mime types in user-chosen folders and gives permanent (read-only or read-write) access to them for apps like music players; a slightly different file chooser that allows one-click group selections for apps that save multiple files per project; a print dialog; buttons to provide access to various capabilities such as using the webcam, recording the screen, providing a virtual keyboard, etc.

Designed for GNU/Linux only. The current version is a prototype that relies on XEmbed to provide GUI integration between the Sandbox Utils server and your application. It will start using a different interface built for Wayland compositors when such an interface becomes available.

Written in C with multiple GLib and GTK+ dependencies. The code structure is freely inspired by GTK+, and much of the code and documentation is a straight copy. Thanks GTK+ for your permissive license! This project is distributed under a GNU Lesser General Public License v3.

Want to contribute a Qt version? Get in touch!

Table of Contents

Why do we need Sandboxing? — Historical reasons behind the need for a sandboxing mechanism
Scope of the Project — What we aim to provide in the long term
How to Use Sandbox Utils — Sandbox Utils for Users and Developers
How to Contribute — Getting in touch and writing code