Skip to content
Tom Bettany edited this page May 11, 2015 · 2 revisions

Getting Started

Kano Init Flow 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-profile \
                     kano-setting kano-connect

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-init-flow.git

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

Code Structure

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

bin/

There are currently two executables inside the bin/ directory: kano-init-flow and kano-tutorial. The former one is the launcher for the application, and the latter an interactive guide to learning how to use the Kano keyboard.

Python modules

Most of the code is spread across modules in the kano_init_flow and kano_tutorial Python packages. That corresponds to the kano_init_flow/ and kano_tutorial directories respectively in the codebase. Here's a short summary for each of the modules:

from kano_init_flow import ...

  • kano_init_flow.audio_screen: Screen to adjust audio settings
  • kano_init_flow.common: Utilities to modify the config file
  • kano_init_flow.display_screen: Screen to adjust the display settings
  • kano_init_flow.first_screen: The screen seen at launch
  • kano_init_flow.internet_screen: Screen to adjust the internet settings
  • kano_init_flow.keyboard_screen: Screen to adjust the keyboard settings
  • kano_init_flow.paths: Manages the paths to resource directories
  • kano_init_flow.reboot_screen: Screen to adjust the display settings
  • kano_init_flow.settings_intro_screen: Screen to introduce the setting
  • kano_init_flow.template.py: Base classes for screens and useful widgets
  • kano_init_flow.CSS/: Styling for the Gtk widgets

from kano_tutorial import ...

  • kano_tutorial.drag_and_drop: The drag and drop tutorial screen
  • kano_tutorial.paths: Manages the paths to resource directories
  • kano_tutorial.screens: The screens of the tutorial
  • kano_tutorial.tutorial_template: Base classes for screens and useful widgets
  • kano_tutorial.CSS/: Styling for the Gtk widgets

#### media/

This directory contains graphics for the application.

debian/

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

Clone this wiki locally