Skip to content

KanoComputing/kano-desktop

Folders and files

NameName
Last commit message
Last commit date
Oct 4, 2018
Jul 18, 2018
Sep 4, 2019
Apr 8, 2019
Aug 1, 2019
Jun 4, 2018
May 5, 2015
Nov 29, 2017
Dec 5, 2016
May 5, 2015
Oct 10, 2017
Jun 21, 2018
Mar 13, 2015
Mar 14, 2017
Jun 9, 2016
Sep 4, 2019
Mar 2, 2017
Jun 18, 2014
Aug 11, 2017
Jun 4, 2018
Oct 5, 2017
Feb 8, 2016
Mar 13, 2015
May 27, 2015

Repository files navigation

Kano Desktop

Kano Desktop is a package that draws together many packages to provide an integrated desktop experience, built on Raspbian's LXDE. Most of the actual code resides in its dependencies; what is provided directly are configuration files and integration scripts.

Visit the project's wiki to get the full description.

Collaborate!

kano-uixinit

This script is run by the LXDE autostart file and performs a number of functions:

  • On first login:

  • Runs kano-tutorial to introduce the user to their computer

  • Runs kano-init-flow to and prompt them to make configuration choices via kano-settings

  • Shows an introductory video

  • Account setup using kano-init and kano-login

  • On each login, sets up the desktop.

  • Acts as a point at which other packages which need notification of login are called, eg kano-init and kano-updater

  • Syncs state for apps integrated with Kano World via kano-sync

  • Configures: screensaver, audio (alsa-utils), keyboard, mouse, and kano-vnc

  • Starts lxpanel, kano-mount-trigger, kdesk, and kano-feedback-widget

Configuration files

This repo contains configuration files for

  • LXDE
  • lxpanel
  • openbox
  • chromium
  • gtk file chooser
  • libfm (automatically generated, should be changed via preferences dialog)
  • pcmanfm (automatically generated, should be changed via preferences dialog)
  • rxvt - see man rxvt
  • lxterminal
  • dconf (a binary file which is edited using gconftool-2)

Plus a default .bashrc

Keyboard integration

Kano supply a custom keyboard; support for which is in this repo.

  • kano-uixinit detects the keyboard and starts xbindkeys, with one of two configurations to be found in config/keyboard.
  • The script bin/kano-screenshot-hotkey is triggered from Ctrl-Alt-Equal on the KANO keyboard or Control-Print on normal keyboard. This causes a screenshot to be taken and placed in ~/Screenshots/
  • Save, Load, Make and Share keys on the Kano keyboard trigger certain actions via kano-signal
  • Volume up and down keys via kano-volume
  • Support for switching to vertual terminals by presing Ctrl-1,Ctrl-2 on the Kano keyboard.

Desktop integration

kdesk is configured here. Its icons can be found in the icons/, wallpapers in wallpapers/ and configuration in kdesk.

A particularly important script is kdesk/icon_hooks.sh. This allows dynamic configuration of the icons on the desktop. It is currently used to:

  • Display information from the users profile via kano-profile and
  • Display online/offline status and information about notifications on Kano World
  • Trigger actions when the screensaver kicks in. (This is a convenient time to run kano-sync and kano-updater)