Skip to content

Modern desktop app for organizing files into floating, customizable folder windows

License

Notifications You must be signed in to change notification settings

VerfiyNull/DeskFolder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DeskFolder - Desktop File Organizer

A modern desktop application built with Avalonia UI (.NET 10) for organizing files into customizable floating folder windows.

Features

✨ Core Features

  • Desktop Folder Windows: Create floating, customizable folder windows on your desktop
    • Grid mode with automatic Z-pattern layout (left-to-right, top-to-bottom)
    • Free placement mode for manual positioning
    • Drag-to-reorder files in grid mode
  • Drag & Drop:
    • Drag files/folders from Windows Explorer into folder windows
    • Visual feedback with drag cursor that follows mouse across screen
    • Background copying for large folders with progress indicator
    • Automatic duplicate filename handling
  • File Management:
    • View all files with icons, names, and file size
    • Open files directly from folder windows
    • Delete files with confirmation
    • Open file location in Explorer
  • Folder Customization:
    • Rename folders
    • Adjust grid size (columns/rows)
    • Change folder colors and background opacity
    • Toggle title bar visibility
    • Toggle border visibility
    • Lock folders to prevent modifications
    • Always-on-top mode
    • Snap to grid toggle
  • Persistence: All folders, files, positions, and settings automatically saved
  • Auto-Launch: Optional startup with Windows
  • Global Keybinds:
    • Ctrl+Shift+W - Close all folder windows
    • Ctrl+Shift+O - Open all folders
    • Shift+F12 - Force exit application

Getting Started

Prerequisites

  • Windows 10 version 19041+ or Windows 11
  • .NET 10.0 SDK
  • Visual Studio 2022 or VS Code with C# extension

Building the Project

  1. Clone or download the project
  2. Open terminal in the project directory
  3. Restore dependencies:
    dotnet restore
  4. Build the project:
    dotnet build
  5. Run the application:
    dotnet run

First Run

  1. Launch the application - you'll see the DeskFolder Manager window
  2. Click "New Folder" to create your first folder window
  3. The folder window will appear - you can now:
    • Drag and drop files into it
    • Click the color button 🎨 to change the folder color
    • Click the edit button ✏️ to rename the folder
    • Click the lock button πŸ”“ to lock/unlock the folder
  4. Click "Save All" to persist your folders and files

How to Use

Creating Folders

  • Click the "New Folder" button in the main window
  • A new folder window appears with default settings
  • The folder is automatically created in %LOCALAPPDATA%\DeskFolder\Folders\
  • All saved folders automatically open when the app launches

Adding Files

  • Drag files/folders from Windows Explorer onto any folder window
  • Visual feedback shows a drag cursor that follows your mouse
  • Files are copied to the folder's directory in the background
  • Large folders appear immediately; contents copy progressively
  • Duplicate filenames are automatically renamed with (1), (2), etc.
  • In grid mode, new files fill the first available slots in Z-pattern
  • Drag files/folders from Desktop or Folder onto any folder window
  • Files are copied to the folder's directory in the background
  • Large folders appear immediately; contents copy progressively
  • Duplicate filenames are automatically renamed with (1), (2), etc.

Managing Files

  • Open: Double-click or right-click β†’ Open

  • Open Location: Right-click β†’ Open File Location

  • Delete: Right-click β†’ Delete (with confirmation)

  • Reorder (Grid mode): Drag files to reorder

  • Reorder (Grid mode): Drag files to reorder

  • Move (Free placement): Drag files to any position on the canvas

Customizing Folders

  • Edit: Click the edit button in the folder window to configure:
    • Name, grid size (columns/rows)
    • Title bar visibility, border visibility
    • Always on top, lock folder
    • Background color and opacity
    • Snap to grid mode
  • Per-Folder Settings: Each folder has independent opacity rules:
    • Title bar OFF: Opacity must stay >= 10%
    • Title bar ON: Opacity can be 0-100%

Global Settings

