Files
Recordly/src/main.tsx
T
KevinandClaude Opus 5.5 f91d1a1288 Pick a window, a screen or an area on screen
"Select area or window" in the source menu opens a picker over every
display. Hovering highlights the window under the cursor, or the whole
screen over the desktop, and a click picks it. Dragging draws an area,
and moving or resizing any pick turns it into an area. Record, Enter or
a double-click starts recording, Select only picks, Escape cancels.

The window-list helper gains a --z-order mode that lists windows front
to back with their owner process, so the picker hits the frontmost
window and skips Recordly's own. A picked window or screen becomes the
same source the lists offer. An area becomes an area:<displayId> source
that the capture helper crops like a window that never moves, cursor
telemetry normalizes to, and a dashed outline marks while recording.
The main process validates every pick: a window must be one the picker
offered. Picker windows stay hidden until they have painted, so opening
the picker does not flash the app background.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 11:14:23 -07:00

28 lines
925 B
TypeScript

import { installFeedbackDiagnostics } from "./lib/feedback/diagnostics";
import React from "react";
import ReactDOM from "react-dom/client";
import App from "./App.tsx";
import { I18nProvider } from "./contexts/I18nContext.tsx";
import { ThemeProvider } from "./contexts/ThemeContext.tsx";
import "./index.css";
installFeedbackDiagnostics();
document.documentElement.dataset.platform = /mac/i.test(navigator.platform) ? "macos" : "other";
// The capture picker covers whole displays, so it must never paint the app background.
if (new URLSearchParams(window.location.search).get("windowType") === "capture-picker") {
document.documentElement.style.background = "transparent";
document.body.style.background = "transparent";
}
ReactDOM.createRoot(document.getElementById("root")!).render(
<React.StrictMode>
<ThemeProvider>
<I18nProvider>
<App />
</I18nProvider>
</ThemeProvider>
</React.StrictMode>,
);