feat(root): implement dynamic todo list refresh and UI enhancements
This change adds a mechanism to refresh the todo list dynamically when the underlying service updates, improving UI responsiveness and user experience. It also updates documentation and removes deprecated files. - New Features: - Added `_refresh_todos` method to rebuild the todo list when `get_todo_service().todos` changes. - Introduced `TodoListCapture` class for mouse capture handling of the todo list window. - Enhancements: - Updated README with corrected image paths, installation tips, and manual installation commands. - Introduced `start.py` to launch the application or lock mode. - Removed deprecated `config.json` and `debug_memory.py`. - Bug Fixes: - Fixed lock screen screenshot path in README.
This commit is contained in:
267 files changed
+24582
-394
No files matched your search
@@ -0,0 +1,116 @@
|
||||
import json
|
||||
|
||||
from fabric.utils import Gdk, GLib, get_relative_path, os
|
||||
|
||||
from utils.functions import parse_timeout_string
|
||||
|
||||
APP_NAME = "modus1"
|
||||
APP_NAME_CAP = "Modus"
|
||||
|
||||
|
||||
CACHE_DIR = str(GLib.get_user_cache_dir()) + f"/{APP_NAME}"
|
||||
USERNAME = os.getlogin()
|
||||
HOSTNAME = os.uname().nodename
|
||||
HOME_DIR = GLib.get_home_dir()
|
||||
|
||||
CONFIG_DIR = os.path.expanduser(f"~/.config/{APP_NAME}")
|
||||
|
||||
screen = Gdk.Screen.get_default()
|
||||
CURRENT_WIDTH = screen.get_width()
|
||||
CURRENT_HEIGHT = screen.get_height()
|
||||
|
||||
|
||||
WALLPAPERS_DIR_DEFAULT = get_relative_path("../assets/wallpapers_example/")
|
||||
CONFIG_FILE = get_relative_path("../../config/config.json")
|
||||
MATUGEN_STATE_FILE = os.path.join(CONFIG_DIR, "matugen")
|
||||
|
||||
|
||||
def load_config():
|
||||
"""Load the configuration from config.json"""
|
||||
try:
|
||||
from services.config import start_config_service
|
||||
|
||||
service = start_config_service()
|
||||
return service.get_all()
|
||||
except ImportError:
|
||||
# Fallback to direct file loading
|
||||
config = {}
|
||||
|
||||
if os.path.exists(CONFIG_FILE):
|
||||
try:
|
||||
with open(CONFIG_FILE, "r") as f:
|
||||
config = json.load(f)
|
||||
except Exception as e:
|
||||
print(f"Error loading config: {e}")
|
||||
|
||||
return config
|
||||
|
||||
|
||||
if os.path.exists(CONFIG_FILE):
|
||||
with open(CONFIG_FILE, "r") as f:
|
||||
config = json.load(f)
|
||||
wallpapers_dir_from_config = config.get("wallpapers_dir", WALLPAPERS_DIR_DEFAULT)
|
||||
WALLPAPERS_DIR = os.path.expanduser(wallpapers_dir_from_config)
|
||||
DOCK_POSITION = config.get("dock_position", "Bottom")
|
||||
DOCK_ENABLED = config.get("dock_enabled", True)
|
||||
DOCK_AUTO_HIDE = config.get("dock_auto_hide", True)
|
||||
DOCK_ALWAYS_OCCLUDED = config.get("dock_always_occluded", False)
|
||||
DOCK_ICON_SIZE = config.get("dock_icon_size", 60)
|
||||
WINDOW_SWITCHER_ITEMS_PER_ROW = config.get("window_switcher_items_per_row", 10)
|
||||
HIDE_SPECIAL_WORKSPACE = config.get("hide_special_workspace", True)
|
||||
DOCK_HIDE_SPECIAL_WORKSPACE_APPS = config.get(
|
||||
"dock_hide_special_workspace_apps", True
|
||||
)
|
||||
|
||||
NOTIFICATION_TIMEOUT_STR = config.get("notification_timeout", "5s")
|
||||
NOTIFICATION_TIMEOUT = parse_timeout_string(NOTIFICATION_TIMEOUT_STR)
|
||||
NOTIFICATION_IGNORED_APPS_HISTORY = config.get(
|
||||
"notification_ignored_apps_history", ["Hyprshot"]
|
||||
)
|
||||
NOTIFICATION_LIMITED_APPS_HISTORY = config.get(
|
||||
"notification_limited_apps_history", ["Spotify"]
|
||||
)
|
||||
|
||||
PANEL_COMPONENTS_VISIBILITY = {
|
||||
"imac_button": config.get("imac_button_visible", True),
|
||||
"systray": config.get("systray_visible", True),
|
||||
"control_center": config.get("control_center_visible", True),
|
||||
"search": config.get("search_visible", True),
|
||||
"global_menu": config.get("global_menu_visible", True),
|
||||
"network": config.get("network_visible", True),
|
||||
"battery": config.get("battery_visible", True),
|
||||
"notification_center": config.get("notification_center_visible", True),
|
||||
"workspace_indicator": config.get("workspace_indicator_visible", True),
|
||||
"bluetooth": config.get("bluetooth_visible", True),
|
||||
"date_time": config.get("date_time_visible", True),
|
||||
}
|
||||
|
||||
else:
|
||||
WALLPAPERS_DIR = WALLPAPERS_DIR_DEFAULT
|
||||
DOCK_POSITION = "Bottom"
|
||||
DOCK_ENABLED = True
|
||||
DOCK_ALWAYS_OCCLUDED = False
|
||||
DOCK_AUTO_HIDE = True
|
||||
DOCK_ICON_SIZE = 52
|
||||
WINDOW_SWITCHER_ITEMS_PER_ROW = 10
|
||||
HIDE_SPECIAL_WORKSPACE = True
|
||||
DOCK_HIDE_SPECIAL_WORKSPACE_APPS = True
|
||||
|
||||
NOTIFICATION_TIMEOUT_STR = "5s"
|
||||
NOTIFICATION_TIMEOUT = parse_timeout_string(NOTIFICATION_TIMEOUT_STR)
|
||||
NOTIFICATION_IGNORED_APPS_HISTORY = ["Hyprshot"]
|
||||
NOTIFICATION_LIMITED_APPS_HISTORY = ["Spotify"]
|
||||
|
||||
PANEL_COMPONENTS_VISIBILITY = {
|
||||
"imac_button": True,
|
||||
"systray": True,
|
||||
"control_center": True,
|
||||
"search": True,
|
||||
"global_menu": True,
|
||||
"network": True,
|
||||
"battery": True,
|
||||
"notification_center": True,
|
||||
"workspace_indicator": True,
|
||||
"bluetooth": True,
|
||||
"date_time": True,
|
||||
}
|
||||
Reference in new issue
Block a user