participant User participant Ulauncher participant Extension User->Ulauncher: types in query note over Ulauncher: extracts keyword\nand checks if any extension\ncan handle it Ulauncher->Extension: sends InputTriggerEvent note over Extension: on_input method is triggered note over Extension: handles event by preparing\na list of result items Extension->Ulauncher: returns a list of extension results in on_input note over Ulauncher: runs the action Ulauncher->User: render a list of items\nsent by the extension User->Ulauncher: selects an item note over Ulauncher: item may have\non_enter or \non_alt_enter action note over Ulauncher: runs the action opt it's ExtensionCustomAction Ulauncher->Extension: triggers ItemEnterEvent note over Extension: handles the event end