-
Notifications
You must be signed in to change notification settings - Fork 9
Development
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-themesThen 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-appsThe following section is a brief where's what of Kano Apps. It will give you a high-level overview of the codebase.
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.
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.
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.
A few app descriptors that come as a part of the package.
An icon that will be installed to the kdesk configuration dirs to put an icon to the desktop.
Contains the Debian packaging files. These are the instructions how to build the *.deb package from the sources.