Commit Graph

24 Commits

Author SHA1 Message Date
Stu
42c1f32647 Fix file dialog and drag-and-drop loading issues
File dialog improvements:
- Add video file filters (*.mp4, *.mkv, etc.) so files are visible
- Add "All Files" filter as fallback
- Make dialog modal with Cancel button
- Improve usability with proper MIME type filtering

Drag-and-drop improvements:
- Use net/url.Parse for proper URL decoding (%20 for spaces, etc.)
- Handle file:// URIs correctly with localhost stripping
- Add comprehensive debug logging throughout load chain

Debug logging added to:
- uriToPath() - shows URI parsing
- loadIntoPane() - tracks load progress and MPV errors
- drag-data-received - shows received URIs
- file dialog - logs selected files

These changes should fix both file navigation in dialogs and
drag-and-drop video loading from file managers.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 15:37:15 -05:00
Stu
9d33575ada Fix CGO type errors and improve GTK player
- Fix render.go CGO type assignments using plain uint32 casts
- Add video playlist tracking with unique IDs
- Improve drag-and-drop: assign to first available pane
- Add parseURIs with crash protection for drag data
- Improve mpv initialization handling
- Update .gitignore for build artifacts (.cache, gtkplayer binary)
- Improve GDK_BACKEND handling in run script

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 05:40:37 -05:00
Stu
bd1b90be03 Assign drags to first-empty pane and ensure mpv ready before load 2025-12-14 00:46:50 -05:00
Stu
29bc1ac19c Parse drag data manually to avoid GetURIs crashes 2025-12-13 22:46:46 -05:00
Stu
20c4b5d177 Harden drag handler: check data/text and recover 2025-12-13 22:37:27 -05:00
Stu
5cd4c22764 Fix IdleAdd return handling 2025-12-13 22:35:54 -05:00
Stu
aac6d6eb95 Guard meta update idle callback to avoid panic 2025-12-13 22:35:00 -05:00
Stu
32434dbc28 Guard drag handler with recover and nil checks 2025-12-13 22:33:56 -05:00
Stu
fdb0f44fa7 Fix drag target setup crash (require non-empty target list) 2025-12-13 22:32:35 -05:00
Stu
6fc4d80e6c Use TargetEntry drag setup for GTK draw area 2025-12-13 22:31:30 -05:00
Stu
2239c5cf3a Fix drag URI handling to prevent crash 2025-12-13 22:30:37 -05:00
Stu
93bd8a1424 Fix TargetEntryNew return handling 2025-12-13 22:25:50 -05:00
Stu
4d33e1ec71 Fix drag targets and force X11 backend for embedded mpv 2025-12-13 22:24:07 -05:00
Stu
bec66816df Fix drag target setup for gtkplayer 2025-12-13 22:22:33 -05:00
Stu
aba4d14f57 GTK/mpv embed: fix locale, add CSS theme, drag-and-drop support 2025-12-13 22:21:44 -05:00
Stu
19c3d1e3ad Handle GetWindow error return for mpv embed 2025-12-13 21:48:16 -05:00
Stu
2e4b433f01 Rewrite gtkplayer entry cleanly 2025-12-13 21:46:59 -05:00
Stu
a4653dd116 Fix GetWindow return handling 2025-12-13 21:45:25 -05:00
Stu
1c40324cd6 Simplify GTK window retrieval for mpv embed 2025-12-13 21:44:19 -05:00
Stu
bab96baee8 Handle gdk window retrieval without boolean conversion 2025-12-13 21:42:35 -05:00
Stu
e3305ce80c Fix Gtk window checks for mpv embed 2025-12-13 21:41:48 -05:00
Stu
08e0da1d45 Fix GTK window handle calls for mpv embed 2025-12-13 21:40:04 -05:00
Stu
ba1db9e16f Fix GTK/mpv player build issues (imports, window ID, polling) 2025-12-13 21:39:04 -05:00
Stu
26c48ab981 Vendor gotk3, add mpv cgo wrapper, and GTK mpv player stub 2025-12-13 18:58:03 -05:00