diff --git a/__init__.py b/__init__.py index b4ee948..5b3838b 100644 --- a/__init__.py +++ b/__init__.py @@ -19,6 +19,7 @@ import sys import urllib2 import webbrowser +import subprocess from adapt.intent import IntentBuilder from adapt.tools.text.tokenizer import EnglishTokenizer @@ -73,6 +74,11 @@ class DesktopLauncherSkill(MycroftSkill): "LaunchDesktopApplicationIntent").require("LaunchKeyword").require( "Application").build() self.register_intent(launch_intent, self.handle_launch_desktop_app) + + close_intent = IntentBuilder( + "CloseDesktopApplicationIntent").require("CloseKeyword").require( + "Application").build() + self.register_intent(close_intent, self.handle_close_desktop_app) launch_website_intent = IntentBuilder( "LaunchWebsiteIntent").require("LaunchKeyword").require( @@ -89,6 +95,10 @@ class DesktopLauncherSkill(MycroftSkill): apps = self.appmap.get(app_name) if apps and len(apps) > 0: apps[0].launch() + + def handle_close_desktop_app(self, message): + app_name = message.data.get('Application') + subprocess.call( [ "killall", "-9", app_name ] ) def handle_launch_website(self, message): site = message.data.get("Website") diff --git a/vocab/en-us/CloseKeyword.voc b/vocab/en-us/CloseKeyword.voc new file mode 100644 index 0000000..c74c795 --- /dev/null +++ b/vocab/en-us/CloseKeyword.voc @@ -0,0 +1,2 @@ +close +end