Skip to content
Samuele Zolfanelli edited this page May 22, 2021 · 1 revision

Welcome to the Godot Linux Launcher wiki!

This is an introduction to how the launcher works internally and how it can be extended and customized.

The launcher is made by a core, the system, that loads modular components at runtime and and uses them to provide the apps and functionalities you see inside it.

The main types of modular components are:

  1. Desktops
  2. Widgets
  3. Apps
  4. Services
  5. Themes
  6. Icons

By default, the launcher includes the default module, which is a bundle of components that provide basic features and good support for a device called GameShell out of the box. It supports other devices too, but less optimally.

Components internally can use and take advantage of features implemented by other components using the event system. Each component is also optionally tagged with keywords to better distinguish them, in case a component wants to use a specific category of other components to perform a task for example.

Default Module

The default module implements:

  1. A light theme and a dark theme, for small screens.
  2. A battery remaining widget and alert notifications.
  3. A Wi-Fi widget and connection settings for wicd backends.
  4. A sound volume widget and settings for alsa audio backends.
  5. A brightness control widget, supports the GameShell.
  6. An explorer and apps launcher, GameShell style.
  7. A settings app, useful to configure the launcher the ways each component allows.
  8. A keyboard app to type words and passwords without a real keyboard.
  9. A launcher updater, utilizing git to check and perform updates.
  10. Icons for a few apps, mostly ones that come preinstalled in the GameShell.
  11. An input remapper, useful to remap keys to your liking.
  12. A power manager, can be configured to turn off the screen or the device if inactive for some time.
  13. A time widget, shows the time and date.
  14. An app to handle running applications other than the launcher itself.
  15. A GameShell-like desktop configuration, with top and bottom bars.

As you can see, almost the entirety of the launcher real capabilities is provided by swappable components!

Settings

Each component can expose settings to the settings app, so that the user can configure them as needed in one place.

The default module exposes a few things, like the input remapper, Wi-Fi settings, theme selection, language selection, and more.

Clone this wiki locally