Skip to content

senba1000m3/rinapyon

Repository files navigation

Rinapyon

Rinapyon

一個可愛又強大的 Windows 桌面環境客製化工具

讓你的桌面變得更加個性化!多工作區管理、自訂佈局、快捷鍵支援等功能一應俱全。

Made with Tauri Svelte Rust TypeScript

功能特色安裝使用方法開發貢獻


📖 簡介

Rinapyon 是一個為 Windows 打造的桌面環境客製化工具,讓你可以:

  • 🎨 自訂桌面背景和工作區主題
  • 📂 創建多個虛擬工作區,分類管理你的圖標和視窗
  • 🎯 自動化規則:根據條件自動整理桌面圖標
  • ⌨️ 全局快捷鍵支援,快速切換工作區和功能
  • 💾 設定檔管理:保存和載入不同的桌面配置
  • 🖱️ 拖放支援:直覺的圖標管理和工作區切換

✨ 功能特色

🎨 桌面客製化

  • 自訂桌面背景圖片
  • 即時預覽壁紙變更
  • 支援透明度調整
  • 多種佈局選項

📂 多工作區管理

  • 創建無限個虛擬工作區
  • 為每個工作區設定獨特的主題和背景
  • 拖放圖標在工作區之間移動
  • 工作區可以自由調整大小和位置
  • 支援錨點對齊(九宮格定位)

🎯 智慧規則系統

  • 根據檔案類型、名稱、路徑自動分類圖標
  • 支援正則表達式匹配
  • 視覺化規則匹配提示
  • 一鍵套用/取消規則

⌨️ 快捷鍵支援

  • Ctrl+Alt+1~9 - 快速切換工作區
  • Ctrl+Alt+H - 開啟快捷鍵說明
  • Ctrl+Alt+S - 開啟設定面板
  • 支援自訂快捷鍵(開發中)

💾 設定檔功能

  • 保存當前桌面配置為設定檔
  • 快速載入不同場景的配置
  • 支援匯入/匯出設定檔
  • 自動備份功能

🖼️ 圖標管理

  • 顯示 Windows 系統圖標
  • 自由拖放和重新排列
  • 右鍵選單支援
  • 圖標位置記憶

🚀 安裝

下載已編譯版本

前往 Releases 頁面下載最新版本的安裝檔。

  • Windows: 下載 .msi 安裝檔並執行

從原始碼編譯

前置需求:

步驟:

# 1. Clone 專案
git clone https://github.com/yourusername/rinapyon.git
cd rinapyon

# 2. 安裝依賴
pnpm install

# 3. 開發模式運行
pnpm tauri dev

# 4. 編譯發布版本
pnpm tauri build

編譯完成後,安裝檔位於 src-tauri/target/release/bundle/msi/ 目錄。

📱 使用方法

首次啟動

  1. 啟動 Rinapyon 後,應用程式會附加到你的桌面
  2. 桌面圖標會被自動讀取並顯示
  3. 點擊右下角的「設定」按鈕開始配置

創建工作區

  1. 開啟設定面板
  2. 點擊「新增工作區」
  3. 自訂工作區名稱、顏色和背景
  4. 調整工作區大小和位置
  5. 點擊保存

管理圖標

  • 移動圖標: 拖放圖標到想要的位置或工作區
  • 開啟檔案/資料夾: 雙擊圖標
  • 查看選單: 右鍵點擊圖標

設定規則

  1. 開啟工作區設定面板
  2. 切換到「規則」標籤
  3. 新增規則條件(檔案類型、名稱、路徑等)
  4. 點擊「套用規則」自動整理圖標

保存設定檔

  1. 開啟設定面板
  2. 切換到「設定檔」標籤
  3. 輸入設定檔名稱
  4. 點擊「建立新設定檔」
  5. 之後可以快速載入或覆寫設定檔

🛠️ 開發

專案結構

rinapyon/
├── src/                    # 前端代碼 (Svelte)
│   ├── component/         # Svelte 組件
│   │   ├── windows/      # 視窗組件(設定、工作區等)
│   │   └── Desktop.svelte # 主要桌面組件
│   ├── stores/           # Svelte stores (狀態管理)
│   ├── styles/           # CSS 樣式
│   ├── tools/            # 工具組件
│   ├── types/            # TypeScript 類型定義
│   └── utils/            # 工具函數
├── src-tauri/             # Tauri 後端 (Rust)
│   ├── src/
│   │   ├── lib.rs        # 主入口
│   │   ├── desktop.rs    # 桌面圖標操作
│   │   ├── window.rs     # 視窗管理
│   │   ├── file_io.rs    # 檔案讀寫
│   │   ├── image_ops.rs  # 圖片操作
│   │   ├── profile_ops.rs # 設定檔操作
│   │   └── ...
│   └── tauri.conf.json   # Tauri 配置
└── static/               # 靜態資源
    └── images/          # 圖片資源

技術棧

  • 前端: Svelte + SvelteKit + TypeScript
  • 後端: Rust + Tauri
  • 狀態管理: Svelte Stores
  • 樣式: CSS (原生)
  • 圖標: Windows Shell API

開發命令

# 開發模式(熱重載)
pnpm tauri dev

# 編譯前端
pnpm build

# 檢查 Rust 代碼
cd src-tauri && cargo check

# 執行測試
cargo test

# 格式化代碼
cargo fmt
pnpm format

API 參考

主要的 Tauri 命令:

// 桌面圖標
get_desktop_files() -> Vec<FileItem>
open_file(path: string) -> void

// 檔案操作
read_file(filename: string) -> string
write_file(filename: string, content: string) -> void

// 圖片操作
copy_image_to_static(sourcePath: string, isDesktopWallpaper: bool, targetFilename?: string) -> string
rename_wallpaper_preview() -> void
remove_desktop_wallpaper() -> void

// 視窗管理
back_to_desktop() -> void
detach_from_desktop() -> void

// 設定檔操作
copy_profile_image(sourcePath: string, profileId: string) -> string
restore_profile_image(profileImagePath: string) -> void
copy_workspace_background(sourcePath: string, profileId: string, workspaceId: string) -> string

詳細 API 文檔請參閱 QUICK_REFERENCE.md

🎨 截圖

待補充:應用程式截圖

🤝 貢獻

歡迎貢獻!請遵循以下步驟:

  1. Fork 本專案
  2. 創建你的功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交你的變更 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 開啟 Pull Request

貢獻指南

  • 遵循現有的代碼風格
  • 為新功能添加測試
  • 更新相關文檔
  • 確保所有測試通過

📝 授權

本專案採用 MIT 授權 - 詳見 LICENSE 檔案

🙏 致謝

📧 聯繫

如有問題或建議,歡迎:

  • 開啟 Issue
  • 發送 Pull Request
  • 聯繫作者

用 ❤️ 和 Rust 打造

如果這個專案對你有幫助,請給個 ⭐️!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors