Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Help Wanted Windows Version #1

Open
RazorBackRoar opened this issue Oct 15, 2024 · 0 comments
Open

Help Wanted Windows Version #1

RazorBackRoar opened this issue Oct 15, 2024 · 0 comments
Labels
documentation Improvements or additions to documentation enhancement New feature or request help wanted Extra attention is needed

Comments

@RazorBackRoar
Copy link
Owner

Feature Request: Port rysncer to Windows

Description

This feature request is to port the rysncer application, which is currently macOS-only, to work on Windows. The goal is to provide the same functionality for Windows users, allowing them to duplicate folders using rsync (or a similar tool available on Windows), while maintaining the drag-and-drop interface and the features currently supported on macOS.

Current Features to Implement on Windows

  • Folder Duplication: Implement a reliable method for folder duplication, potentially using rsync or other Windows-native tools (such as robocopy).

  • Drag-and-Drop Interface: Create a simple drag-and-drop interface for selecting folders, similar to how the app functions on macOS.

  • Metadata Preservation: Ensure the app preserves file metadata during the duplication process, as it does on macOS.

  • .DS_Store Cleanup: Remove any unnecessary system files (like .DS_Store on macOS) equivalent to Windows, such as desktop.ini.

  • Summary Report: Show a summary with the number of files copied and their total size (in GB or MB).

  • Error Handling: Validate folder paths and prevent overwriting existing folders in the destination location.

Technical Considerations

  • Cross-Platform Tools:

    • Investigate using rsync on Windows via tools like Cygwin, MinGW, or WSL (Windows Subsystem for Linux).

    • Alternatively, evaluate native Windows tools like robocopy or PowerShell for folder duplication while preserving metadata.

  • UI Design:

    • Use a cross-platform GUI toolkit such as Electron, Qt, or Tkinter to recreate the drag-and-drop interface for Windows users.
  • Error Messages & System Integration:

    • Replace macOS-specific commands (e.g., osascript for dialogs) with appropriate Windows alternatives (e.g., PowerShell, .NET dialogs).

    • Ensure seamless integration with Windows Explorer for drag-and-drop functionality.

Benefits

  • Expanding to Windows will significantly increase the user base, as more users can benefit from the folder duplication features of rysncer.

  • It provides a consistent cross-platform experience for users working in mixed environments.

Potential Challenges

  • Identifying a reliable, cross-platform solution to replace rsync and ensuring that metadata preservation works similarly on both macOS and Windows.

  • Recreating the user interface and drag-and-drop functionality using Windows-compatible tools.

  • Handling differences in file system conventions between macOS and Windows, such as hidden files and metadata storage.

Additional Notes

  • Research should be done into the feasibility of using rsync on Windows via WSL, as it would keep most of the existing functionality without needing to rewrite the core logic.

  • If needed, the porting process could start with a simpler, command-line-only version before moving to the graphical interface.

@RazorBackRoar RazorBackRoar added documentation Improvements or additions to documentation enhancement New feature or request help wanted Extra attention is needed labels Oct 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant