feat: architectural improvements for Apps and System Configuration virtual folders in Files

This commit is contained in:
2026-04-30 16:51:08 +02:00
parent b4be0fcc0f
commit f66c9bf1f7
15 changed files with 231 additions and 206 deletions
+11 -13
View File
@@ -8,18 +8,18 @@
#include <montauk/user.h>
static const DesktopBuiltinEntry builtin_entries[] = {
{ DESKTOP_BUILTIN_FILES, "Files", 0, false, false, "0:/icons/system-file-manager.svg" },
{ DESKTOP_BUILTIN_DESKTOP_SETTINGS, "Desktop Settings", -1, false, true,
{ DESKTOP_BUILTIN_FILES, "Files", 0, false, nullptr, "0:/icons/system-file-manager.svg" },
{ DESKTOP_BUILTIN_DESKTOP_SETTINGS, "Desktop Settings", -1, false, "desktop-settings",
"0:/icons/preferences-desktop-apps.svg" },
{ DESKTOP_BUILTIN_SYSTEM_CONFIGURATION, "System Configuration", -1, true, false,
{ DESKTOP_BUILTIN_SYSTEM_CONFIGURATION, "System Configuration", -1, true, nullptr,
"0:/icons/preferences-system.svg" },
{ DESKTOP_BUILTIN_USER_MANAGEMENT, "User Management", -1, false, true,
{ DESKTOP_BUILTIN_USER_MANAGEMENT, "User Management", -1, false, "user-management",
"0:/icons/user-home.svg" },
{ DESKTOP_BUILTIN_LOCK_SCREEN, "Lock Screen", -1, true, false, nullptr },
{ DESKTOP_BUILTIN_LOG_OUT, "Log Out", -1, true, false, nullptr },
{ DESKTOP_BUILTIN_SLEEP, "Sleep", -1, true, false, nullptr },
{ DESKTOP_BUILTIN_REBOOT, "Reboot", -1, true, false, nullptr },
{ DESKTOP_BUILTIN_SHUTDOWN, "Shutdown", -1, true, false, nullptr },
{ DESKTOP_BUILTIN_LOCK_SCREEN, "Lock Screen", -1, true, nullptr, nullptr },
{ DESKTOP_BUILTIN_LOG_OUT, "Log Out", -1, true, nullptr, nullptr },
{ DESKTOP_BUILTIN_SLEEP, "Sleep", -1, true, nullptr, nullptr },
{ DESKTOP_BUILTIN_REBOOT, "Reboot", -1, true, nullptr, nullptr },
{ DESKTOP_BUILTIN_SHUTDOWN, "Shutdown", -1, true, nullptr, nullptr },
};
static constexpr int builtin_entry_count = sizeof(builtin_entries) / sizeof(builtin_entries[0]);
@@ -44,7 +44,7 @@ SvgIcon* desktop_builtin_menu_icon(DesktopState* ds, DesktopBuiltinId id) {
case DESKTOP_BUILTIN_DESKTOP_SETTINGS: return &ds->icon_settings;
case DESKTOP_BUILTIN_SYSTEM_CONFIGURATION:
ensure_filemanager_icons_loaded(ds);
return &ds->icon_system_tools_menu;
return &ds->icon_system_configuration_menu;
case DESKTOP_BUILTIN_LOCK_SCREEN: return &ds->icon_lock;
case DESKTOP_BUILTIN_LOG_OUT: return &ds->icon_logout;
case DESKTOP_BUILTIN_SLEEP: return &ds->icon_sleep;
@@ -89,9 +89,7 @@ void desktop_launch_builtin(DesktopState* ds, DesktopBuiltinId id) {
switch (id) {
case DESKTOP_BUILTIN_FILES: open_filemanager(ds); break;
case DESKTOP_BUILTIN_DESKTOP_SETTINGS: open_settings(ds); break;
case DESKTOP_BUILTIN_SYSTEM_CONFIGURATION:
open_filemanager_path(ds, FILEMANAGER_PATH_SYSTEM_CONFIGURATION);
break;
case DESKTOP_BUILTIN_SYSTEM_CONFIGURATION: open_system_configuration(ds); break;
case DESKTOP_BUILTIN_USER_MANAGEMENT: open_user_manager(ds); break;
case DESKTOP_BUILTIN_REBOOT: open_reboot_dialog(ds); break;
case DESKTOP_BUILTIN_SHUTDOWN: open_shutdown_dialog(ds); break;