Giter Club home page Giter Club logo

kano-apps's Introduction

Kano Apps

Apps is a small app installer and launcher for the Kano OS. It downloads apps from Kano World and installs them on your system. Being focused on ease of use, it colour codes each application and may provide custom icons for some.

Kano World Window

The applications are divided into several categories in the directory:

  • Code,
  • Games,
  • Media,
  • Others,
  • Tools,
  • and Experimental.

The program is written entirely in Python using GTK 3.12 via the gi bindings.

It also reads the desktop entries from /usr/share/applications/ and displays them on the Others pane.

Installation

To install Apps on your system, get the kano-apps from our package repository:

sudo apt-get install kano-apps

If not on Kano OS, you might need to add our repo to your sources list:

deb http://repo.kano.me/archive/ release main

Testing

This project doesn't require any compiling to run, just clone the repo and run the main script:

git clone [email protected]:KanoComputing/kano-apps.git
cd kano-apps/bin
./kano-apps

Contributing

We welcome anyone who would like contribute to this project. Check out the bug tracker and wiki. You might also find some useful information in the generic contributor's guidelines that apply to all of our projects.

License

This program is licensed under the terms of the GNU GPLv2. See the LICENSE file for the full text.

kano-apps's People

Contributors

alexnklein avatar brandonjackson avatar ealdwulf avatar hyperknot avatar japonophile avatar jkimbo avatar lauraenria avatar pazdera avatar radujipa avatar rluz avatar skarbat avatar tombettany avatar wizofe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kano-apps's Issues

Create kano-apps-installer

This will be a python command-line script at the moment, that will download the *.app JSON and the respective icon from kano-world and install it.

It will need to:

  • Install the icon to the theme
  • Regenerate a desktop entries (#13)
  • Install the app file to /usr/local/share/kano-applications
  • Update the icon cache sudo update-icon-caches
  • Install dependencies and the app_packages

It will also need to be able to reverse the process and uninstall the app.

How to distribute apps that are installed by default?

There will be a set of non-removable apps as a part of the kano-apps package and they won't be available for download from the store. These should be mainly core things like the terminal, Codecademy, Chromium, ePDFView, etc ...

We should install other things through kano-apps, so people get the icon and also so they can remove them if they would like to (such as painter, etc ...)

[refactor] Remove the dependency on kano-updater

Apps depend on kano-updater because of a single function. If the function were moved to kano-toolset we could get rid of the dependency which would make it easier to hack on Apps on other platforms.

[refactor] Make module names lowercase

The modules in the kano_apps package are now in CamelCase which doesn't comply with the PEP8 style guide. It would be nice to convert them to lower_case_with_underscores.

Things to be aware of: we need to make sure to propagate the change to all the packages that might depend on kano_apps -- I'm not sure whether there are any at the moment, but it's worth checking.

Manage app icons from the Kano theme

Instead of working with paths, we'll refer to icons in the Kano theme by their name. This is going to make handling them much simpler.

However, there might be a problem with kdesk which doesn't support icon themes at the moment. We might want to consider adding that (or I can hack-in the path for now).

Change all *.desktop entries to *.app entries

This needs to be done in the kano-apps repo and also in all packages that install entries to kano-apps.

The *.app entries should go to /usr/share/kano-applications/ for non-removable ones and /usr/local/share/kano-applications for user-removable ones.

In order to have the icons in the start menu, we'll need to add a dpkg trigger to kano-apps. The trigger should run a script to generate *.desktop entry in /usr/share/applications for each *.app entry.

That will require adding a script to do that (#13).

scroll bar -- too small

Users have trouble scrolling through extras as the scroll bar is very narrow, bit fiddly. Cc @tommysaehl to tweak

Support other desktop space managers

Currently, Apps only work with kdesk as the desktop space manager. This means that if you use the program with any other app providing your desktop space, you won't be able to add icons to the desktop via Apps.

It would be amazing if we were able to detect which one is running and edit the correct configuration files based on that. We could add support for idesk, openbox, pcmanfm and others.

Updating app descriptions

In case we won't use packages for the app descriptions, the only way to update the icon and description+help for an app will be by uninstalling it and installing it back again.

We could implement some sort of ad-hoc updating system, but I don't like that at all ...

Add "Help" to Extras

Considering all the amazing apps we're offering in the Extras folder, it would be great to also add some hints and tips on how to use em.

Like, a "Help" link:
kano-os-extrashelp

Help will take the user to a new screen with additional information about the app, with links to websites and videos (which opens in our media player) โ€“ like our "Kano OS on an iPad" through VNC.

UI Final touches

Several unrelated tasks on the UI:

  • Change the uninstall button bg colour to gray so it looks like a label
  • Change the scrollbar to the one that is in profile
  • Change the categories based on the design
  • Add hints to the ... and + buttons

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.