feat: system settings stored as applets in virtual folder

This commit is contained in:
2026-04-23 15:36:03 +02:00
parent 348ff6981b
commit d912a636e9
21 changed files with 747 additions and 359 deletions
+36
View File
@@ -155,6 +155,41 @@ inline void format_size(char* buf, int size) {
}
}
// ============================================================================
// Desktop builtins
// ============================================================================
enum DesktopBuiltinId : int {
DESKTOP_BUILTIN_NONE = -1,
DESKTOP_BUILTIN_FILES = 1,
DESKTOP_BUILTIN_DESKTOP_SETTINGS = 11,
DESKTOP_BUILTIN_REBOOT = 12,
DESKTOP_BUILTIN_SHUTDOWN = 14,
DESKTOP_BUILTIN_LOG_OUT = 16,
DESKTOP_BUILTIN_LOCK_SCREEN = 17,
DESKTOP_BUILTIN_SLEEP = 18,
DESKTOP_BUILTIN_USER_MANAGEMENT = 19,
DESKTOP_BUILTIN_SYSTEM_CONFIGURATION = 20,
};
inline constexpr const char* FILEMANAGER_PATH_SYSTEM_CONFIGURATION =
"virtual://system-configuration";
struct DesktopBuiltinEntry {
DesktopBuiltinId id;
const char* label;
int launcher_category;
bool launcher_footer;
bool system_tools_applet;
const char* icon_path;
};
const DesktopBuiltinEntry* desktop_builtin_registry(int* count);
const DesktopBuiltinEntry* desktop_builtin_entry(DesktopBuiltinId id);
SvgIcon* desktop_builtin_menu_icon(DesktopState* ds, DesktopBuiltinId id);
void desktop_launch_builtin(DesktopState* ds, DesktopBuiltinId id);
void desktop_lock_screen(DesktopState* ds);
// ============================================================================
// Forward declarations for desktop launch entry points
// ============================================================================
@@ -167,6 +202,7 @@ void open_calculator(DesktopState* ds);
void open_texteditor(DesktopState* ds);
void open_klog(DesktopState* ds);
void open_settings(DesktopState* ds);
void open_user_manager(DesktopState* ds);
void open_reboot_dialog(DesktopState* ds);
void open_wordprocessor(DesktopState* ds);
void open_shutdown_dialog(DesktopState* ds);