[PR #13] feat: Comprehensive Port & Enhancement of WSL Management Features #11

Open
opened 2026-02-27 15:42:22 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/owu/wsl-dashboard/pull/13
Author: @constansino
Created: 2/5/2026
Status: 🔄 Open

Base: mainHead: feat/enhanced-wsl-management


📝 Commits (1)

  • 8591c5c feat: port and enhance management features from wsl2-distro-manager

📊 Changes

22 files changed (+1111 additions, -98 deletions)

View changed files

PR_DESCRIPTION.md (+38 -0)
📝 src/ui/app.slint (+46 -6)
📝 src/ui/components/dialogs/clone_dialog.slint (+11 -3)
📝 src/ui/components/dialogs/information_dialog.slint (+132 -71)
📝 src/ui/components/dialogs/settings_dialog.slint (+85 -6)
📝 src/ui/components/distro_card.slint (+11 -0)
📝 src/ui/components/modal_manager.slint (+23 -5)
📝 src/ui/handlers/distro/clone.rs (+10 -2)
📝 src/ui/handlers/distro/manage.rs (+99 -2)
📝 src/ui/handlers/settings.rs (+97 -0)
📝 src/ui/theme.slint (+2 -0)
📝 src/ui/views/main_view.slint (+4 -0)
📝 src/ui/views/settings_view.slint (+145 -1)
📝 src/utils/mod.rs (+2 -1)
src/utils/shortcut.rs (+32 -0)
📝 src/wsl/executor.rs (+36 -0)
📝 src/wsl/models.rs (+11 -0)
src/wsl/ops/distro_config.rs (+83 -0)
src/wsl/ops/global_config.rs (+58 -0)
📝 src/wsl/ops/info.rs (+91 -1)

...and 2 more files

📄 Description

WSL Dashboard 功能增强 PR 说明

本 PR 旨在将 wsl2-distro-manager 中的核心深度管理功能移植并增强到 wsl-dashboard 中,显著提升了工具的专业性与便利性,同时保持了 Rust/Slint 的极致性能。

🌟 新增功能概览

1. 深度配置管理 (System Configuration)

  • wsl.conf 全面接管: 在实例设置面板中新增了 "System Configuration" 分区。
  • GUI 一键配置: 支持直接修改 systemd, generateHosts, generateResolvConf, Interop, appendWindowsPath
  • 价值: 用户无需再进入终端手动编辑复杂的 INI 配置文件。

2. 磁盘维护专家 (Disk Maintenance)

  • VHDX 磁盘瘦身 (Compact): 在实例信息面板新增 "Compact" 按钮。
  • 安全释放空间: 采用 Windows 原生 diskpart 逻辑,在实例停止时安全压缩虚拟磁盘文件,释放物理硬盘空间。

3. 全局资源控制 (.wslconfig)

  • 全局看板: 在设置页面新增了针对 .wslconfig 的管理界面。
  • 资源限制: 支持从 GUI 直接设置所有 WSL 实例的 内存上限CPU 核心数限制
  • 网络模式切换: 支持一键在 natmirrored (镜像) 模式间切换。

4. 实时运行看板 (Runtime Insights)

  • IP 地址显示: 实例运行时,信息面板会实时显示其内网 IP 地址。
  • Docker 容器集成: 自动探测实例内的 Docker 环境,点击信息即可查看当前运行的所有容器名称及状态。

5. Windows 底层环境检测

  • 系统功能体检: 全局设置中实时显示 Windows “虚拟机平台”和“Linux 子系统”组件的开启状态,方便故障排查。

6. 交互便利性增强

  • 桌面快捷方式: 实例菜单中新增“创建快捷方式”图标,一键在桌面上生成直接进入该实例的 .lnk 文件。
  • 智能克隆: 克隆对话框新增“克隆后立即启动”选项,优化工作流。

🛠️ 技术实现

  • Rust 后端: 扩展了 wsl::ops 模块,新增了对注册表、.wslconfig 文件、/etc/wsl.conf 文件的安全读写逻辑。
  • PowerShell 桥接: 利用最小化的 PowerShell 脚本处理 diskpart 压缩和快捷方式创建等 Windows 原生操作。
  • Slint UI: 优化了设置面板和信息面板的布局,增加了滚动支持和分组标题,确保在增加大量功能后依然保持界面清爽。

本更新在功能上已完全覆盖并超越了同类 Flutter 开发的工具,使 wsl-dashboard 成为目前市面上最强大的 WSL 桌面管理工具之一。


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/owu/wsl-dashboard/pull/13 **Author:** [@constansino](https://github.com/constansino) **Created:** 2/5/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `feat/enhanced-wsl-management` --- ### 📝 Commits (1) - [`8591c5c`](https://github.com/owu/wsl-dashboard/commit/8591c5ca147941c999c880179ec34c5bb2041c6d) feat: port and enhance management features from wsl2-distro-manager ### 📊 Changes **22 files changed** (+1111 additions, -98 deletions) <details> <summary>View changed files</summary> ➕ `PR_DESCRIPTION.md` (+38 -0) 📝 `src/ui/app.slint` (+46 -6) 📝 `src/ui/components/dialogs/clone_dialog.slint` (+11 -3) 📝 `src/ui/components/dialogs/information_dialog.slint` (+132 -71) 📝 `src/ui/components/dialogs/settings_dialog.slint` (+85 -6) 📝 `src/ui/components/distro_card.slint` (+11 -0) 📝 `src/ui/components/modal_manager.slint` (+23 -5) 📝 `src/ui/handlers/distro/clone.rs` (+10 -2) 📝 `src/ui/handlers/distro/manage.rs` (+99 -2) 📝 `src/ui/handlers/settings.rs` (+97 -0) 📝 `src/ui/theme.slint` (+2 -0) 📝 `src/ui/views/main_view.slint` (+4 -0) 📝 `src/ui/views/settings_view.slint` (+145 -1) 📝 `src/utils/mod.rs` (+2 -1) ➕ `src/utils/shortcut.rs` (+32 -0) 📝 `src/wsl/executor.rs` (+36 -0) 📝 `src/wsl/models.rs` (+11 -0) ➕ `src/wsl/ops/distro_config.rs` (+83 -0) ➕ `src/wsl/ops/global_config.rs` (+58 -0) 📝 `src/wsl/ops/info.rs` (+91 -1) _...and 2 more files_ </details> ### 📄 Description # WSL Dashboard 功能增强 PR 说明 本 PR 旨在将 `wsl2-distro-manager` 中的核心深度管理功能移植并增强到 `wsl-dashboard` 中,显著提升了工具的专业性与便利性,同时保持了 Rust/Slint 的极致性能。 ## 🌟 新增功能概览 ### 1. 深度配置管理 (System Configuration) - **wsl.conf 全面接管**: 在实例设置面板中新增了 "System Configuration" 分区。 - **GUI 一键配置**: 支持直接修改 `systemd`, `generateHosts`, `generateResolvConf`, `Interop`, `appendWindowsPath`。 - **价值**: 用户无需再进入终端手动编辑复杂的 INI 配置文件。 ### 2. 磁盘维护专家 (Disk Maintenance) - **VHDX 磁盘瘦身 (Compact)**: 在实例信息面板新增 "Compact" 按钮。 - **安全释放空间**: 采用 Windows 原生 `diskpart` 逻辑,在实例停止时安全压缩虚拟磁盘文件,释放物理硬盘空间。 ### 3. 全局资源控制 (.wslconfig) - **全局看板**: 在设置页面新增了针对 `.wslconfig` 的管理界面。 - **资源限制**: 支持从 GUI 直接设置所有 WSL 实例的 **内存上限**、**CPU 核心数限制**。 - **网络模式切换**: 支持一键在 `nat` 和 `mirrored` (镜像) 模式间切换。 ### 4. 实时运行看板 (Runtime Insights) - **IP 地址显示**: 实例运行时,信息面板会实时显示其内网 IP 地址。 - **Docker 容器集成**: 自动探测实例内的 Docker 环境,点击信息即可查看当前运行的所有容器名称及状态。 ### 5. Windows 底层环境检测 - **系统功能体检**: 全局设置中实时显示 Windows “虚拟机平台”和“Linux 子系统”组件的开启状态,方便故障排查。 ### 6. 交互便利性增强 - **桌面快捷方式**: 实例菜单中新增“创建快捷方式”图标,一键在桌面上生成直接进入该实例的 `.lnk` 文件。 - **智能克隆**: 克隆对话框新增“克隆后立即启动”选项,优化工作流。 ## 🛠️ 技术实现 - **Rust 后端**: 扩展了 `wsl::ops` 模块,新增了对注册表、`.wslconfig` 文件、`/etc/wsl.conf` 文件的安全读写逻辑。 - **PowerShell 桥接**: 利用最小化的 PowerShell 脚本处理 `diskpart` 压缩和快捷方式创建等 Windows 原生操作。 - **Slint UI**: 优化了设置面板和信息面板的布局,增加了滚动支持和分组标题,确保在增加大量功能后依然保持界面清爽。 --- 本更新在功能上已完全覆盖并超越了同类 Flutter 开发的工具,使 `wsl-dashboard` 成为目前市面上最强大的 WSL 桌面管理工具之一。 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/wsl-dashboard#11
No description provided.