✨ feat(osd): add OSD for brightness, volume, and microphone controls
This commit is contained in:
15 files changed
+520
-1231
No files matched your search
@@ -1,52 +0,0 @@
|
||||
"""
|
||||
Plugin system for the launcher module.
|
||||
Allows extending search functionality with different content types.
|
||||
"""
|
||||
|
||||
from abc import ABC, abstractmethod
|
||||
from typing import List, Dict, Any, Optional
|
||||
|
||||
|
||||
class LauncherPlugin(ABC):
|
||||
"""Base class for launcher plugins"""
|
||||
|
||||
@property
|
||||
@abstractmethod
|
||||
def name(self) -> str:
|
||||
"""Name of the plugin"""
|
||||
pass
|
||||
|
||||
@property
|
||||
@abstractmethod
|
||||
def category(self) -> str:
|
||||
"""Category this plugin belongs to"""
|
||||
pass
|
||||
|
||||
@property
|
||||
def icon_name(self) -> str:
|
||||
"""Icon name for this plugin's category"""
|
||||
return "application-x-executable-symbolic"
|
||||
|
||||
@abstractmethod
|
||||
def search(self, query: str) -> List[Dict[str, Any]]:
|
||||
"""
|
||||
Search for items matching the query
|
||||
|
||||
Returns a list of dictionaries with at least:
|
||||
- title: str
|
||||
- description: str
|
||||
- icon_name: str (optional)
|
||||
- action: callable
|
||||
"""
|
||||
pass
|
||||
|
||||
def get_action_items(self, query: str) -> List[Dict[str, Any]]:
|
||||
"""
|
||||
Get quick action items for the query
|
||||
|
||||
Returns a list of dictionaries with at least:
|
||||
- title: str
|
||||
- icon_name: str
|
||||
- action: callable
|
||||
"""
|
||||
return []
|
||||
Reference in new issue
Block a user