Click the "Settings" button to configure:

  • Auto-Launch: Enable/disable startup with Windows
  • Show Hover Border: Toggle hover effects on file icons
  • Enable Acrylic Background: Toggle acrylic blur effects
  • Keybinds: Customize global keyboard shortcuts

Data Storage

All data is stored in:

  • Configuration: %LOCALAPPDATA%\DeskFolder\config.json
  • Folder Files: %LOCALAPPDATA%\DeskFolder\Folders\[FolderID]\

Technical Details

Technology Stack

  • Framework: .NET 10.0
  • UI Framework: Avalonia UI (cross-platform)
  • Architecture: MVVM-lite with data binding and INotifyPropertyChanged
  • Data Format: JSON for configuration
  • File Operations: System.IO with background copying and progress tracking
  • Windows Integration: Registry for auto-launch, native file icons

Project Structure

DeskFolder/
β”œβ”€β”€ App.axaml/xaml.cs              # Application entry point
β”œβ”€β”€ Program.cs                     # Main entry
β”œβ”€β”€ MainWindow.axaml/xaml.cs       # Main manager window
β”œβ”€β”€ Models/                        # Data models
β”‚   β”œβ”€β”€ DeskFolderItem.cs          # Folder configuration & helpers
β”‚   β”œβ”€β”€ FileReference.cs           # File metadata & positioning
β”‚   └── AppSettings.cs             # Global settings model
β”œβ”€β”€ Services/                      # Business logic
β”‚   └── SettingsService.cs         # JSON persistence
β”œβ”€β”€ Views/                         # UI components
β”‚   β”œβ”€β”€ FolderWindow.axaml/axaml.cs           # Individual folder window
β”‚   β”œβ”€β”€ FolderWindow_RenderHelper.cs          # Icon rendering & drag visuals
β”‚   β”œβ”€β”€ FolderEditDialog.axaml/axaml.cs       # Per-folder settings
β”‚   └── SettingsDialog.axaml/xaml.cs          # Global settings
β”œβ”€β”€ Helpers/
β”‚   β”œβ”€β”€ FileIconHelper.cs          # Windows icon extraction
β”‚   β”œβ”€β”€ FileUnblocker.cs           # File operations
β”‚   └── StartupManager.cs          # Windows registry for auto-launch
└── Converters/                    # Avalonia value converters

Known Issues & Limitations

Current Limitations

  • Windows is the only supported platform
  • No undo/redo for file operations
  • No file search functionality

Planned Features

  • File search within folders
  • Batch file operations (select multiple files)
  • System tray icon with quick access
  • Multi-monitor support improvements
  • Folder templates
  • Export/import folder configurations
  • File preview panel
  • Duplicate file detection
  • Undo/redo for file operations
  • Custom themes and color schemes
  • Only supports Windows
  • No undo/redo for file operations
  • No file search functionality

Troubleshooting

Application Won't Start

  • Ensure .NET 10.0 SDK is installed
  • Check Windows version (need 19041+)
  • Try rebuilding: dotnet clean && dotnet build

Files Not Appearing

  • Check folder isn't locked (πŸ”’ icon)
  • Verify files were copied to %LOCALAPPDATA%\DeskFolder\Folders\
  • Large folders copy in background - check progress bar
  • Try refreshing the folder window

Auto-Launch Not Working

  • Ensure you have permission to modify registry
  • Check HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  • Try toggling the setting off and on again

Drag Cursor Shows Blocked

  • Ensure you're dragging over the folder window canvas
  • Check that the folder isn't locked
  • In grid mode, ensure there are available slots

Old Keybinds Still Showing

  • Delete settings file: %LOCALAPPDATA%\DeskFolder\config.json
  • Restart the application to regenerate with defaults

Contributing

AI assistance provided by Claude-AI and GitHub Copilot.

License

Distributed under the DeskFolder Custom License. See LICENSE.txt for details.


Note: This application stores files in local application data. Make sure to back up important files regularly.

About

Modern desktop app for organizing files into floating, customizable folder windows

Topics

Resources

License

Stars

Watchers

Forks