/cosmic-launcher

WIP

Primary LanguageRustGNU General Public License v3.0GPL-3.0

Cosmic Launcher

Layer Shell frontend for https://github.com/pop-os/launcher. Currently the underlying protocol being used in the plugin for managing toplevels in wayland is defined here but it will be switched to use wlr-foreign-toplevel-management when it is ready.

Building

Cosmic Launcher is set up to build a deb and a Nix flake, but it can be built using just.

Some Build Dependencies:

  cargo,
  just,
  intltool,
  appstream-util,
  desktop-file-utils,
  libxkbcommon-dev,
  pkg-config,
  desktop-file-utils,

Build Commands

For a typical install from source, use just followed with sudo just install.

just
sudo just install

If you are packaging, run just vendor outside of your build chroot, then use just build-vendored inside the build-chroot. Then you can specify a custom root directory and prefix.

# Outside build chroot
just clean-dist
just vendor

# Inside build chroot
just build-vendored
sudo just rootdir=debian/cosmic-launcher prefix=/usr install

Translators

Translation files may be found in the i18n directory. New translations may copy the English (en) localization of the project and rename en to the desired ISO 639-1 language code. Translations may be submitted through GitHub as an issue or pull request. Submissions by email or other means are also acceptable; with the preferred name and email to associate with the changes.

Debugging & Profiling

Profiling async tasks with tokio-console

To debug issues with asynchronous code, install tokio-console and run it within a separate terminal. Then kill the cosmic-launcher process a couple times in quick succession to prevent cosmic-session from spawning it again. Then you can start cosmic-launcher with tokio-console support either by running just tokio-console from this repository to test code changes, or env TOKIO_CONSOLE=1 cosmic-launcher to enable it with the installed version of cosmic-launcher.