Skip to content

feat: rename the app to Marquee - #3

Open
Likemiens wants to merge 2 commits into
creator-editionfrom
rename-to-marquee
Open

Likemiens wants to merge 2 commits into
creator-editionfrom
rename-to-marquee

Conversation

@Likemiens

@Likemiens Likemiens commented Nov 4, 2026 •

Copy link
Copy Markdown
Owner

Summary

Renames the shipped desktop app from OpenScreen to Marquee everywhere a user sees the name. Upgrades keep all their data.

  • Packaging: productName Marquee, Marquee.exe, release files Marquee-<version>-Setup.exe, Marquee-Mac-<arch>-<version>.dmg (volume "Marquee"), Marquee-Linux-<version>.*, the macOS permission prompts, the installer's transcription page, release title Marquee <version>. The Nix package's menu entry and module descriptions also say Marquee. Its startupWMClass is now Marquee, because on X11 the window class is the app name.
  • App: window titles, tray tooltip, About/Hide menu items, notifications, HUD ⋯ → Quit Marquee, the Studio star link, error messages, all 13 locales (grammar adjusted where the particle depends on how the name sounds: tr, ko-KR, fr).
  • Icons: icons/icons/{win,mac,png}, the tray and in-app icon (public/app-icon.png) and the red recording dot, generated from site/brand/app-icon-1024.png. public/openscreen.png stays because the current README still shows it. It can go once docs: describe Marquee in the README and move the user guide to docs/guide.md #2 lands.
  • README: left to docs: describe Marquee in the README and move the user guide to docs/guide.md #2, which rewrites it for Marquee; editing the old one here would only conflict. Once this lands, README and docs/guide.md need the new file names: Marquee-<version>-Setup.exe, Marquee-Mac-<arch>-<version>.dmg, /Applications/Marquee.app, Marquee-Linux-*, and the default clips folder Videos\Marquee (an existing Videos\OpenScreen is kept).

site/brand/app-icon-1024.png, the icon source, is byte-identical to the one in #1. This branch merges cleanly with #1 and with #2, in either order.

What keeps the old name, and why

Decision D-029 in docs/decisions.md.

  • Data folder. Electron names userData after the app at the first app.getPath("userData"); for OpenScreen that was the package name, openscreen. The new electron/appIdentity.ts, imported first in main.ts, sets the name and, when there is no Marquee folder yet but openscreen exists, keeps the app there. Settings, presets (localStorage), the Yandex Disk token, recordings and speech models carry over and nothing is copied. Fresh installs get %APPDATA%\Marquee.
  • Clips folder. The default is now Videos\Marquee, but an existing Videos\OpenScreen stays the default.
  • App id com.etiennelescot.openscreen. With it, the NSIS installer replaces the installed OpenScreen, macOS keeps the screen recording permission, and Windows keeps taskbar grouping, the autostart entry and notifications.
  • Single-instance lock openscreen-single-instance-<user>.lock, so an old OpenScreen and Marquee never run side by side (one hotkey, one tray).
  • Internal names: the .openscreen project extension (old projects open as before), openscreen-asr://, localStorage keys, OPENSCREEN_* variables, the native helper names, the OpenScreen Exports Yandex Disk folder (the public link is tied to it), the Microsoft Store identity (appx, the name is reserved in Partner Center), the npm package and the repository. In Nix, the package name, the openscreen command, the programs.openscreen option and openscreen.desktop also stay. User configs refer to them, and on Wayland the window is matched to its menu entry by the package name.

Known effect: on macOS and Linux the Yandex Disk token is encrypted with a key stored under the app name. It has to be pasted once more after the upgrade (the app already says "Reconnect it"). On Windows the token carries over.

Base branch

Two commits on top of creator-edition (the rename, then the Nix menu entry), without the 1.10.0 work from feedback-fixes. If feedback-fixes lands after this PR, two files conflict, and both sides should be kept:

  • package.json: version 1.10.0 with the Marquee description.
  • docs/decisions.md: D-026–D-028 first, then D-029.

The rename covers no line that exists only on feedback-fixes, so nothing is left to rename after that merge.

Type of change

  • Feature

Release impact

  • Minor

Desktop impact

  • Windows
  • macOS
  • Linux
  • Installer / packaging

Testing

  • npx tsc --noEmit: clean.
  • npm run test: 83 files, 740 tests pass. Two test files are new. electron/appIdentity.test.ts covers an upgrade, an already-renamed install, a fresh install and --user-data-dir. electron/appSettings.test.ts checks Videos\Marquee against an existing Videos\OpenScreen.
  • npm run lint: clean on an LF checkout of the commit (430 files). On a Windows checkout with core.autocrlf=true, Biome flags every CRLF file, and it does the same on creator-edition.
  • npm run i18n:check: same output as on creator-edition, where it already fails. The missing keys in timeline, settings and other files predate this PR, which only changes values.
  • Real Electron 41: appIdentity.ts was bundled and run with AppData pointed at a temp folder. An upgrade stays in openscreen and no Marquee folder is created. With both folders it uses Marquee; a fresh install gets Marquee; --user-data-dir is left alone.
  • Headless (HEADLESS=true, temp --user-data-dir): a stand-in OpenScreen 1.9 (same package and app name) wrote app-settings.json, an encrypted Yandex token and localStorage preferences. The built Marquee then opened that profile with the app name Marquee. It read the clips folder and hotkey and the localStorage preferences, and showed Yandex Disk as connected (the token decrypted). The editor window was titled Marquee, with the new logo in the empty state.
  • Icons: the new icon.ico decodes in Electron (256×256, red dot in the middle). The icon.icns entries round-trip (PNG ic07–ic14, ARGB ic04/ic05).

Not tested here: installing the packaged installer over an installed OpenScreen, macOS/Linux builds (this machine has no native toolchain; CI builds them) and the Nix package (the Nix change only edits strings).

🤖 Generated with Claude Code

@vercel

vercel Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
marquee Ready Ready Preview Nov 4, 2026 4:34pm UTC

Likemiens added a commit that referenced this pull request Nov 4, 2026
The rename (#3) keeps the old data folder, so upgrades keep their settings; only the Yandex Disk token has to be pasted again on macOS and Linux. The installers take the Marquee name there, so the open question is now only about the repository.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Everything a user sees now says Marquee: the product name, Marquee.exe and
the release files (Marquee-<version>-Setup.exe, Marquee-Mac-<arch>-<version>.dmg,
Marquee-Linux-*), window titles, tray, notifications, HUD and Studio copy and
all 13 locales. App, tray and recording icons are regenerated from
site/brand/app-icon-1024.png. The README is left to the project-docs rewrite,
so public/openscreen.png stays while it still shows that logo.

Upgrades keep their data: electron/appIdentity.ts runs before anything asks
for userData and, when there is no Marquee folder yet, keeps the app in the
"openscreen" folder OpenScreen used (settings, presets, the Yandex Disk token,
recordings, speech models). An existing Videos\OpenScreen stays the default
clips folder. The app id, the single-instance lock, the .openscreen project
extension and other internal names stay as they were (decision D-029).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Likemiens added a commit that referenced this pull request Nov 4, 2026
PR #3 now sits directly on creator-edition and carries only the rename to Marquee, so the README no longer says it brings 1.10.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The desktop item, the flake and module descriptions and the dev shell
banner now say Marquee. startupWMClass follows the app name, which is the
window class on X11. The package name, the openscreen command, the
programs.openscreen option and openscreen.desktop stay: configs refer to
them, and Wayland matches windows by the package name (decision D-029).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant