feat: linux screenshots
This commit is contained in:
@@ -9,6 +9,7 @@ import { ImageViewer } from "./components/ImageViewer";
|
||||
import { ShareTarget } from "./components/share-target/ShareTarget";
|
||||
import type { sendImage } from "./network";
|
||||
import { ImageStatus } from "./components/image-status/ImageStatus";
|
||||
import { invoke } from "@tauri-apps/api/core";
|
||||
|
||||
export const App = () => {
|
||||
const [processingImage, setProcessingImage] =
|
||||
@@ -25,34 +26,41 @@ export const App = () => {
|
||||
});
|
||||
});
|
||||
|
||||
createEffect(() => {
|
||||
let listener: PluginListener;
|
||||
const setupListener = async () => {
|
||||
listener = await listenForShareEvents(
|
||||
async (intent: ShareEvent) => {
|
||||
const contents = await readFile(intent.stream).catch(
|
||||
(error: Error) => {
|
||||
console.warn("fetching shared content failed:");
|
||||
throw error;
|
||||
},
|
||||
);
|
||||
setFile(
|
||||
new File([contents], intent.name ?? "no-name", {
|
||||
type: intent.content_type,
|
||||
}),
|
||||
);
|
||||
setLogs((l) => [...l, intent.uri]);
|
||||
},
|
||||
);
|
||||
};
|
||||
setupListener();
|
||||
return () => {
|
||||
listener?.unregister();
|
||||
};
|
||||
});
|
||||
// createEffect(() => {
|
||||
// let listener: PluginListener;
|
||||
// const setupListener = async () => {
|
||||
// listener = await listenForShareEvents(
|
||||
// async (intent: ShareEvent) => {
|
||||
// const contents = await readFile(intent.stream ?? "").catch(
|
||||
// (error: Error) => {
|
||||
// console.warn("fetching shared content failed:");
|
||||
// throw error;
|
||||
// },
|
||||
// );
|
||||
// setFile(
|
||||
// new File([contents], intent.name ?? "no-name", {
|
||||
// type: intent.content_type,
|
||||
// }),
|
||||
// );
|
||||
// setLogs((l) => [...l, intent.uri]);
|
||||
// },
|
||||
// );
|
||||
// };
|
||||
// setupListener();
|
||||
// return () => {
|
||||
// listener?.unregister();
|
||||
// };
|
||||
// });
|
||||
|
||||
const onTakeScreenshot = () => {
|
||||
invoke("take_screenshot");
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<button type="button" onClick={onTakeScreenshot}>
|
||||
Take Screenshot [wayland :(]
|
||||
</button>
|
||||
<ImageViewer onSendImage={setProcessingImage} />
|
||||
<ImageStatus processingImage={processingImage} />
|
||||
<ShareTarget />
|
||||
|
||||
Reference in New Issue
Block a user