Skip to content
Radek Pazdera edited this page Feb 2, 2015 · 3 revisions

Getting Started

Kano Apps is written in Python, which makes it easy to set up and start hacking on it right away. Before you start, there are a few dependencies you need to install on your Pi:

sudo apt-get install python python-gi kano-toolset kano-updater \
                     kano-themes

Then just clone the repository and you should be ready to go:

# Make a local copy of the code repository
git clone git@github.com:KanoComputing/kano-apps.git

# Find the executable and run it
cd kano-apps/bin
./kano-apps

Code Structure

The following section is a brief where's what of Kano Apps. It will give you a high-level overview of the codebase.

bin/

There are currently two executables inside the bin/ directory: kano-apps and update-app-dir. The former one is the launcher for the application, and the latter a apt-hook that runs every time an application is installed in /usr/share/applications.

from kano_apps import ...

Most of the code is spread across modules in the kano_apps Python package. That corresponds to the kano_apps/ directory in the codebase. Here's a short summary for each of the modules:

  • kano_apps.MainWindow: The implementation of the MainWindow widget. Set up of the window and all the objects happens here.
  • kano_apps.AppGrid: The implementation of the grid of apps, which constitutes the most of the UI.
  • kano_apps.UIElements: Different parts of the UI that didn't fit anywhere else.
  • kano_apps.AppData: Functions for reading and processing app and desktop entires.
  • kano_apps.AppInstaller: A class that handles app installations.
  • kano_apps.AppManage: Helper functions for app management: downloads and (un)installations.
  • kano_apps.DesktopManage: Helpers for managing desktop icons: adding and removing from kdesk.
  • kano_apps.Media: Helper functions for accessing the app's resources.

#### media/

This directory contains CSS styles for GTK3 and graphics for the application.

kano-world-hook/

A plugin for kano-profile that allows users to install applications by clicking on a link on Kano World. See the kano_profile.apps module in Kano Profile to see how it works.

apps/

A few app descriptors that come as a part of the package.

kdesk-icon/

An icon that will be installed to the kdesk configuration dirs to put an icon to the desktop.

debian/

Contains the Debian packaging files. These are the instructions how to build the *.deb package from the sources.

Clone this wiki locally