PluginProbe
OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin / 0.9.2
OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin v0.9.2
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.2, at readme.txt

271 lines 15.7 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
3 Tags: desktop, admin, ui, productivity, ai
4 Requires at least: 6.0
5 Tested up to: 7.0
6 Requires PHP: 7.4
7 Stable tag: 0.9.2
8 License: GPLv2 or later
9 License URI: https://www.gnu.org/licenses/gpl-2.0.html
10
11 Reimagines the WordPress admin as a desktop OS with draggable windows and a dock. Per-user opt-in. By Automattic.
12
13 == Description ==
14
15 Desktop Mode renders /wp-admin as a desktop operating system. Admin screens open as draggable, resizable, minimizable windows on a desktop, with a left-edge dock built from the admin menu. The classic admin stays untouched for everyone else, and deactivating the plugin restores vanilla Core exactly.
16
17 Built and maintained by [Automattic](https://automattic.com) — the company behind WordPress.com, Jetpack, WooCommerce, and Tumblr. Zero Core patches: every feature is wired through public WordPress hooks.
18
19 = Highlights =
20
21 * **Per-user opt-in.** An admin-bar toggle flips a user-meta flag; nobody else sees any change.
22 * **Window system.** Iframe windows load admin pages chromelessly. Native windows render directly in the parent DOM via a public registration API. Both share drag, resize, minimize, maximize, fullscreen, and detach-to-new-tab.
23 * **Dock + taskbar.** Left-edge dock for core menus; bottom macOS-style pill taskbar for plugin menus. Letter-badge icon fallback for plugins without icon art.
24 * **Virtual desktops ("Spaces").** Multiple desktops per user, each with its own window set. Overview grid surfaces the Spaces switcher and thumbnails.
25 * **Arrange & snap.** Cascade, Tile, Overview, Snap-to-grid. Plugins contribute custom entries.
26 * **Wallpaper & widget registries.** Server- and client-side registration. CSS presets plus canvas (WebGL/2D) wallpapers with collision-aware surface data for snow/rain/physics effects.
27 * **Desktop icons.** Wallpaper-layer shortcuts that open native windows or admin URLs.
28 * **AI Copilot (optional).** Cmd+K palette backed by an agentic loop with built-in search tools. Disabled until you supply an API key. See "External services" below.
29 * **Slash commands & palettes.** Public registration APIs for plugin authors.
30 * **Cross-frame drag bridge.** Media-library attachments drag across iframe boundaries.
31 * **Session persistence.** Window stack (including desktops, focus, state) restored across reloads.
32 * **i18n.** Full gettext coverage across PHP and TypeScript; Spanish translation shipped.
33
34 = For plugin authors =
35
36 Desktop Mode is built to be extended. Every significant behavior is hookable — add a desktop icon, register a dock item, gate desktop mode by role, react to window events, or register a native window, all from your own plugin with zero patches here.
37
38 Comprehensive PHP and JavaScript hook surface, plus stable `desktop_mode_register_*` functions for windows, widgets, wallpapers, icons, window tabs, commands, settings tabs, and AI tools. See the [developer docs on GitHub](https://github.com/WordPress/desktop-mode/tree/trunk/docs).
39
40 = External services =
41
42 This plugin's optional **AI Copilot** sends data to **OpenAI** (`https://api.openai.com/v1/responses`) when, and only when, an administrator configures an OpenAI API key in **Settings → AI**. With no key configured, no external requests are made.
43
44 When the AI Copilot is enabled and a user invokes it (via Cmd+K or the slash-command palette):
45
46 * **What is sent:** the user's prompt, the conversation history for the active session, the chosen model identifier (e.g. `gpt-4o-mini`), 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 OpenAI as part of the agentic loop.
47 * **When it is sent:** on user-initiated AI requests, and (if enabled) on comment-save hooks for spam analysis. Comment spam analysis runs server-side as part of the comment-insert flow. Posts, pages, and taxonomy terms are not sent automatically.
48 * **Why it is sent:** to obtain model completions and tool-call decisions that drive the AI Copilot.
49 * **Who provides the service:** OpenAI, L.L.C. — see the [OpenAI Terms of Use](https://openai.com/policies/row-terms-of-use/) and the [OpenAI Privacy Policy](https://openai.com/policies/row-privacy-policy/).
50
51 The AI Copilot's provider layer is also extensible: third-party plugins may register additional providers via `desktop_mode_register_ai_provider()`. Those providers may send data to other endpoints; review each plugin's own privacy disclosure separately.
52
53 No other external services are contacted by this plugin.
54
55 == Installation ==
56
57 1. Upload the plugin folder to `/wp-content/plugins/`, or install via **Plugins → Add New → Upload Plugin**.
58 2. Activate the plugin through the **Plugins** screen in WordPress.
59 3. Click the **desktop** icon in the admin bar's top-right corner. The admin reloads inside the desktop shell.
60 4. Click the same icon again at any time to return to the classic admin.
61
62 = Optional: enable the AI Copilot =
63
64 1. Open **Settings → AI** inside desktop mode.
65 2. Paste an OpenAI API key and pick a model.
66 3. Press **Cmd+K** (or **Ctrl+K**) anywhere in desktop mode to open the AI palette.
67
68 == Frequently Asked Questions ==
69
70 = Does this change anything for users who don't opt in? =
71
72 No. The classic admin is untouched until a user toggles desktop mode on for themselves. Deactivating the plugin restores vanilla Core exactly.
73
74 = Does the plugin require an external service to function? =
75
76 No. The desktop shell, windowing, dock, taskbar, virtual desktops, widgets, wallpapers, and all extension APIs work entirely on-site. The AI Copilot is the only feature that contacts an external service, and it is disabled until an administrator configures an API key. See "External services" in the description.
77
78 = Does it patch WordPress core? =
79
80 No. Every feature is wired through public WordPress actions and filters.
81
82 = How do I disable desktop mode for my user? =
83
84 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.
85
86 = Where is the developer documentation? =
87
88 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.
89
90 == Screenshots ==
91
92 1. The desktop shell — wallpaper, dock, taskbar, and a window with the admin loaded inside it.
93 2. Multiple windows open across virtual desktops (Spaces).
94 3. The AI Copilot Cmd+K palette in action.
95 4. Custom wallpapers and widgets registered by a plugin.
96 5. The Arrange menu — Cascade, Tile, Overview, Snap to grid.
97
98 == Credits ==
99
100 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).
101
102 = Third-party libraries =
103
104 The plugin bundles the following third-party JavaScript library, loaded on demand only when a feature that needs it is in use:
105
106 * **[PixiJS](https://pixijs.com/)** (MIT License) — used by the interactive **OS Settings → About** scene, the **Content Graph** window, and built-in canvas wallpapers (e.g. the animated WordPress logo). PixiJS is loaded from the plugin's own `assets/vendor/` directory; no CDN requests are made.
107
108 == Changelog ==
109
110 = 0.9.2 =
111 * Persist welcome-dialog dismissal when Desktop Mode is disabled
112 * Welcome dialog reappears on every page when the admin is served from an origin that differs from `site_url`
113
114 = 0.9.1 =
115 * Make native list windows opt-in (Beta) instead of opt-out
116 * Scope AI to comment spam + native-search assistant
117 * Feat/unfocus window effects
118 * Fix placement, gear/Help, and dock⇄desktop visibility bugs
119 * Fix Guidelines-experiment 404 noise, duplicate welcome dialog, and unused-preload warnings
120 * Add "View activity footprint" row action in Users list
121
122 = 0.9.0 =
123 * Gate per-user REST routes on desktop mode enabled
124 * Refine recycle bin badge styling and sync on stop
125 * Clear comments selection after applying action
126 * Don't let a failing sync block the agent
127 * Make the AI-disabled error link to AI Settings
128
129 = 0.8.9 =
130 * Improve drag-and-drop handling in chromeless bridge and iframe bridge
131 * The whole shell loads faster, especially the first time you open wp-admin
132 * Open an app from the wallpaper or from the dock — it's the same window now (no more two copies floating around)
133 * Minimize a window and the dock icon shows it's minimized — even if you opened it from the desktop icon
134 * Click "+ New" twice and you get two editors. Drafting a post and want to start another? Just click again
135 * "Switch to Desktop Mode" always takes you to the dashboard, so you know where you're starting from
136 * Resizing a window and accidentally letting go over the desktop no longer minimizes everything
137 * WooCommerce: the "Add Order" button is back on the Orders page
138 * "Add New" buttons (Add Post, Add Order, Add anything) stay visible inside every plugin page
139 * After we ship a fix, you get it on your next page load — no more "try refreshing twice"
140
141 = 0.8.8 =
142 * Align dock badge with in-window update count
143 * Make every dock scrollable, keep system tiles pinned
144 * No more flash when you create, move, or delete a file or shortcut on the desktop
145 * Trashing a folder that contained other folders now works (used to silently fail)
146 * Drag an image from the Media Library straight into a Gutenberg post, it now inserts
147 * Edit User screen: the form is centered instead of pinned to the left
148 * Title-bar icons (Help, etc.) are now visually centered
149 * Sticky notes powered by WP Guidelines
150
151 = 0.8.7 =
152 * Bump Tested up to WordPress 7.0
153 * Fix plugins window stale-nonce 'Cookie check failed' on long-running sessions
154 * Fix plugin .zip drop routing to Media Library uploader
155 * Add server-side search to entity list views
156 * Rename Browse tab to Add Plugin
157 * Drag and drop improvements
158
159 = 0.8.6 =
160 * Light indicators for native-window-target dock icons
161 * Additional fixes and polish
162 * Add compatibility layer for Divi script dependencies and tests
163 * Show plugin icons
164 * Open off-site menu items in a new browser tab
165
166 = 0.8.6-rc1 =
167 * Tag cloud & category mindmap: search, clustering, server cache
168 * Drag & Drop from local desktop
169 * Implement loading skeletons and staggered animations for file tiles
170 * Arrow-key shortcuts + Overview-from-Show-Desktop fix
171 * Shortcuts popover, dock-style tooltips, reorder
172 * Add Featured Plugins View and Ribbon Component
173 * Add "Automatic Updates" column and related functionality to Plugins window
174 * Add window notices feature with persistent dismissal and server sync
175 * Polish four framework surfaces for plugin authors
176 * Disable focus on other window actions
177 * Add Media section to "My WordPress" + uniform preview-pane hook surface
178 * Refactor My WordPress to use `<wpd-tile>` + add post status ribbons
179 * Allow deactivating plugins in CMO desktop & dock
180 * OS-file drop — progress UI, live refresh, cancel cleanup, CMO
181 * Group-by selector + click-to-deselect + focused-icon centering
182 * Test against PHP 8.3 and 8.4
183 * Enhance minimize/restore behavior to preserve pre-minimize state and add cross-state transition tests
184
185 = 0.8.5 =
186 * Shared folders, heartbeat widget, and heartbeat-pipeline hardening
187 * Recycle Bin: show item type badges inline next to title
188 * Plugins window: expandable rows with rich plugin details
189 * Remember native window size across opens
190 * Fix blank plugin icons in the Plugins window
191 * Restore "Show desktop on wallpaper click" as an opt-in setting
192 * Fix plugin update refresh, dock badge, and stuck-row failures
193 * Trash bin polish: URL badge, live placement badge, no media auto-trash
194 * Throw on empty REST body to avoid TypeError after self-replace
195 * Hide Media filter tab when MEDIA_TRASH is off
196 * Sequence openCurrentPage after restoreSession to avoid duplicate windows
197 * Fix window refresh issue on new sessions
198
199 = 0.8.4 =
200 * Faster Desktop Mode, main bundle cut by 59 %
201 * "Edit Post" from the front-end admin bar opens nothing
202 * Cross-page admin-link clicks: state, destructive actions, referer hint
203 * Warn loudly when a `<wpd-*>` tag is used without being imported
204 * Support re-uploading existing plugins, add post-install Activate panel
205 * Restore the full WordPress command palette inside Cmd+K
206
207 = 0.8.3 =
208 * Feat comments as native windows
209 * Chrome <111 titlebars + duplicate-placement REST 500s
210 * SW navigation interception caused window-in-window after core update
211 * Open each post as its own window from the Posts window
212 * Fix Users window data + live-refresh, plus per-window REST clients
213 * Session-expiry cascade + Plugins window sync
214 * Narrow scope to /wp-admin/ and throttle SW reloads
215 * Plugins window: real updates, not just a phantom badge
216 * Support plain permalinks for REST URL construction
217 * Hide registered icons from desktop instead of trashing
218
219 = 0.8.2 =
220 * Many fixes and new features
221 * Add unit test to ensure bridge script skips core AJAX update buttons
222 * Native Plugins window + `<wpd-card>`
223 * Appearance window polish + dock-peek fixes
224 * Fix upload theme
225 * Implement favicon resolver and associated tests for desktop mode
226 * Auto-inject X-WP-Nonce for REST API requests
227 * Enhance user management functionality in WordPress REST API
228 * Fix user role updates
229 * Fix plugin native issues
230 * Enhance color scheme preview functionality by adding shell scheme flipping
231 * Fix rearrange icons out of desktop
232 * Open each post in its own window
233 * Add item visibility and dock order settings
234 * Add first-run welcome dialog for Desktop Mode
235 * Fix dock management
236 * Refetch desktop placements on Recycle Bin restore
237
238 = 0.8.1 =
239 * Framework rework and stability improvements — significant internals refactor, smoother window lifecycle, and more reliable bridging between iframe and native windows.
240 * Drag and drop reworked end-to-end: calmer pointer behavior, more accurate hit-testing, and reliable handoff across windows.
241 * 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.
242 * New Content Graph tool — an interactive map of how your content links together. Pan, zoom, and focus a node to explore its neighborhood.
243 * Cross-page admin link routing in the chromeless bridge so links across the admin stay inside the desktop shell.
244 * Many bug fixes across the admin bar, Fullscreen toggle, resize handles over iframes, real-time icon refresh on plugin activation, and the PWA shell.
245
246 = 0.5.1 =
247 * Code editor and framework improvements.
248 * Enhanced AI provider integration: third-party providers may register through `desktop_mode_register_ai_provider()`.
249 * Title-bar button registry with icon painting for plugin authors.
250 * OS Settings tabs are now extensible via `desktop_mode_register_settings_tab_script()` / `desktop_mode_register_settings_tab()`.
251 * AI Copilot extensibility: server-side tool registry (`desktop_mode_register_ai_tool()`) and client-side `wp.desktop.ai.ask()` programmatic entry point.
252 * UI component kit expansion (~25 `<wpd-*>` web components).
253 * Backtick hotkey to cycle window focus.
254 * Unified command palettes via the palette registry.
255 * OS Settings Help tab.
256
257 = 0.5.0 =
258 * Command registration APIs (`desktop_mode_register_command_script()` / `desktop_mode_register_command()`) with live install/activate refresh.
259 * Media-library enhancement enabled by default, with opt-out.
260 * Dock CSS selectors updated; overflow handling improved.
261
262 See the [GitHub releases page](https://github.com/WordPress/desktop-mode/releases) for the full history.
263
264 == Upgrade Notice ==
265
266 = 0.8.1 =
267 Framework and stability rework, reworked drag and drop, native Posts/Pages/Users windows, and a new Content Graph tool. Backwards-compatible.
268
269 = 0.5.1 =
270 Adds AI Copilot extensibility (server-side tools, multi-provider support) and a title-bar button registry. Backwards-compatible.
271