Code Monkey home page Code Monkey logo

lapel's Introduction

Assistant Translation status

Voice assistant GUI based on Mycroft

Screenshot of the software.

Installing

The project can be built and installed with Meson:

$ meson . build
$ meson compile -C build
$ sudo meson install -C build

For development purposes, the launcher can be started using the provided ./run script, which will automatically launch the GTK4 debugger.

Before you can use the ./run script, you will need to install Meson.

Requirements

Runtime

Build

These are also needed if you're planning to use the provided run scripts.

  • meson
  • glib2-dev or equivalent (needed for glib-compile-schemas)
  • desktop-file-utils (needed for update-desktop-database)

Contributing

See Aspinwall's contributing guide.

We also use Weblate for translations. Weblate project

lapel's People

Contributors

comradekingu avatar ddinghoya avatar knuxify avatar maronghappy avatar nathanbnm avatar puretryout avatar weblate avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

Forkers

weblate

lapel's Issues

First release TODO

This issue outlines the tasks that need to be done before the app is ready for a proper release.

  • Assistant
    • Show message time (74df859)
    • Fix going into voice control mode (7374b66)
    • Add voice control GUI (11af560)
    • Send button in entry (cd56d28)
    • Auto-scroll to the bottom (ada8e3c, 591b1d3 - still kinda janky, will need fixes)
    • Stop recording when message is being typed/sent - should prevent issues with e.g. confirmation dialogs (743a698)
  • Skills menu (9a77227, 91d24bb, more improvements yet to come)
  • Preferences menu (21fb7cb)
    • Websocket address selection (21fb7cb)
  • About menu
  • Wrappers
    • Image attachment dialog wrapper (e103c45)
    • Better handling for hiding suggestion wrappers (76c429b)
  • Background daemon that allows the UI to show up when Mycroft is called, even outside of the app (84d51e0, 90a72db, 5ddd8ee)
  • Pairing dialog (ce63001)
  • Error handling (9475b7e)
    • Make it appear in all views, not just the assistant (610485f)
    • Lock view switcher buttons (4806696)
    • Add custom checker for Mycroft presence (193091b)
    • Re-create client when the connection is dropped (0ac7c60)
  • Add commandline argument to start as daemon (ef2474a)

Postponed for next release

  • TTS/SST settings? (Plasma Mobile seems to have something related, according to mycroft-gui commits - what is it, and does GNOME offer something similar?)
  • Text parsing workarounds (many skills, such as showing the IP or installed version, change the text to make the numbers more readable to text-to-speech - we need to turn it back to a more readable form)
  • Proper Flatpak support

native OVOS integration

hello! just found out about this project thanks to @PureTryOut

i am not familiar with GTK or with this code base, i took a quick look at the repo. apologies if my terminology is off or i misunderstood something

my suggestion is that this is made to support all the SYSTEM_XXX.qml equivalents, these correspond to templates commonly used by skills, eg, self.gui.show_image, self.gui.show_text, docs here and can be easily parsed from the requested page name

regarding the hardcoding of skill_ids to views, i wonder how we could best allow skills to provide this (optionally)

gui_wrappers = {
    "mycroft-fallback-duck-duck-go.mycroftai": AnswerImageWrapper,
    "mycroft-wiki.mycroftai": AnswerImageWrapper
}

we have been discussing the best way to support other GUIs that don't use QML such as javascript or command line interfaces, the easy implementation would be to check if the skill provides a equivalent named file with different file extensions, ie

  • .qml
  • .ui
  • .html
  • .jsx

if we implement this in ovos, would the .ui format seen here be the way to go from skill developers side if they wanted to explicitly support lapel or other GTK based gui clients?

Figure out Flatpak packaging

The main issue is how we're going to include Mycroft libraries. (While leaving the server bits to be handled outside the container seems fine, remember we still need the mycroft module itself for some things.)

Improve pop-up design

There are three problems with the current popup:

  • it doesn't show the messages, only opens the full app
  • it doesn't always work on all compositors (for example, when fullscreened on Phosh the background is black rather than transparent)
  • and in general, it looks ugly on anything that isn't a phone display.

We need a better design for the pop-up.

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.