้กน็ฎ็ฎไป โข ้กน็ฎ่ฟๅบฆ โข ๆถๆๆฆ่ง โข ๅฟซ้ๅผๅง
CFDesktop ๆฏไธไธชๅบไบ Qt6 ็ๅตๅ ฅๅผๆก้ขๆกๆถ้กน็ฎ๏ผๆจๅจ่งฃๅณไปฅไธ้ฎ้ข๏ผ
- ๅตๅ ฅๅผ่ฎพๅค UI ็ฐไปฃๅ - ๆไพ็ฌฆๅ Material Design 3 ่ง่็็ฐไปฃ UI
- ๆง่ฝ่ช้ๅบ - ๆ นๆฎ่ฎพๅค็กฌไปถ่ฝๅๅจๆ่ฐๆด UI ๅคๆๅบฆ๏ผไปไฝ็ซฏ ARM ๅฐ้ซๆง่ฝ RK3588 ้ฝ่ฝๆต็ ่ฟ่ก
- ๅผๅๆ็ไฝ - ๆไพๅฎๆด็ SDK ๅๆจกๆๅจ๏ผ็ฎๅๅตๅ ฅๅผ GUI ๅบ็จๅผๅ
- ่ทจๅนณๅฐ็งปๆค้พ - ๆจกๅๅ่ฎพ่ฎก๏ผๆไบ็งปๆคๅฐไธๅๆถๆ (x86_64/ARM64/ARMhf)
- ๆณๅฐ่ฏ้จ็ฝฒๆๆ็ซฏ็ปไธ็ๆก้ขๆจกๆๅจ็ๅตๅ ฅๅผLinux็ฑๅฅฝ่
- Qt ๅบ็จๅผๅ็ฑๅฅฝ่ ๏ผๅฟ๏ผๆณๆณไธไธชAll Same็ๆก้ข๏ผๅฏไปฅ่ฟ่กๅจimx6ull๏ผrk็ณปๅ็่ณๆฏไธไฝๆบ็ๆก้ข๏ผ๏ผ
- ๅตๅ ฅๅผ Linux ็ณป็ป้ๆๅ๏ผๅนปๆณๅผๅง.png๏ผ
ๆฌ้กน็ฎๅ
็ฝฎ AI agent ๅไฝๆฏๆ๏ผClaude Code ไธ Codex CLI๏ผ๏ผ้กน็ฎ็บฆๅฎ้ไธญๅจ AGENT.md๏ผๅไธๆฅๆบ๏ผCLAUDE.md / AGENTS.md ไธบๅๅทฅๅ
ทๅ
ฅๅฃ๏ผใไฝฟ็จ AI ๆถๆฎๆญคๅฟซ้็่งฃๆถๆไธ่ง่๏ผไธไฝฟ็จ AI ๅฏๅฎๅ
จๅฟฝ็ฅ AGENT.md / CLAUDE.md / AGENTS.md ไธ .claude/ ็ฎๅฝ๏ผๅฎไปฌไธๅฝฑๅๆๅปบใ
้กน็ฎ่ฟๅบฆไปฅ
document/status/current.mdไธบๅฏไธไบๅฎๆฅๆบใไปฅไธไธบๅฏนๅคๆฆ่ง๏ผๅฏ่ฝๆปๅ๏ผ็ฒพ็กฎ็ถๆ่ฏทๆฅ้ ่ฏฅๆไปถใ
ๅฝๅ็ฆ็น๏ผ่ท้ใ็ๅฐๆก้ข โ ็นๅพๆ โ ๅผๅบ็จใๆๅฐ้ญ็ฏใ
- โ base ็กฌไปถๆข้ๅฑ๏ผๅซ HWTier๏ผๅฎๆ
- ๐ง ui / desktop ๆ ธๅฟๅฐฑ็ปช๏ผๆๅฐ้ญ็ฏๆงไปถไธๅ็ซฏๅผๅไธญ
- โฌ ่พๅ ฅๆฝ่ฑกใๆจกๆๅจใWayland / ๅตๅ ฅๅผๅ็ซฏๅพ ๅผๅง
ไธไธๆญฅ่ทฏ็บฟไธๅ Phase ็ป่่ง document/status/current.md๏ผๅพ
ๅๆธ
ๅ่ง document/todo/ใ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Material Widget Layer โ
โ (P0: 7ๆงไปถ โ
| P1: 12ๆงไปถ โ
| P2: 27ๆงไปถ โฌ | P3: 25ๆงไปถ โฌ) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Material Behavior Layer (100%) โ
โ StateMachine | RippleHelper | ElevationController | FocusRing โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Animation Engine Layer (90%) โ
โ AnimationFactory | Fade/Slide/Scale โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Theme Engine Layer (100%) โ
โ ThemeManager | ColorScheme | Typography | Motion | Radius โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Math & Utility Layer (100%) โ
โ MathHelper | Color | Easing | Geometry | DevicePixel โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Desktop Base Layer (85%) โ
โ ConfigStore | Logger | ASCII Art | File Operations | System โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
| ๆจกๅ | ่ทฏๅพ | ๅ่ฝ |
|---|---|---|
| ้ ็ฝฎไธญๅฟ | desktop/base/config_manager/ | ๅๅฑๅญๅจ (Temp/App/User/System)ใๅๆด็ๅฌใJSON ๆไน ๅ |
| ๆฅๅฟ็ณป็ป | desktop/base/logger/ | ๅค็ญ็บงๆฅๅฟใๅผๆญฅๅค็ใๅค Sink ๆฏๆ |
| ๆไปถๆไฝ | desktop/base/file_operations/ | ่ทจๅนณๅฐๆไปถๆไฝใๆ้็ฎก็ใ็ๆง |
| ASCII ่บๆฏ | desktop/base/ascii_art/ | ๅฏๅจ Logo ๆธฒๆใASCII ๅพๅฝข |
| ็ณป็ปๆฃๆต | base/system/ | CPU/Memory ไฟกๆฏๆฃๆตใ่ทจๅนณๅฐๆฏๆ |
| ่ฎพๅคๆฝ่ฑก | base/device/ | ๆงๅถๅฐ่ฎพๅคๆฝ่ฑกๅฑใ็ญ็ฅ้พ |
| ๅบ็กๅทฅๅ ท | base/include/base/ | HashใOptionalใScopeGuardใSingleton ็ญ |
| UI ๆ ธๅฟ | ui/core/ | Material Design ไธป้ขๅผๆใToken ็ณป็ป |
| UI ็ปไปถ | ui/components/ | ๅจ็ปๅทฅๅใๅจ็ป็ปใ็ญ็ฅๆจกๅผ |
| UI ๆงไปถ | ui/widget/material/ | Material Design ๆงไปถๅฎ็ฐ |
CFDesktop ้่ฟ IDisplayServerBackend ๆฅๅฃๆฝ่ฑกไบไธ็งๆพ็คบๆจกๅผ๏ผไฝฟ ShellใPanelManager ๅ WindowManager ๅฏไปฅๅจไธๅๅนณๅฐไธไธ่ดๅทฅไฝ๏ผ
- Client ๆจกๅผ: ไฝไธบ็ฐๆๆก้ข็ฏๅขๅ ็ๅบ็จ่ฟ่ก๏ผWindowsใLinux Gnome/KDE๏ผ
- Compositor ๆจกๅผ: CFDesktop ่ช่บซไฝไธบๆพ็คบๆๅกๅจ/ๅๆๅจ็ฎก็ๅค้จๅบ็จ็ชๅฃ๏ผX11/Wayland๏ผ
- DirectRender ๆจกๅผ: ็ดๆฅๆธฒๆๅฐ framebuffer๏ผๆ ้็ชๅฃ็ณป็ป๏ผๅตๅ ฅๅผ EGLFS/linuxfb๏ผ
| ๅ็ซฏ | ็ถๆ | ่ฏดๆ |
|---|---|---|
| Windows ๅ็ซฏ | 100% | Win32 DWM ้ๆใSetWinEventHook ็ชๅฃ็ฎก็ |
| WSL X11 ๅ็ซฏ | 100% | XCB + XWaylandใQSocketNotifier ้ฉฑๅจ |
| Wayland ๅๆๅจ | 0% | ๅพ ๅฎ็ฐ |
| EGLFS / LinuxFB | 0% | ๅตๅ ฅๅผ็ด้ฉฑ๏ผๅพ ๅฎ็ฐ |
ๅ็ซฏ้่ฟ DisplayServerBackendFactory ๅทฅๅๅจๅฏๅจๆถ่ชๅจ้ๆฉๅนณๅฐๅฎ็ฐใ
- ่ฏญ่จ: C++23
- ๆกๆถ: Qt 6.8.3
- ๆๅปบ: CMake 3.16+, Ninja
- ๆต่ฏ: Google Test
- ๆๆกฃ: VitePress + Doxygen
- C++23 ็ผ่ฏๅจ (LLVM/Clang ๆ GCC)
- CMake 3.16+
- Qt 6.8+
# ๅ
้ไปๅบ
git clone https://github.com/Awesome-Embedded-Learning-Studio/CFDesktop
cd CFDesktop
# Windows ๅฟซ้ๆๅปบ
.\scripts\build_helpers\windows_fast_develop_build.ps1
# Linux ๅฟซ้ๆๅปบ
./scripts/build_helpers/linux_fast_develop_build.sh# ่ฟ่ก Material Gallery (ๆฅ็ๆๆ UI ็ปไปถ)
.\out\build_deploy\bin\material_gallery.exe
# ่ฟ่กไธป้ขๅฎๅถ็คบไพ
.\out\build_deploy\bin\material_theme_customizer.exe้กน็ฎไฝฟ็จ VSCode + Clangd ไฝไธบๆจ่ๅผๅ็ฏๅข๏ผ้ฆๆฌกๆๅปบๅไผ่ชๅจ็ๆ้ ็ฝฎๆไปถใ
่ฏฆ็ป้ ็ฝฎ่ฏดๆ: document/development/README.md
๐ ้กน็ฎๆๆกฃ็ซ: https://awesome-embedded-learning-studio.github.io/CFDesktop/
ๆฌๅฐ้ข่งๆๆกฃ:
pnpm install
pnpm dev
pnpm build| ๆๆกฃ | ่ฏดๆ | ้พๆฅ |
|---|---|---|
| ๅผๅ็ฏๅข่ฎพ็ฝฎ | ๅ็ฝฎ่ฆๆฑใๅฟซ้ๅผๅงใๆๅปบ็ณป็ป | development/ |
| ๅฝๅ็ถๆ | ๅผๅ้ๅฏไบๅฎๆบ | status/current |
| UI ๆกๆถๆๆกฃ | Material Design ๅฎ็ฐๆถๆ | HandBook/ui/ |
| AI ่พ ๅฉๅผๅ | ้็จ AI ๅไฝๆๅ | development/ai-assistant-guide |
| ๆๆกฃ | ่ฏดๆ | ้พๆฅ |
|---|---|---|
| ๅทฅ็จ้ชจๆถ่ฎพ่ฎก | ้กน็ฎๅบ็ก่ฎพๆฝไธ็ฏๅข้ ็ฝฎ | design_stage/00_phase0_project_skeleton.md |
| Base ๅบ่ฎพ่ฎก | ๅบ็กๅบ่ฎพ่ฎกไธๅฎ็ฐ | design_stage/02_phase2_base_library.md |
| UI ๆกๆถ่ฎพ่ฎก | Material Design ๅๅฑๆถๆ | HandBook/ui/architecture/ |
- ๅพ ๅๆธ ๅ - ๆไผๅ ็บงๅ็ฑป็ๅพ ๅไบ้กน
- ไปปๅก็ๆฟ - ๅฝๅๅผๅไปปๅกๅ่กจ
- ๅฝๅ็ถๆ - ้กน็ฎ้ๅฏไบๅฎๆบ
ๆฌข่ฟ่ดก็ฎไปฃ็ ใๆฅๅ้ฎ้ขๆๆๅบๅปบ่ฎฎ๏ผ
่ฏทๆฅ็ document/todo/ ไบ่งฃๅฝๅๅผๅไปปๅกๅไผๅ ็บงใ
ๆฌ้กน็ฎ้็จ MIT ๅผๆบ่ฎธๅฏ่ฏใ
ๅพๆฉๅฐฑๅๅไธไธช้ ท้ ท็็ปไธๆก้ข๏ผ็ฐๅจ๏ผ็ปไบๅฏไปฅๅฐ่ฏๅผๅงไบ๏ผ