app
Shotlog - Screenshot Log
Public Made by Adomby adom
See the shots your AI never showed you, and know it actually SAW them. adom-shotlog streams every screenshot the AI gathers into a live gallery (webview/pup/browser/phone), reports whether a human is really watching and on which surface, and ingests Adom Bridge child-window arrays via --meta.
← Commit history
Publish 0.13.3
7 files changed
+21−5
Cargo.lock+1−1@@ -10,7 +10,7 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "adom-shotlog"-version = "0.13.2"+version = "0.13.3" dependencies = [ "axum", "base64",
Cargo.toml+1−1@@ -1,6 +1,6 @@ [package] name = "adom-shotlog"-version = "0.13.2"+version = "0.13.3" edition = "2021" description = "Screenshot log viewer and CLI for Adom" license = "MIT"
VERSION+1−1@@ -1 +1 @@-0.13.2+0.13.3
bin/adom-shotlog⋯ 1 unchanged line ⋯
package.json+1−1@@ -1,6 +1,6 @@ { "slug": "adom-shotlog",- "version": "0.13.2",+ "version": "0.13.3", "type": "app", "title": "Adom Shotlog", "description": "See the shots your AI never showed you, and know it actually SAW them. adom-shotlog streams every screenshot the AI gathers into a live gallery (webview/pup/browser/phone), reports whether a human is really watching and on which surface, and ingests Adom Desktop child-window arrays via --meta.",
page.json+1−1@@ -1,6 +1,6 @@ { "slug": "adom-shotlog",- "version": "0.13.2",+ "version": "0.13.3", "type": "app", "title": "Adom Shotlog", "description": "See the shots your AI never showed you, and know it actually SAW them. adom-shotlog streams every screenshot the AI gathers into a live gallery (webview/pup/browser/phone), reports whether a human is really watching and on which surface, and ingests Adom Desktop child-window arrays via --meta.",
src/open.rs+16@@ -108,12 +108,28 @@ fn report(out: std::io::Result<std::process::Output>, name: &str, channel: &str, println!("Opened shotlog viewer: {name}"); println!("Channel: {channel}"); println!("URL: {url}");+ surface_tab(name); } Ok(output) => eprintln!("adom-cli failed: {}", String::from_utf8_lossy(&output.stderr)), Err(e) => eprintln!("Failed to run adom-cli: {e}"), } } +/// After opening/refreshing a webview tab, make sure the user actually LANDS on+/// it: bring it to the front in its own pane (workspace active-tab - never a+/// tab move) and paint the orange update highlight. Without this, a pup->webview+/// switch left the new tab buried behind whatever was active in the panel.+fn surface_tab(name: &str) {+ let _ = Command::new("adom-cli")+ .args(["hydrogen", "workspace", "active-tab", "--name", name])+ .stdout(std::process::Stdio::null()).stderr(std::process::Stdio::null())+ .status();+ let _ = Command::new("adom-cli")+ .args(["hydrogen", "alert", "set", "--name", name, "-d", "6000"])+ .stdout(std::process::Stdio::null()).stderr(std::process::Stdio::null())+ .status();+}+ /// The id of the single leaf, iff the layout is exactly one leaf (no split). fn single_leaf_id(root: &serde_json::Value) -> Option<String> { if root.get("type").and_then(|t| t.as_str()) == Some("leaf") {