1Opening, closing & basics
In Manage and Edit Layout a click outside is ignored, so a stray click can't lose your place. Press Done when you're finished.
The panel normally never takes keyboard focus, so clicking a tile acts on the app you were just using — pasting text into your document, for example. The one exception is a text field inside the panel (the Notes widget): click into it and the panel briefly takes focus so you can type. To hand the keyboard back, click your app, click the empty panel background, or close the panel. After that, reopening never types into Notes by accident.
If it won't reopen, it's already running — a message says so; use your shortcut or the tray icon. To relaunch after changing
files, fully quit first (tray > Quit, and check Task Manager has no pythonw left).
2The tile types
There are six kinds of tile. You pick the type at the top of the tile builder.
The grid
Tiles sit on a grid of cells. A "normal" tile is 2×2 cells; the smallest "mini" tile is 1×1. Width and Height in the builder are in these cells. Long labels auto-shrink to fit, and on a very small tile they hide and show as a hover tooltip instead. Each Action and Toggle tile can also be set to show Icon + Title, Icon only, or Title only.
Both show information, but for different jobs. Live Info / Monitor is an auto-updating readout — you write a tiny script that just returns data, and it has no per-tile options. Mini-app (Widget) is interactive, and it's the only type that can have editable settings fields you fill in per tile.
So: does the tile need options you fill in, or anything you click or type? → Mini-app. Is it a hands-off readout with nothing to configure? → Live Info (simpler and lighter). The Day Counter is a Mini-app purely because you type the date into it; a live clock with nothing to set is a Live Info tile.
Everyway Panel is built to sit there all day costing almost nothing, so it does no work you cannot see. When you collapse the panel it keeps running in the tray (that's how the hotkey and edge handle work) but it deliberately stops: LED and alert animations, clipboard redraws, Live refreshes, and the timers inside Mini-app widgets. All of it resumes the instant you open it.
Only three things are allowed to keep working while it's shut, and each is something you asked for on purpose: a Toggle you switched on, a Live Info tile set to "Always" (so it can raise tray alerts), and a widget alarm you started, such as the Focus Timer's countdown.
Action button — click to do one thing
A one-click action: paste text, run a program, open a file or URL, send a keystroke, or run a small script.
What should it do?
ctrl+s, ctrl+shift+v, alt+tab.excel.exe plus optional arguments.C:/Projects or an https:// address..py and a function — see section 8.Notes
- Text fields support tokens:
{{date}},{{date:%d/%m/%Y}},{{time}},{{clipboard}}. - A "Run a script file" action runs inside the app and finishes instantly — good for quick text tweaks.
- A "Switch to another panel" tile that points at a deleted or renamed panel goes grey and does nothing. It stays put so you can point it somewhere else.
- "Run a program" and "Open file/folder/URL" accept relative paths inside the app
folder (e.g.
scripts\My Tool.bat), so the tile keeps working when the folder moves to another PC. Prefer these over absoluteC:\Users\...paths.
Toggle / launch — an on/off switch that starts & stops something
Start a program or background job with one click and stop it with another. The colored strip on the left shows its state.
It's like "End task", not the same as clicking the program's X. For apps where you edit and save — Word, Excel, Photoshop — close them with their own X first. Use toggle OFF for background things like servers and utilities.
- Pause, "Suspend program": freezes the program in place; Resume continues exactly where it stopped. Great for holding a job during a meeting.
- Pause, "Send keystroke": programs that register global hotkeys (AutoHotkey scripts, for example) can misbehave if frozen — Windows may drop their hotkeys. Add a pause hotkey to the program itself, set Pause method to "Send keystroke", and put that hotkey in the "Pause / resume hotkey" field.
- Launched programs run independently of the panel, just like double-clicking them, so quitting the panel doesn't close them.
- If you close a launched program yourself, the tile notices and flips to OFF next time you open the panel.
Live Info / Monitor
Show live numbers or status: CPU and RAM, a clock, a count, a job's status. A small Python provider returns the data; the panel draws it and refreshes on a timer. Display-only — for buttons and typing, use a Mini-app.
.py and one of its functions. The list fills in automatically, with a one-line description of each.Mini-app (Widget)
A self-contained little app inside a tile. Six ship built in — see section 7 — and you can add your own. Some widgets add their own settings fields; Clipboard, for example, has "Max recent entries" and "Preview length".
Keeps your recent copies. Text only (no images or formatting), max about 4 MB per item. Recent copies are cleared when you quit; pinned entries are kept, because pinning something says "keep this". Hover a row for a Pin or Paste icon; Clear empties recents but keeps pins.
Click into it and type — the panel takes focus while you edit. Your physical keyboard works, an on-screen-keyboard widget types into it too, and clicking a Clipboard entry pastes into Notes at your cursor instead of into your other app. To stop editing, click back on your app, click the empty panel background, or close the panel.
Text label — a heading or divider
A plain text label to group or title a section. Settings: Width and Height (at least 4 wide), Text, Alignment, Font size, and Color (Accent or Muted).
Spacer — an invisible blank tile
Reserves empty space so you can leave deliberate gaps between tiles. It draws nothing and ignores clicks. In Edit Layout it shows as a faint dashed placeholder so you can still select, move and resize it; in normal use it's invisible.
3Adding, editing & arranging tiles
Tiles are managed in Edit Layout — open it from the grid icon in the top-right, the Edit Layout button at the bottom, or Manage > Edit Layout.
Your layout is saved automatically to config.json.
4Appearance & behavior
All on the Manage screen.
Appearance
themes/HOW_TO_ADD_THEMES.txt).Behavior
Also on the Manage screen
5Panels — saving, switching & sharing (kits)
A panel is a whole layout you can save and come back to: your tiles, their sizes and order, the theme and the column count. Keep several — a Work panel, a Finance panel — and switch between them. A kit is the same thing packaged for someone else. Same file either way. Everything lives in Manage > Panels.
The Default Panel
A new copy starts on the "Default Panel" — the layout the app comes with, including a welcome note and User Guide / Website tiles. It always stays as it is, so you can go back to it any time for reference, or to start over.
The first time you change it, the app asks for a name for your own copy ("My Panel" is filled in for you). That covers anything that belongs to the panel: adding, moving, resizing or editing tiles, the theme, tile style, tile size, opacity, width and columns, and typing in its Notes tile.
After that you're on your own panel and nothing asks again. Using the panel never asks — switches, the calculator, copying text out of a note, and your personal settings (shortcuts, dwell delay, handle position). In the panel list the Default Panel shows "Protected" where other panels show Update.
Restore Default Panel (Manage > Panels) brings it back exactly as it came — welcome note
included — and switches you onto it. The panel you were on is saved to its own file first, so you
can switch straight back. It also brings the Default Panel back if you deleted its file
(kits\default-panel.spkit); the app never recreates it behind your back.
The name "Default Panel" is reserved: Save as won't use it, and a kit you load that carries that name arrives as "Default Panel (2)".
Update vs Save as
Saving never switches you — a snapshot is a copy, not a destination. You stay where you are, so you can save, keep working, and save again.
Save as: who is it for?
If the name belongs to a different saved panel, the dialog warns you while you type — "You already have a panel called X — saving will replace it" — and asks again before saving. That other panel's tiles and content would be lost. Use a different name to keep both. (Typing the name of the panel you're already on is just a save, so it says nothing.)
Where the file goes. When it's saved, a small "Panel saved" window shows the file it wrote —
kits\<name>.spkit in the app's folder, with the full path — and Show file
opens that folder with the file selected. That file is what you send or copy. You can find it again
any time in Manage > Installed items.
What to include when sharing
The only difference between the first two is the look. Send "the whole panel" when the colors are part of the point; send "just the tiles" when you're sharing an arrangement and they should keep their own colors. Anything your tiles need is always included, so you can't accidentally send a kit that arrives broken.
Switching panels
Manage > Panels > Load beside the one you want, or put a "Switch to another panel" Action tile on your panel for one-click switching. Every switch:
- Saves the panel you're leaving back to its own file, so Work → Experiment → Work returns exactly what you left.
- Writes an autosave first.
- Stops anything running on the panel you're leaving, after asking — it names what's running. A background task with no tile to show it would be invisible, and this app does not do invisible work.
- Brings the new panel's toggles in switched off. Loading a panel never starts a background job for you.
Autosaves
Written only in the moment before something replaces your panel — never on a timer. The
last 10 are kept. They sit in kits/autosave/ and are deliberately kept out of the panel
list so your switcher stays short. To bring one back: Manage > Panels > Load from file...
(it opens in the kits folder), open the autosave folder and pick one — "Save it as a new panel" puts
it in your panel list. Manage > Installed items shows how many there are, with a Show folder
button.
Loading a kit someone sent you
Manage > Panels > Load from file… and pick the .spkit. You get a preview
before anything is written: what's inside, who made it, and whether it carries any programs.
Then choose:
Widgets, themes and icons install either way — they're additive. If a kit has the same name as a panel you already have, "Save it as a new panel" asks first, with three buttons: Replace mine, Keep both (the new one gets a " (2)" suffix) or Cancel. A kit named like the panel you're on is always kept as a separate copy, so importing can never wipe what's on your screen.
If the kit was designed for a different number of columns, the preview says so. Changing columns rearranges tiles but loses nothing — you can switch back any time.
A .spkit is a plain zip — rename it .zip and look inside before
trusting it. Most kits contain no programs at all; if it only uses mini-apps that ship with
Everyway Panel, it's just a layout, a theme and some icons, and the preview says so in green.
If a kit does carry Python files, the preview lists them and describes what each appears to do — "connects to the internet", "runs other programs" — by reading the file without running it. Treat that as a smell test, not a guarantee: it cannot see through deliberately disguised code. Only load a kit from someone you trust.
6Installed items — where your files live
Manage > Installed shows a summary, and "Installed items (where files live)" opens the full list: every saved panel, mini-app, script, theme and icon the app can use.
- Grouped by type, each tagged built-in (came with the app), added by you (you or a kit put it there), or missing.
- Click a row for its full path, size, and which tiles use it. "Show file" opens the folder.
- Icons are collapsed to a count — only ones you or a kit added are listed.
Panels
Your saved panels (kits\*.spkit) come first, so a panel you saved to share is easy
to find: click one for its full path and Show file. Each is tagged in use (the one on
screen), default or saved.
- Remove takes a panel off your Panels list. It asks first and names any Switch-panel tile that points at it — that tile then goes grey.
- The panel you're on can't be removed: switch to another one first.
- The Default Panel can be removed; Restore Default Panel (Manage > Panels) brings it back exactly as it came.
- Autosaves are one line — how many there are, and Show folder.
Missing items
If a tile points at something not installed — a mini-app you removed, an icon a kit forgot — it appears in a Missing group at the top. The tile keeps working as far as it can; it just can't show that piece.
Removing something
Click a row > Remove. Before it does anything it tells you how many tiles use it.
Removing is final — there's no undo in the app. If you remove something built in to Everyway Panel, get it back by re-downloading the installer and running it again — it puts the built-in files back and keeps your panels and settings. Anything that came from a kit is still in the kit file you were sent.
The archive folder
Removed files are moved into bin/ rather than erased, so nothing is destroyed behind
your back. Nothing in the app reads them again — a removed panel comes back only if you open its file
with "Load from file...". If that folder grows past about 100 MB, Manage says
so — it's safe to empty by hand at any time.
Managing files by hand
Everything the app uses is a plain file in its folder, so you can also manage it in File Explorer:
scripts\widgets\*.py — drop the .py in, then click Reload (the circular-arrows icon, top-right); it's then in the builder's Mini-app list. ("Install a widget file..." copies it in for you.) Remove: delete the file, or Remove in Manage > Installed.scripts\actions\, scripts\toggles\, scripts\live_info\ — one folder per tile type. Save the file in the folder of the tile type it is for, then click Reload; it appears in that tile type's script list only. ("Add a script file..." in the builder, or "Add a file..." in Manage > Installed, puts it in the right folder for you.) Remove: delete it, or Remove in Manage > Installed.themes\*.json — drop the .json in, then quit and start the app again: themes are read once, at start-up (Reload doesn't rescan them). Remove: delete the file. The three built-ins (Arclight, Magma, Rebellion) put themselves back at the next start.icons\*.svg — drop the .svg in; it's in the icon picker next time you open it. Remove: delete it, or Remove in Manage > Installed.kits\*.spkit — copy one in and it appears in Manage > Panels next time you open Manage (or use "Load from file..."). Remove: use Remove in Manage > Installed, or delete the file. Rename: the name is stored inside the file, so renaming the file changes nothing; use "Save as..." with the new name, then remove the old one. To use an autosave, copy it from kits\autosave\ into kits\.Quit the app before editing config.json or widget_data.json by hand — the
running app writes those files and would overwrite your edit.
If a file goes missing
Deleting or moving a file never crashes the app. This is what you see instead:
USER GUIDE.txt has been deleted.)A damaged settings file
If config.json or widget_data.json can't be read — after a crash, say, or a hand
edit that went wrong — the app carries on. With config.json it starts fresh on the Default
Panel, and your saved panels are all still in Manage > Panels; with widget_data.json your
notes and tile data start empty. Either way the damaged file is kept first, in bin\
(as config.unreadable-<date>.json or widget_data.unreadable-<date>.json), so
anything in it can still be recovered by hand — and a message tells you it happened.
7What's built in
Mini-apps
Nothing built in needs one: every mini-app above runs on what the app already ships. A widget you add (or one that arrives in a kit) may need an extra Python package. You don't have to install it by hand — the tile names the missing package and shows an "Install" button. Click it once and the app downloads it and reloads the widget for you. It needs an internet connection, takes a minute or two, and is only ever needed once.
Example scripts
Each in the folder of the tile type it is for.
The default layout already shows several of these so you can see them work.
8Make your own — scripts & widgets
You can extend the app with small Python files. There are four things you can write; each has its own folder and a ready-to-copy template in it.
scripts/actions/ — copy action_template.pyscripts/toggles/ — copy toggle_template.pyscripts/live_info/ — copy live_info_template.pyscripts/widgets/ — see calculator.pyA script is written for one tile type and only works there, so each script also says what
it is for in its first lines: META = {"tile": "action"} (or "toggle",
or "live_info"). The tile builder lists only the scripts made for the tile you are
editing, and the app won't run a script on the wrong kind of tile — a Live Info tile, for one,
would otherwise press Ctrl+V into your window every few seconds. Templates are never listed: copy
one, rename the copy, edit it. A script from before this release that sits loose in
scripts/ still works; the builder shows it as "(not sorted)" until you move it.
Someone sent you a .py, or an AI wrote one? In the tile builder,
Add a script file... (under the Script file list) or Install a widget file...
(Mini-app type) lets you pick it from anywhere; Manage > Installed > Add a file...
does the same for any kind. The app reads the file without running it, puts it in the right
folder — a mini-app in widgets/, a script in the folder its META line names — and
selects it. A script that doesn't say what it is for goes in the folder of the tile you are adding
it from (from Installed, the app asks).
Full instructions ship with the app
scripts/.scripts/.scripts/widgets/.scripts/widgets/.After adding or changing a file, click the Reload button — the circular-arrows icon in the panel's top-right header. New and edited scripts and widgets are picked up on the spot. (A full quit and relaunch works too.)
Getting an AI to write it
You don't need to code. Describe what you want, let an AI write the file, then add it with Add a script file... and pick it in the builder. Copy one of the prompts below, fill in the [brackets], and attach the matching template.
Action script — a click that does something
Write an Everyway Panel ACTION script. It runs once inside the app when I click
a button and then returns. It can use ctx.get_clipboard(),
ctx.set_clipboard(text), ctx.send_keys('ctrl+c') and ctx.paste(). It must
NOT loop. I want it to: [describe, e.g. 'take my selected text and remove
all line breaks, then paste it back']. Give each function a one-line
docstring. Keep the line META = {"tile": "action"} near the top. Match
scripts/actions/action_template.py.
Toggle job — something that runs until I switch it off
Write an Everyway Panel TOGGLE script. Its run(ctx) is launched as its own
background process and must keep running (a loop) until stopped; it can't
use the clipboard. I want it to: [describe, e.g. 'every 30 minutes back up
folder A to folder B; I want to pause/resume it']. Keep the line
META = {"tile": "toggle"} near the top. Match
scripts/toggles/toggle_template.py.
Live Info / Monitor provider — a readout that updates itself
Write an Everyway Panel LIVE INFO provider. The app calls the function on a
timer and it must RETURN a dict with 'status' and 'blocks' (block types:
big, badge, kv, table, progress, lines, list). Keep it quick/non-blocking.
It can run at the same time as other tiles' scripts, so keep any data
shared at module level read-only. I want it to show: [describe, e.g. 'the number of unread files in folder X
as a big number']. Keep the line META = {"tile": "live_info"} near the
top. Match scripts/live_info/live_info_template.py.
Mini-app (Widget) tile
Write an Everyway Panel custom WIDGET: a single .py with build(parent, ctx) and
a META dict, returning one CustomTkinter frame. I want: [describe, e.g. 'a
unit converter']. Follow scripts/widgets/HOW_TO_WRITE_WIDGETS.txt and the
built-in calculator.py.
Also tell the AI: what the input is (clipboard? selected text? a file?), what to do with the result, any rules or format, and whether it needs the internet or an extra add-on.
The tile tells you what failed and on which line, and shows a Copy details button — click it and paste into an AI chat. The message is pre-written as a fix request. If a package is missing, the tile offers to install it.
A mini-app that started fine but then failed (a timer, or a click inside it), or a Live Info script that never answers (it has run for 30 seconds and its tile still says "loading..."), gets a small red ! in its top-right corner. Click it: it says what went wrong and offers Copy details, Reload tile (after you fix the file) and Remove tile. The "!" goes when the tile is redrawn or the script answers. Each Live Info script runs on its own, so a slow one only holds up its own tile - the others keep updating.
If the panel froze or closed while a mini-app was starting, the next start shows this card in its place instead of starting it again. Click Try again to start it normally, Remove tile, or Copy details to ask an AI what makes it hang. (On a small tile, click the card to see those three.) If the PC was simply switched off at that moment, Try again is all it needs.
9Icons
Icons are Lucide .svg files in the icons/ folder. To use
one, type its name (without .svg) in a tile's icon picker.
.svg from lucide.dev into icons/, named <name>.svg (e.g. rocket.svg), then pick it by name..svg from icons/. The app tidies leftover cached images into bin/ on the next start — it never deletes.The app auto-recolors every icon to match the theme.
10FAQ & things to note
It won't open / nothing happens when I launch it.
It runs one copy at a time. If it is already running, a message says so — open it with your show/hide shortcut or the tray icon. To
fully restart: tray > Quit (check Task Manager has no pythonw), then relaunch. Still
nothing? See Support in section 12.
My change to a script or widget isn't showing.
Click the Reload button (circular arrows, top-right header) — it re-reads
every script and widget in place. Changes made to config.json by hand, rather than
through the app, still need a full quit and relaunch.
I copied something but it's not in the Clipboard widget.
It captures text only (no images or formatting), skips items over about 4 MB, and two copies within a split second may keep only the latest. Recent history is cleared when you quit; pinned entries are kept across restarts — pin anything you want to keep.
A toggle shows OFF even though I didn't switch it off.
You probably closed the program yourself. The tile re-checks when you open the panel and shows OFF if the program is gone.
Toggle OFF versus the program's own X button?
OFF force-closes, like End task, and does not save. For apps you edit in, close them with their own X first.
A program I launch from a Toggle hangs or stops responding.
Programs launch fully detached, as if you double-clicked them, so the panel isn't holding them. If a tool that uses global hotkeys (e.g. AutoHotkey) misbehaves after you pause it, that's because freezing it makes Windows drop its hotkeys — switch that tile's Pause method to "Send keystroke", or use On/Off mode with no pause. If it hangs even when started by double-clicking it, the cause is inside that program.
The Clock or System tile updates very often — can I make it lighter?
Edit that tile and set an Interval, e.g. 30. Blank means the script's own pace (Clock ticks every 1s). A bigger interval is less frequent and lighter.
The edge handle hides behind some apps — how do I reveal it?
The handle is kept above other always-on-top windows automatically, so this should be rare. If an app ever covers it, press the show/hide shortcut (Ctrl+` unless you changed it). The one case it can't win is an app in true full-screen, such as a slideshow — leave that mode, or use the shortcut.
I use more than one screen — where does the panel go?
On the right edge of the screen that is furthest to the right. The mouse stops at that edge, so hovering the handle works there; the show/hide shortcut opens it from any screen. Plug a screen in or out, change the display scaling or move the taskbar, and the panel moves to the new edge by itself within a couple of seconds — nothing to restart. Mirrored (duplicated) screens count as one.
"Shortcut couldn't be used" appeared when the app started
Another program (or Windows) already uses a shortcut you saved. The app switched to the default (Ctrl+` or Ctrl+Shift+Q) for now and shows why under that shortcut in Manage › Behavior. Choose another there, or close the other program — your saved shortcut is tried again next time the app starts. If the default is taken too, open the panel from the edge handle or the tray icon, then choose a shortcut.
How do I reset everything?
Quit, then in the app folder (%LOCALAPPDATA%\EverywayPanel) delete
config.json (layout), widget_data.json (notes, widget settings and pinned
clips) and launchlog.json. They're recreated fresh on the next start, which opens on
the Default Panel. Your saved panels stay in kits\ — delete those too for a completely
clean start. Your license is not affected.
How do I move to another PC?
Install Everyway Panel on the new PC and enter your license key there
(section 12 explains moving a license). To bring your setup along, use
Manage > Panels > Save as… > Just me on the old PC, copy that .spkit file
across, and open it on the new PC with Load from file….
Is it safe to use a script, widget or kit someone sent me?
Everyway Panel runs the Python scripts inside its scripts/ folder, so
treat a script, widget or kit someone gives you like a macro-enabled document: only use one from a person you trust. Glance inside
scripts/ and its folders and move any .py file you
don't recognize into bin/. The app only ever runs scripts from the
scripts/ folder, never from elsewhere on your PC.
To share your setup, send a kit (Manage > Panels > Save as… > To share) — it leaves your data out, and shows you exactly what it includes before it writes the file. Your license is for your own PCs, so share kits — not the app itself.
11Files & folders
The app is installed in %LOCALAPPDATA%\EverywayPanel. Your license is
kept separately, in %APPDATA%\EverywayPanel, so reinstalling never loses it.
12License, updates & support
The trial
A trial key runs everything for 14 days, counted from when you enter it. A TRIAL - N DAYS LEFT line under the tile count shows the days left — click it to enter your purchased key at any time. When the trial ends, the license window opens at start-up, and everything you set up is kept.
Your license
Manage > License shows your license status. A purchased key works on up to 2 PCs and never
expires. For a limited time after activation the app checks, at most once a day, that the key is
still valid; after that it never checks again. ACTIVATION.txt has the details.
Moving to another PC
On the PC you are leaving, open Manage > License and click Deactivate this PC (it asks for a second click to confirm). That frees one of your two PCs; then enter your key on the new one. PC dead or lost? Email support (below) with your order number and that PC's name, and we will free it.
The blue "Windows protected your PC" box
Opening the installer can bring up this box. Click More info, then Run anyway. It looks scarier than it is: it is simply a recognition check, not a virus scan. Windows doesn't recognise the file yet because the app is new and not signed with a paid publisher certificate ("Unknown publisher"), and its "might put your PC at risk" line is the same for every app it doesn't recognise yet. It doesn't mean anything harmful was found, and clicking Run anyway doesn't turn anything off — your antivirus keeps protecting you and scans the installer like any other download. Your browser may also say the download "isn't commonly downloaded", for the same reason — keep it (Microsoft Edge: … next to the download > Keep > Show more > Keep anyway; other browsers have a similar option).
Updating to a new version
Download the latest installer from your order on the store (the link is in your receipt email) and run it. There is no need to uninstall first. Quit the app first — the installer asks you to if it is still running. Your panels, settings, notes and license are kept. The installer does replace the files that came with the app, so if you edited one of the built-in scripts or widgets, save your version under a new name first.
Uninstalling
Windows Settings > Apps > Everyway Panel > Uninstall, or Start menu > Uninstall Everyway
Panel. Your layout, notes, panels and license are kept, so reinstalling picks up where you left off.
To remove everything, also delete the %LOCALAPPDATA%\EverywayPanel and
%APPDATA%\EverywayPanel folders afterwards. Moving to another PC? Deactivate this PC
before you uninstall — otherwise that PC still counts as one of your two.
Support
Email support@everywaystudio.com. If the app will
not start, double-click Launch (debug).bat in %LOCALAPPDATA%\EverywayPanel
and include a screenshot of the window it opens.