forked from 1b-agent/fieldcraft-upstream
control: ui.drop drops files on the window
The Open dialog is a native picker the control channel cannot click, so
nothing could walk a person's open path end to end: ui.start file.open
opens the command's JSON form instead. ui.drop {paths} hands the paths
to the next frame with the window system's drops, which open them
through the same route a picked file takes (open_path: by type, in the
background, the unsaved-changes prompt, the recent list). At most 16
paths of at most 4096 bytes each.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm
This commit is contained in:
1 parent
cf72503f76
commit
8a4209a20c
4 files changed
+50
-2
No files matched your search
@@ -289,6 +289,9 @@ pub struct ModelApp {
|
||||
/// Input injected by the control channel, fed to egui one pointer event per frame.
|
||||
pub synthetic: Vec<egui::Event>,
|
||||
synthetic_mods: egui::Modifiers,
|
||||
/// Files dropped on the window by the control channel (`ui.drop`): the next frame takes them
|
||||
/// with the window system's drops.
|
||||
pub synthetic_drops: Vec<String>,
|
||||
control_rx: Option<Receiver<ControlRequest>>,
|
||||
shots: Vec<Shot>,
|
||||
shot_token: u64,
|
||||
@@ -363,6 +366,7 @@ impl ModelApp {
|
||||
styled: None,
|
||||
synthetic: Vec::new(),
|
||||
synthetic_mods: egui::Modifiers::default(),
|
||||
synthetic_drops: Vec::new(),
|
||||
control_rx: None,
|
||||
shots: Vec::new(),
|
||||
shot_token: 0,
|
||||
|
||||
Reference in new issue
Block a user