pop-os / cosmic-notifications

GNU General Public License v3.0
21 stars 23 forks source link

Cosmic Notifications

Layer Shell notifications daemon which integrates with COSMIC.

Building

Cosmic Notifications 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-notifications 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-notifications process a couple times in quick succession to prevent cosmic-session from spawning it again. Then you can start cosmic-notifications with tokio-console support either by running just tokio-console from this repository to test code changes, or env TOKIO_CONSOLE=1 cosmic-notifications to enable it with the installed version of cosmic-notifications.