mirror of
https://github.com/Luzifer/ulauncher-autotype.git
synced 2024-09-19 00:13:00 +00:00
43 lines
1.6 KiB
Python
43 lines
1.6 KiB
Python
from ulauncher.api.client.Extension import Extension
|
|
from ulauncher.api.client.EventListener import EventListener
|
|
from ulauncher.api.shared.event import KeywordQueryEvent, ItemEnterEvent
|
|
from ulauncher.api.shared.item.ExtensionResultItem import ExtensionResultItem
|
|
from ulauncher.api.shared.action.RenderResultListAction import RenderResultListAction
|
|
from ulauncher.api.shared.action.HideWindowAction import HideWindowAction
|
|
from ulauncher.api.shared.action.ExtensionCustomAction import ExtensionCustomAction
|
|
|
|
import subprocess
|
|
|
|
|
|
class AutoType(Extension):
|
|
|
|
def __init__(self):
|
|
super(AutoType, self).__init__()
|
|
self.subscribe(KeywordQueryEvent, KeywordQueryEventListener())
|
|
self.subscribe(ItemEnterEvent, AutoTypeExecute())
|
|
|
|
|
|
class KeywordQueryEventListener(EventListener):
|
|
|
|
def on_event(self, event, extension):
|
|
items = []
|
|
items.append(ExtensionResultItem(icon='images/icon.svg',
|
|
name='Auto-Type text...',
|
|
description='Send text to foremost window using xdotool',
|
|
on_enter=ExtensionCustomAction({
|
|
"query": event.get_argument(),
|
|
}, keep_app_open=False)))
|
|
|
|
return RenderResultListAction(items)
|
|
|
|
|
|
class AutoTypeExecute(EventListener):
|
|
|
|
def on_event(self, event, extension):
|
|
data = event.get_data()
|
|
subprocess.check_call(['xdotool', 'type', data['query']])
|
|
|
|
|
|
if __name__ == '__main__':
|
|
AutoType().run()
|