PluginProbe
OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin / 0.9.8
OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin v0.9.8
1.1.10 1.1.9 1.1.8 1.1.7 1.1.6 1.1.5 1.1.4 1.1.3 1.1.2 1.1.1 1.1.0 1.0.1 1.0.0 0.9.8 0.9.7 0.9.6 0.9.4 0.9.5 0.9.3 0.9.2 0.9.1 0.9.0 0.8.9 0.8.8 0.8.7 All 34 releases
desktop-mode / readme.txt

readme.txt in OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin 0.9.8, at readme.txt

393 lines 23.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 === Desktop Mode ===
2 Contributors: automattic, allterraindeveloper, epeicher, mmtr86, nickhamze
3 Tags: admin, dashboard, desktop, productivity, ai
4 Requires at least: 6.0
5 Tested up to: 7.0
6 Requires PHP: 7.4
7 Stable tag: 0.9.8
8 License: GPLv2 or later
9 License URI: https://www.gnu.org/licenses/gpl-2.0.html
10
11 Turn wp-admin into a desktop OS — windows, dock, virtual desktops, and an AI assistant. Per-user opt-in, zero Core changes. By Automattic.
12
13 == Description ==
14
15 **Your WordPress admin, reimagined as a desktop.** Every admin screen opens as a draggable, resizable window — edit a post, browse the Media Library, and moderate comments side by side instead of one page at a time.
16
17 https://www.youtube.com/watch?v=jii_gGbqUx4
18
19 Desktop Mode is opt-in per user: one click in the admin bar switches you in, one click switches you back. Nobody else on the site sees any change, and deactivating the plugin restores the classic admin exactly. Zero Core patches — every feature runs through public WordPress hooks.
20
21 Built and maintained by [Automattic](https://automattic.com), the company behind WordPress.com, Jetpack, WooCommerce, and Tumblr.
22
23 = A real desktop =
24
25 * **Windows** — drag, resize, minimize, maximize, snap, tile. Every admin page works, including plugin pages.
26 * **Dock & taskbar** — the admin menu becomes an icon dock; open windows live in a macOS-style taskbar.
27 * **Virtual desktops (Spaces)** — one desktop for writing, another for the store, another for moderation.
28 * **Files on the desktop** — drop posts, media, and links onto the wallpaper, organize them into folders, trash them to the Trash.
29 * **Session restore** — reload the browser and every window comes back exactly where you left it.
30
31 = Make it yours =
32
33 * **Wallpapers** — color presets, animated scenes, or your own image.
34 * **Widgets & desktop icons** — pin live widgets and shortcuts to the wallpaper; plugins can register their own.
35
36 = Superpowers =
37
38 * **AI Assistant (optional)** — press Cmd+K and ask *"Which post had the comment asking for the recipe?"* It searches your own content. Requires an AI provider configured in **Settings → Connectors** (WordPress 7.0+); see "External services" below.
39 * **Corkboard** — an interactive, zoomable map of how your posts, pages, and products link together.
40 * **Cross-window drag & drop** — drag an image from the Media Library window straight into the editor in another window.
41 * **Command palette** — the full WordPress command palette plus slash commands from plugins, all under Cmd+K.
42
43 = Built to be extended =
44
45 Every significant behavior is hookable. Register windows, dock items, wallpapers, widgets, desktop icons, commands, settings tabs, and AI tools from your own plugin — stable `desktop_mode_register_*` PHP APIs, a typed JavaScript API, and copy-paste examples in the [developer docs on GitHub](https://github.com/WordPress/desktop-mode/tree/trunk/docs).
46
47 = External services =
48
49 This plugin's optional **AI Assistant** sends data to the **AI provider you configure in WordPress's Settings → Connectors** (for example OpenAI, Anthropic, or Google). Generation is routed through WordPress 7.0's built-in AI Client, which supplies the credentials stored in Connectors — the plugin never handles an API key itself. With no provider configured in Connectors, no external AI requests are made.
50
51 When the AI Assistant is enabled and a user invokes it (via Cmd+K or the slash-command palette):
52
53 * **What is sent:** the user's prompt, the conversation history for the active session, and tool-call metadata. The plugin's built-in tools (`search_posts`, `search_pages`, `search_comments`) run WordPress's native keyword search and may include excerpts of the matching posts/pages/comments in tool results, which are then sent back to the provider as part of the agentic loop.
54 * **When it is sent:** on user-initiated AI requests, and (if an administrator enables "Score new comments with AI") on comment-save hooks for spam analysis. Posts, pages, and taxonomy terms are not sent automatically.
55 * **Why it is sent:** to obtain model completions and tool-call decisions that drive the AI Assistant.
56 * **Who provides the service:** whichever provider you configured in Settings → Connectors. Which provider (and endpoint) receives the data depends entirely on that configuration — review the chosen provider's own terms and privacy policy (e.g. OpenAI, Anthropic, or Google).
57
58 No other external services are contacted by this plugin.
59
60 == Installation ==
61
62 1. Upload the plugin folder to `/wp-content/plugins/`, or install via **Plugins → Add New → Upload Plugin**.
63 2. Activate the plugin through the **Plugins** screen in WordPress.
64 3. Click the **desktop** icon in the admin bar's top-right corner. The admin reloads inside the desktop shell.
65 4. Click the same icon again at any time to return to the classic admin.
66
67 = Optional: enable the AI Assistant =
68
69 1. In **Settings → Connectors**, set up an AI provider (OpenAI, Anthropic, or Google). Requires WordPress 7.0+.
70 2. In desktop mode, open **OS Settings → Features** and turn on **AI assistant** (it's off by default).
71 3. Press **Cmd+K** (or **Ctrl+K**) anywhere in desktop mode to open the AI assistant.
72
73 == Frequently Asked Questions ==
74
75 = Does this change anything for users who don't opt in? =
76
77 No. The classic admin is untouched until a user toggles desktop mode on for themselves. Deactivating the plugin restores vanilla Core exactly.
78
79 = Does the plugin require an external service to function? =
80
81 No. The desktop shell, windowing, dock, taskbar, virtual desktops, widgets, wallpapers, and all extension APIs work entirely on-site. The AI Assistant is the only feature that contacts an external service, and it stays inert until an administrator configures an AI provider in Settings → Connectors. See "External services" in the description.
82
83 = Does it patch WordPress core? =
84
85 No. Every feature is wired through public WordPress actions and filters.
86
87 = How do I disable desktop mode for my user? =
88
89 Click the desktop icon in the admin bar a second time to flip the toggle off. The plugin can also be deactivated globally from the Plugins screen.
90
91 = Where is the developer documentation? =
92
93 In `docs/` inside the plugin, and on [GitHub](https://github.com/WordPress/desktop-mode/tree/trunk/docs). The hook reference, JavaScript reference, bridge protocol, and copy-paste examples all live there.
94
95 == Screenshots ==
96
97 1. Real multitasking — Users, Media, and content editing open side by side as windows.
98 2. Your admin, your desktop — custom wallpapers and live widgets registered by plugins.
99 3. The AI Assistant (Cmd+K) answers questions about your own posts, pages, and comments.
100 4. Corkboard — an interactive map of how your content links together.
101 5. OS Settings — pick a wallpaper preset, an animated scene, or upload your own image.
102 6. Files on the desktop — drag posts, media, and links onto the wallpaper and into folders.
103 7. The Trash collects trashed posts, media, folders, and shortcuts in one window.
104
105 == Credits ==
106
107 Desktop Mode is brought to you by [Automattic](https://automattic.com). The plugin is open source under GPLv2-or-later; contributions are welcome on [GitHub](https://github.com/WordPress/desktop-mode).
108
109 = Third-party libraries =
110
111 The plugin bundles the following third-party JavaScript library, loaded on demand only when a feature that needs it is in use:
112
113 * **[PixiJS](https://pixijs.com/)** (MIT License) — used by the interactive **OS Settings → About** scene, the **Corkboard** window, built-in canvas wallpapers (e.g. the animated WordPress logo), and the **Inkfall** typing game. PixiJS is loaded from the plugin's own `assets/vendor/` directory; no CDN requests are made.
114
115 = Data files =
116
117 The **Inkfall** game's word list (`assets/games/inkfall/words.txt`) is generated from the following sources (attribution also ships in the file's header):
118
119 * **[FrequencyWords](https://github.com/hermitdave/FrequencyWords)** by Hermit Dave (CC-BY-SA 4.0) — English word-frequency ranking derived from the OpenSubtitles corpus.
120 * **[english-words](https://github.com/dwyl/english-words)** by dwyl (Unlicense) — used as a validity filter.
121 * **[LDNOOBW English list](https://github.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words)** (CC-BY 4.0) — used as an exclusion filter.
122
123 == Changelog ==
124
125 = 0.9.8 =
126 * Desktop Themes — uploadable ZIP theme system
127 * Add a Drafts widget
128 * Add a window corner-radius setting (Sharp / Default / Round)
129 * Add editor-preview eye button with live split-view preview
130 * Correct the AI Copilot and settings tab references
131 * Update wp-coding-standards/wpcs to 3.4.1
132 * Strip version-history annotations across PHP, TS, and Markdown
133 * Fix invisible context menus and confirm dialogs (transparent panel background)
134 * Let a desktop theme recommend OS settings
135 * Fix window id plumbing, and restore native windows across a reload
136 * Decode html entities in post excerpts
137 * Fix Recycle Bin Sync
138 * Add Aero Peek preview with snap-back to dock peek
139 * Fix Cmd+K entity search not finding posts in Commands mode
140 * Make the command palette follow the active desktop theme
141 * Redesign the native Comments window as a two-pane conversation view
142 * Keep menu edit links inside the current window
143 * Name desktop objects after things, not after the software
144 * Give tooltips their own two theming tokens
145 * Add an AI writing assistant to the Drafts widget
146 * Fix active tab underline highlight in Appearance Add Theme view
147 * Show the whole component kit in OS Settings, and make it searchable
148 * Expose dock glyph and focused window control colours as tokens
149 * Overview: show minimized windows in grid to fix badge count mismatch
150 * Decode html entities in recycle bin
151 * Add an admin-bar presentation mode to OS Settings and the theme system
152 * AI Agents framework: agents as WordPress users, abilities runner, chat with persisted conversations, drag & drop and Send to triggers
153 * Close privilege-escalation and session-bypass paths
154 * Enforce strict structured-output schemas at the provider boundary
155 * Add window reveal animations
156 * Add Popup Siege as a Desktop Mode game extension
157 * Add SOL Inbound Monologue RSS reader extension
158 * Drop the esbuild CSS syntax warning in the drafts widget
159 * Improve the agents chat and Agents section UX
160 * Contain window-reveal play failures and stop over-promising `owner`
161 * Enhance agent capabilities and HTTP timeout management
162 * Provider robustness — OpenAI strict schema, Anthropic refusals, retries, real request timeout
163
164 = 0.9.7 =
165 * Add Drafts widget
166 * Add Focus Timer widget
167 * Fix window title bar pushed off-screen during top-edge resize
168 * Enforce viewport boundaries during window resize
169 * Fix hiding a dock-placed native window's tile via Apps & Icons
170 * Fix window dragging allowing windows to disappear off right/bottom edges
171 * Folder-upload desktop refresh + inline upload previews
172 * Reset the plugin-update notifiers live after updates run
173 * Decode html entities in widget titles
174 * Fix window drag bounds
175 * Focus Timer: react to the linked window closing
176 * Make the games framework an opt-in Extended option (off by default)
177 * Cut idle server load, boot weight, and package size
178 * Live-refresh Plugins window after install/activate/deactivate
179
180 = 0.9.6 =
181 * Improved button accessibility and visual feedback by implementing the missing busy spinner and aria-busy attributes on the Button component
182 * AI assistant as the shell's ⌘K palette (Commands + Ask AI)
183 * Add pinned notes: paper notes with a pushpin, composed in a Note Pad widget
184 * Improve minimized window UX with restore support and count badges
185 * Surface core admin notices once in the desktop shell
186 * Convert pinned notes into draft posts
187 * Normalize AI Copilot tool schemas for the provider
188 * Add a game system: Games hub, unified scoreboard, challenges, and Inkfall
189 * Keep URL-style menu slugs (ACF) as direct admin links
190 * Add Alphabet Soup game; generalize game infra out of Inkfall
191 * Fix 404 from wallpaper Sort By when a synthetic tile is on the desktop
192 * Fix illegible text fields inside wpd-modal dialogs
193 * Fix empty custom-gradient editor after re-selecting the wallpaper
194 * Add Related-entities title-bar navigation with open PHP/JS filter surface
195 * Admin bar visibility when fullscreen window is minimized
196 * Allow selecting window from Overview view
197 * Show open window indicators for bottom dock tiles
198 * Add busy state and spinner to wpd-button
199 * Redesign session-expiry recovery: one login prompt, in-place recovery
200 * Fix folder rename not reflected on the desktop until refresh
201 * Live-refresh list windows on content changes (posts, CPTs, comments, WooCommerce orders)
202 * Add real file/folder storage on the desktop
203 * Fix gamepad icon missing from the window title bar (data-URI window icons)
204 * Fix content graph taxonomy fallback
205
206 = 0.9.5 =
207 * AI Copilot now uses WordPress 7.0 providers: configure a provider once in Settings → Connectors and the assistant uses it — no more per-plugin keys
208 * AI Copilot tools are now WordPress Abilities, so the assistant works across any configured provider; plugin authors add their own tools with the Abilities API (`desktop_mode_register_ai_tool()` was removed)
209 * Removed the OS Settings → AI tab; the per-user "AI assistant" toggle now lives in OS Settings → Features next to "Score new comments with AI"
210 * Requires WordPress 7.0 for the AI assistant only; on older WordPress the assistant is hidden and the rest of Desktop Mode is unaffected
211 * Stored AI keys are deleted from the database on upgrade
212 * Five new built-in widgets: Recent Comments, Post Stats, Site Views, Jazz Quote, and Starter
213 * Widgets can now be resized, and docked widget heights persist across sessions
214 * Two new wallpapers, Living Tree and Snow, plus per-wallpaper settings dialogs
215 * Window links: windows showing related content are visually connected, with pluggable link renderers for plugin authors
216 * Spring-loading: hovering a window while dragging anything brings it to the front
217 * New developer mode setting (OS Settings → Features) unlocks developer-facing surfaces
218 * WordPress update notices now surface once in the desktop shell instead of repeating in every window
219 * Desktop shortcuts stay in sync and core icons follow the spatial layout
220 * Extended options merged into the OS Settings → Features tab
221 * Fixed selection bugs that could point destructive actions at the wrong files
222 * Closing a window with unsaved changes now warns instead of silently losing work
223 * Fixed windows and dock state leaking across virtual desktops
224 * Fixed Overview keyboard navigation and focus trapping
225 * The dock now refreshes live when a plugin registers a new post type
226 * Fixed dock icon alignment, "Add New" window titles and icons, and count-label pluralization
227
228 = 0.9.3 =
229 * Rewrite WordPress.org plugin page, leaner copy, video embed, screenshots
230 * Review: doc/comment accuracy, security hardening, and cleanups across the plugin
231
232 = 0.9.2 =
233 * Persist welcome-dialog dismissal when Desktop Mode is disabled
234 * Welcome dialog reappears on every page when the admin is served from an origin that differs from `site_url`
235
236 = 0.9.1 =
237 * Make native list windows opt-in (Beta) instead of opt-out
238 * Scope AI to comment spam + native-search assistant
239 * Feat/unfocus window effects
240 * Fix placement, gear/Help, and dock⇄desktop visibility bugs
241 * Fix Guidelines-experiment 404 noise, duplicate welcome dialog, and unused-preload warnings
242 * Add "View activity footprint" row action in Users list
243
244 = 0.9.0 =
245 * Gate per-user REST routes on desktop mode enabled
246 * Refine recycle bin badge styling and sync on stop
247 * Clear comments selection after applying action
248 * Don't let a failing sync block the agent
249 * Make the AI-disabled error link to AI Settings
250
251 = 0.8.9 =
252 * Improve drag-and-drop handling in chromeless bridge and iframe bridge
253 * The whole shell loads faster, especially the first time you open wp-admin
254 * Open an app from the wallpaper or from the dock — it's the same window now (no more two copies floating around)
255 * Minimize a window and the dock icon shows it's minimized — even if you opened it from the desktop icon
256 * Click "+ New" twice and you get two editors. Drafting a post and want to start another? Just click again
257 * "Switch to Desktop Mode" always takes you to the dashboard, so you know where you're starting from
258 * Resizing a window and accidentally letting go over the desktop no longer minimizes everything
259 * WooCommerce: the "Add Order" button is back on the Orders page
260 * "Add New" buttons (Add Post, Add Order, Add anything) stay visible inside every plugin page
261 * After we ship a fix, you get it on your next page load — no more "try refreshing twice"
262
263 = 0.8.8 =
264 * Align dock badge with in-window update count
265 * Make every dock scrollable, keep system tiles pinned
266 * No more flash when you create, move, or delete a file or shortcut on the desktop
267 * Trashing a folder that contained other folders now works (used to silently fail)
268 * Drag an image from the Media Library straight into a Gutenberg post, it now inserts
269 * Edit User screen: the form is centered instead of pinned to the left
270 * Title-bar icons (Help, etc.) are now visually centered
271 * Sticky notes powered by WP Guidelines
272
273 = 0.8.7 =
274 * Bump Tested up to WordPress 7.0
275 * Fix plugins window stale-nonce 'Cookie check failed' on long-running sessions
276 * Fix plugin .zip drop routing to Media Library uploader
277 * Add server-side search to entity list views
278 * Rename Browse tab to Add Plugin
279 * Drag and drop improvements
280
281 = 0.8.6 =
282 * Light indicators for native-window-target dock icons
283 * Additional fixes and polish
284 * Add compatibility layer for Divi script dependencies and tests
285 * Show plugin icons
286 * Open off-site menu items in a new browser tab
287
288 = 0.8.6-rc1 =
289 * Tag cloud & category mindmap: search, clustering, server cache
290 * Drag & Drop from local desktop
291 * Implement loading skeletons and staggered animations for file tiles
292 * Arrow-key shortcuts + Overview-from-Show-Desktop fix
293 * Shortcuts popover, dock-style tooltips, reorder
294 * Add Featured Plugins View and Ribbon Component
295 * Add "Automatic Updates" column and related functionality to Plugins window
296 * Add window notices feature with persistent dismissal and server sync
297 * Polish four framework surfaces for plugin authors
298 * Disable focus on other window actions
299 * Add Media section to "My WordPress" + uniform preview-pane hook surface
300 * Refactor My WordPress to use `<wpd-tile>` + add post status ribbons
301 * Allow deactivating plugins in CMO desktop & dock
302 * OS-file drop — progress UI, live refresh, cancel cleanup, CMO
303 * Group-by selector + click-to-deselect + focused-icon centering
304 * Test against PHP 8.3 and 8.4
305 * Enhance minimize/restore behavior to preserve pre-minimize state and add cross-state transition tests
306
307 = 0.8.5 =
308 * Shared folders, heartbeat widget, and heartbeat-pipeline hardening
309 * Recycle Bin: show item type badges inline next to title
310 * Plugins window: expandable rows with rich plugin details
311 * Remember native window size across opens
312 * Fix blank plugin icons in the Plugins window
313 * Restore "Show desktop on wallpaper click" as an opt-in setting
314 * Fix plugin update refresh, dock badge, and stuck-row failures
315 * Trash bin polish: URL badge, live placement badge, no media auto-trash
316 * Throw on empty REST body to avoid TypeError after self-replace
317 * Hide Media filter tab when MEDIA_TRASH is off
318 * Sequence openCurrentPage after restoreSession to avoid duplicate windows
319 * Fix window refresh issue on new sessions
320
321 = 0.8.4 =
322 * Faster Desktop Mode, main bundle cut by 59 %
323 * "Edit Post" from the front-end admin bar opens nothing
324 * Cross-page admin-link clicks: state, destructive actions, referer hint
325 * Warn loudly when a `<wpd-*>` tag is used without being imported
326 * Support re-uploading existing plugins, add post-install Activate panel
327 * Restore the full WordPress command palette inside Cmd+K
328
329 = 0.8.3 =
330 * Feat comments as native windows
331 * Chrome <111 titlebars + duplicate-placement REST 500s
332 * SW navigation interception caused window-in-window after core update
333 * Open each post as its own window from the Posts window
334 * Fix Users window data + live-refresh, plus per-window REST clients
335 * Session-expiry cascade + Plugins window sync
336 * Narrow scope to /wp-admin/ and throttle SW reloads
337 * Plugins window: real updates, not just a phantom badge
338 * Support plain permalinks for REST URL construction
339 * Hide registered icons from desktop instead of trashing
340
341 = 0.8.2 =
342 * Many fixes and new features
343 * Add unit test to ensure bridge script skips core AJAX update buttons
344 * Native Plugins window + `<wpd-card>`
345 * Appearance window polish + dock-peek fixes
346 * Fix upload theme
347 * Implement favicon resolver and associated tests for desktop mode
348 * Auto-inject X-WP-Nonce for REST API requests
349 * Enhance user management functionality in WordPress REST API
350 * Fix user role updates
351 * Fix plugin native issues
352 * Enhance color scheme preview functionality by adding shell scheme flipping
353 * Fix rearrange icons out of desktop
354 * Open each post in its own window
355 * Add item visibility and dock order settings
356 * Add first-run welcome dialog for Desktop Mode
357 * Fix dock management
358 * Refetch desktop placements on Recycle Bin restore
359
360 = 0.8.1 =
361 * Framework rework and stability improvements — significant internals refactor, smoother window lifecycle, and more reliable bridging between iframe and native windows.
362 * Drag and drop reworked end-to-end: calmer pointer behavior, more accurate hit-testing, and reliable handoff across windows.
363 * Posts, Pages, and Users now open as native desktop windows — direct DOM rendering inside the shell instead of an iframe, faster open, instant interaction, and UI tailored to the windowing model.
364 * New Content Graph tool — an interactive map of how your content links together. Pan, zoom, and focus a node to explore its neighborhood.
365 * Cross-page admin link routing in the chromeless bridge so links across the admin stay inside the desktop shell.
366 * Many bug fixes across the admin bar, Fullscreen toggle, resize handles over iframes, real-time icon refresh on plugin activation, and the PWA shell.
367
368 = 0.5.1 =
369 * Code editor and framework improvements.
370 * Enhanced AI provider integration: third-party providers may register through `desktop_mode_register_ai_provider()`.
371 * Title-bar button registry with icon painting for plugin authors.
372 * OS Settings tabs are now extensible via `desktop_mode_register_settings_tab_script()` / `desktop_mode_register_settings_tab()`.
373 * AI Copilot extensibility: server-side tool registry (`desktop_mode_register_ai_tool()`) and client-side `wp.desktop.ai.ask()` programmatic entry point.
374 * UI component kit expansion (~25 `<wpd-*>` web components).
375 * Backtick hotkey to cycle window focus.
376 * Unified command palettes via the palette registry.
377 * OS Settings Help tab.
378
379 = 0.5.0 =
380 * Command registration APIs (`desktop_mode_register_command_script()` / `desktop_mode_register_command()`) with live install/activate refresh.
381 * Media-library enhancement enabled by default, with opt-out.
382 * Dock CSS selectors updated; overflow handling improved.
383
384 See the [GitHub releases page](https://github.com/WordPress/desktop-mode/releases) for the full history.
385
386 == Upgrade Notice ==
387
388 = 0.8.1 =
389 Framework and stability rework, reworked drag and drop, native Posts/Pages/Users windows, and a new Content Graph tool. Backwards-compatible.
390
391 = 0.5.1 =
392 Adds AI Copilot extensibility (server-side tools, multi-provider support) and a title-bar button registry. Backwards-compatible.
393