ddterm depends on multiple GObject libraries (gi:// imports),
some of them are often not installed by default.
Instead of silently failing, a notification is shown:
On supported distributions, it has an "Install" button, which installs the requested packages.
gjs-typelib-installer is the backend for it. It implements:
-
require()function that tries to import libraries, and throwsMissingDependenciesexception if import fails. The exception contains a list of packages that need to be installed to fix the issue. -
findTerminalInstallCommand()function that finds a working package installation method for the current OS.
