Skip to content

Sonic-DE/sonic-activities

Repository files navigation

sonic-activities

Core components for the SonicDE Activity which is an MVC framework for storing user action history such as files, folders and applications opened. Things like launchers and file explorers can then show such information in their interface allowing you to get back to common activities quickly.

Introduction

When a user is interacting with a computer, there are three main areas of contextual information that may affect the behaviour of the system: who the user is, where they are, and what they are doing.

Activities deal with the last one. An activity might be "developing a KDE application", "studying 19th century art", "composing music" or "watching funny videos". Each of these activities may involve multiple applications, and a single application may be used in multiple activities (for example, most activities are likely to involve using a web browser, but different activities will probably involve different websites).

sonic-activities provides the infrastructure needed to manage a user's activities, allowing them to switch between tasks, and for applications to update their state to match the user's current activity. This includes a daemon, a library for interacting with that daemon, and plugins for integration with other frameworks.

Usage

Most applications that wish to be activity-aware will want to use KActivities::Consumer to keep track of the user's current activity, and KActivities::ResourceInstance to notify the activity manager of resources the user has accessed (this is not necessary for resources accessed via KIO, as a plugin is provided to do that automatically).

The other classes available in the API are primarily intended for use by the workspace to allow the user to view and manage available activities.