Panels
Community panels
Panels made by other people: finding and installing one, what it can do, updates and removal, and where to start building and publishing your own.
Finding and installing a panel
Community panels are panels made by people outside Deska. You browse them in the Store’s Panels shelf (the Store button at the top right, or Discover in the Panel Library, which opens it), fifty at a time, with Show more panels under the list for the next ones. The Panel Library (Cmd/CtrlShiftE) keeps Installed, the ones you added, and Build a panel, where you make your own; opening a panel from the Store shows its page there. The search bar at the top of the Library looks through community panels too.
Open a panel to read its page: what it does, what it can do beyond drawing in its own panel, the sites it connects to, where it shows (on your desk, and in Extras when it has a row there), its version, its size and how many people installed it. Install and add shows the permissions and sites once more before anything is copied, then downloads the panel, checks it against the copy deska.dev lists and puts it on your desk. Installing needs you signed in, on any plan.
Your installs follow your account. Sign in on another computer and Deska installs the same panels there, with the permissions you already allowed. Each computer keeps its own copy and its own panel data, and an installed panel keeps working with no connection. The Installed panels section of your account page lists every panel your account installed, with its version and what you allowed it to do.
What a panel can do
A community panel is web code: pages, scripts, styles, images and fonts. Deska runs it in a sandbox, inside its own panel. Without asking, a panel can draw in that panel, keep its own data and files on this computer, follow your theme and know whether you can see it. It can also offer to save a file, and you pick where in your system’s save dialog.
Anything more is a permission the panel asks for, and you allow it when you install:
- Send notifications: notices in Deska, like a timer ending, labelled with the panel’s name, at most one every ten seconds.
- Open links: https links in your browser, only while you are using the panel. Deska asks you the first time for each site.
- Copy to your clipboard: text or images, only while you are using the panel. Without this permission a panel cannot copy anything; copying text you select in it works as anywhere else.
Sites. A panel lists the sites it connects to, and it can reach those and no others. A weather panel lists its weather service; a timer lists none and cannot reach the internet at all. The panel’s page lists every site. The question Deska asks before installing names them too, or the first five and how many more when there are seven or more; an update that wants new sites names each one.
A panel can never read your files, your other panels, your agents or what they do, your sign-ins or your Deska account. It sees a file only when you pick it, paste it or drop it into the panel, and it never learns where you saved one. It cannot run anything on your computer, and it stops when none of its panels is open.
Who made it
Each community panel is made by its author, not by Deska, and its page says so: Made by <author>, not by Deska. It runs in a sandbox. The author is the name its maker chose, and no panel’s name or author may pass for Deska or Dex.
Deska invites the authors who publish, checks every version against the rules on this page when it arrives, and can withdraw a panel or a single version of it. A withdrawn panel stops loading on every computer that has it, says Deska removed it, and can no longer be installed. Deska looks for withdrawn panels when it starts and every six hours. If an author deletes their account, their panels leave Discover, and the computers that have them keep them.
Updates and removal
When a newer version is out, the panel’s card and page offer Update to it. If the new version asks for a permission or a site you have not allowed, Deska asks again first and says what is new. Updating reloads the copies of the panel that are open, and the panel keeps what it saved: that lives on this computer, not in the version.
Remove takes the panel off this computer and off your account’s list, so a computer you sign in to next does not install it. If the panel is open on your desk, Deska tells you first, and the open copy then says it is not installed. Removing deletes what the panel saved on this computer.
Remove under Installed panels, on your account page, takes a panel off your account’s list without touching any computer: the computers you sign in to from then on do not install it, and the ones that have it keep it until you remove it in their Panel Library. Updating it on one of them puts it back on the list. The list also says when a newer version is out, and it keeps the panels Deska withdrew, marked, until you remove them.
A computer keeps its panels whoever signs in, with the permissions they were installed with, and adds the ones the new account installed.
A panel that adds a row to Extras can keep it there or not: Hide from Extras is on its card in Installed.
Building a panel
A panel is a folder of web files with a panel.json at its root. There is no build step and nothing to host: Deska serves the folder to the panel itself, in a sandbox, and the page reaches Deska only through window.deska, the SDK Deska serves at /__deska/sdk.js. To try one, open Build a panel in the Library, choose Load a folder and pick the folder that holds panel.json: Deska checks it, lists what to fix and reloads the panel whenever a file changes.
Everything about building one now has its own section, Build panels:
Examples to start from
deska-panels-examples on GitHub holds fourteen open source panels, MIT licensed, each written to teach one part of the SDK, with a starter folder and a preview tool. Start with Team Clocks, keep SDK Playground open while you build, and see all of them, with screenshots, on Example panels.
Publishing a panel
Publishing is open to invited authors for now. Apply at deska.dev/panels/apply (or press Ask to publish in Build a panel). Once your account is approved, open your loaded folder’s page in Build a panel, press Publish, write what changed and confirm.
- The first version claims the panel’s id for your account, and a published version never changes: raise
versionto publish again. - People who installed an earlier version are asked again before an update that wants a new permission or site.
- The Community panels section of your account page lists what you published; Unlist hides a panel from Discover while the computers that have it keep it.
Versions, limits and every refusal are in Publishing. Questions: write to [email protected].