feat(gui): Implement complete Graphical Desktop Environment, SUB-WM, and apps

- Create separate feature branch 'feat/gui-desktop'
- Implement double-buffered 2D graphics engine with alpha blending, gradients, rounded rects, and font rasterization in gui/gui_gfx.c and include/gui/gui_gfx.h
- Implement alpha-blended mouse pointer overlay in gui/gui_cursor.c and include/gui/gui_cursor.h
- Implement SUB-WM Window Manager with draggable titlebars, close/minimize buttons, drop shadows, and event routing in gui/gui_wm.c and include/gui/gui_wm.h
- Implement Cyberpunk/Nord desktop environment with wallpaper, taskbar, start menu popup, and system tray in gui/gui_desktop.c and include/gui/gui_desktop.h
- Implement built-in GUI apps: System Performance Monitor, GUI Terminal Emulator, File Explorer, Calculator, Paint Studio, and About dialog in gui/gui_apps.c and include/gui/gui_apps.h
- Add 'startx', 'gui', and 'desktop' applets in LazyBox suite
- Verified multi-architecture compilation across x86_64, AArch64, and ARMv8i
This commit is contained in:
subhobhai943 committed 2026-08-21 02:50:55 +05:30
1 parent 492045b24d
commit 109472816c
16 files changed
+1545 -2

No files matched your search

+9
View File
@@ -41,6 +41,7 @@
#include <drivers/virtio_gpu.h>
#include <drivers/e1000e.h>
#include <drivers/virtio_input.h>
#include <gui/gui.h>
#include <arch/arch.h>
#include <kernel/printk.h>
#include <lib/string.h>
@@ -1024,6 +1025,11 @@ static int applet_e1000e(int argc, char** argv) {
return 0;
}
static int applet_startx(int argc, char** argv) {
(void)argc; (void)argv;
return gui_start_desktop();
}
static int applet_readelf(int argc, char** argv) {
if (argc >= 2) {
int fd = vfs_open(argv[1], 0);
@@ -2177,6 +2183,9 @@ static const lazybox_applet_t applets[] = {
{"cpufreq", applet_cpufreq, "cpufreq [-g governor]", "CPU frequency & P-State gov", "System"},
{"gpuinfo", applet_gpuinfo, "gpuinfo", "VirtIO-GPU hardware status", "Virtualization"},
{"e1000e", applet_e1000e, "e1000e", "Intel e1000e PCIe NIC stats", "Network"},
{"startx", applet_startx, "startx", "Start SUB-OS Desktop GUI", "Desktop"},
{"gui", applet_startx, "gui", "Start SUB-OS Desktop GUI", "Desktop"},
{"desktop", applet_startx, "desktop", "Start SUB-OS Desktop GUI", "Desktop"},
{NULL, NULL, NULL, NULL, NULL}
};