Skip to content

feat: Add Settings UI, native OS Trash integration, and Floating Button#31

Open
GTRSM wants to merge 1 commit into
surrim:mainfrom
GTRSM:feature/enhanced-ui-and-trash
Open

feat: Add Settings UI, native OS Trash integration, and Floating Button#31
GTRSM wants to merge 1 commit into
surrim:mainfrom
GTRSM:feature/enhanced-ui-and-trash

Conversation

@GTRSM

@GTRSM GTRSM commented Jun 21, 2026

Copy link
Copy Markdown

This PR transforms the extension from a simple script into a feature-rich tool, while maintaining strict backward compatibility.

Key Features:

  1. Settings Dialog: Added a GUI (via vlc.dialog) to configure extension preferences.
  2. Native Trash / Recycle Bin Integration: Safely moves files to the OS Trash instead of permanent destruction. Supports gio trash / trash-put (Linux), osascript (macOS), and PowerShell (Windows).
  3. Floating 'Always On Top' Button: Added a persistent UI button that allows 1-click deletion while watching a video without navigating menus.
  4. Configuration Persistence: Saves user settings to ~/.vlc-delete-config.json or %APPDATA%\vlc\vlc-delete-config.json.
  5. Robust Cross-Platform Fixes: Added proper POSIX shell escaping to prevent command injection risks, implemented safe fallbacks for missing environment variables, and dramatically reduced CPU spin-loop blocking in sleep().
  6. XFCE/Qt Menu Workaround: Implemented a fallback where clicking 'VLC Delete' while no video is playing automatically opens the Settings window. This elegantly bypasses a known issue on some Linux desktop environments where Qt fails to render extension sub-menus automatically.

I have extensively tested these changes. Please let me know if you have any questions!

@GTRSM

GTRSM commented Jun 21, 2026

Copy link
Copy Markdown
Author

I should add that my testing was on my Linux machine, running Xubuntu 22.04.

I don't have a OSX, or Windows machine to test, so your mileage may vary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants