flathub / io.github.MakovWait.Godots

https://flathub.org/apps/details/io.github.MakovWait.Godots
2 stars 3 forks source link

Flatpak for Godots

Running host applications

This version of Godots is built with special permissions to be able to run commands on the host system outside of the sandbox via flatpak-spawn. This is done by prefixing the command with flatpak-spawn --host. For example, if you want to run gnome-terminal on the host system outside of the sandbox, you can do so by running flatpak-spawn --host gnome-terminal.

Using an external script editor

To spawn an external editor in Godot, all command line arguments must be split from the commands path in the external editor preferences and because the command needs to be prefixed with "flatpak-spawn --host", the Exec Path is replaced by flatpak-spawn and the Exec Flags are prefixed by --host [command path].

For example, for Visual Studio Code, where your external editor preferences would normally look like this...

Exec Path:  code
Exec Flags: --reuse-window {project} --goto {file}:{line}:{col}

...it should look like this inside the Flatpak sandbox:

Exec Path:  flatpak-spawn
Exec Flags: --host code --reuse-window {project} --goto {file}:{line}:{col}

Using Blender

Godot expects the Blender executable to be named blender (lowercase), so a script exactly named blender that executes Blender via flatpak-spawn --host should be created. Below are two Bash scripts which may need to be modified depending on your shell and how Blender is installed.

Bash script assuming Blender is installed in PATH (e.g. using distribution packages)

#!/bin/bash

flatpak-spawn --host blender "$@"

Bash script assuming Blender is installed from Flathub

#!/bin/bash

flatpak-spawn --host flatpak run org.blender.Blender "$@"

Make sure your script is executable using chmod +x blender. Use the directory path containing your script in the Editor Settings (Filesystem > Import > Blender > Blender 3 Path).