Repository navigation
ScreenState v1.0.0
Release notes
The first release of ScreenState: window layout profiles for Windows. Sign in and the desktop
arranges itself.
Profiles
Capture the desktop as it stands and ScreenState lists every application it found, with where each
window sits, which display it is on and whether it is maximised. Untick anything you want left out,
name the profile and save; nothing is written until you confirm. A cancelled capture leaves
nothing behind. A window that cannot be read is named in the review rather than dropped in silence.
Profiles can be renamed, deleted (after a confirmation naming the profile) and marked as the
default, which is the one applied after you sign in. While there is only one profile, it is the
default. What a profile arranges opens in a dialog of its own, where each application can be taken
out.
Each profile is a small JSON file in your own folder, written so that an interruption leaves either
the old file or the new one, never half of either. A profile from a format this version does not
understand is left untouched and said to be skipped.
Restoring
At sign-in ScreenState waits in the notification area and restores the default profile without
opening a window. It starts every application the profile records as running and places each
window the moment it appears, without waiting for the others. A message on every display says the
desktop is being prepared, then that it is ready (or how many applications did not start); a click or
a key press closes it.
A restore acts on what Windows reports: a window appearing, moving or going, the displays changing.
Your first key press or click (or the ceiling of 15 minutes) ends any wait for something
that is not coming. A window that moves itself after being placed is put back once; after that it is left
alone rather than fought over.
Any profile can also be applied on demand from the tray menu or the manager, with a bar showing how
far it has got. A restore asked for while one is running replaces it, leaving everything already
placed where it is.
Getting it right on a real desktop
- Displays are known by the identity Windows gives each screen, so two monitors of the same
model are never confused. A display that has gone sends its windows to the primary one; displays
changing mid-restore do not stop it; a window is always kept on a screen you can reach. - Applications are named by what survives their updates. A packaged one such as Claude, whose
install path moves with every version, keeps its model id beside the path so it can still be
started. An application that should have several windows gets each one back. - Nothing takes the keyboard. Applications are started and windows placed without making any of
them the active window, so whatever you are typing into keeps the keyboard. - The taskbar comes back clean. No button is left marked, red from a refused request for
attention or grey without its icon. - Windows a profile does not name are minimised once the restore is done. At sign-in they can
be closed instead, if you turn that on; a window that will not close is minimised.
Safety
ScreenState never ends a program and never asks for administrator rights. Everything it writes is
in your own folders. It keeps a step log of every restore and a report of the last one, naming each
application it could not satisfy and why; the report is in the tray menu and the manager's Help.
Setup
One file installs, updates, goes back a version, repairs, reinstalls and uninstalls, all for your
account alone. Installing arranges nothing: the profile is applied at your next sign-in. Uninstalling
leaves your profiles unless you tick the box that removes them.
Updates
Once per run ScreenState asks whether a newer version has been released and offers the download if
there is one, with the choice to skip that version. The check carries nothing about you and can be
turned off, after which ScreenState makes no network connection at all.