Desktop Environment
HomeDock OS 2.0 introduces the Prism Window Manager, transforming the platform from a single-page web application into a full desktop environment with true multitasking. You now experience a complete operating system interface similar to Windows 11 or macOS, running entirely in your browser.
Prism Window Manager
Section titled “Prism Window Manager”The Prism Window Manager is HomeDock OS’s revolutionary interface system that brings desktop-class functionality to your cloud management experience. This isn’t just a cosmetic change; it’s a fundamental shift in how you interact with your HomeDock OS instance.
With Prism, you can run multiple applications simultaneously in separate windows, switching between them seamlessly. Each application maintains its own independent state, allowing you to keep the App Store open while configuring settings, browsing logs, and managing containers in Control Hub all at the same time. The interface feels familiar because it follows the desktop paradigm you already know, with professional window management including resize, minimize, and maximize capabilities.
Desktop Layout
Section titled “Desktop Layout”Desktop Icons
Section titled “Desktop Icons”Your desktop is populated with draggable, customizable icons that you can arrange however you prefer. Icons can be moved freely across the desktop by dragging them, and they automatically snap to a grid for clean organization. This positioning is persistent, meaning your layout saves across sessions and remains exactly as you left it.
You can select multiple icons at once using Ctrl+Click or by dragging to create a selection area. Right-clicking any icon (or long-pressing on mobile devices) brings up a context menu with quick actions. The desktop supports four types of icons:
- System Apps: My Home, Explorer, App Store, Packager, Control Hub, Settings, etc.
- Docker Apps: Installed applications from the App Store
- Folders: Custom folders to group related applications
- Shortcuts: Pointers to a web address or to a file in your storage
Folders
Section titled “Folders”Desktop folders provide a powerful way to organize your applications. You can create custom folders with descriptive names such as “Media Apps” or “Development Tools”, then drag applications into them for better organization. Each folder can be customized with different colors for visual categorization, making it easy to identify groups of related applications at a glance.
When you double-click a folder, it opens in a dedicated window displaying its contents. Inside this folder view, you have the same interaction options as the desktop itself. You can launch apps directly from the folder view or easily navigate back to the desktop. Like icon positions, your folder organization persists across sessions.
Start Menu
Section titled “Start Menu”The Start Menu provides quick access to all your applications through a modern, searchable interface. You can find any app instantly by typing its name, with recently used applications prominently displayed for quick access.
Applications are organized by type:
- System Applications: Built-in HomeDock OS apps
- Installed Applications: Your Docker containers
- Available Software: App Store catalog
- Custom Packages: User-created .hds packages
The Start Menu supports full keyboard navigation, allowing you to navigate with arrow keys and launch applications with Enter. Every application is just one click or keystroke away, making it faster than hunting through desktop icons when you need something specific.
Taskbar
Section titled “Taskbar”The taskbar spans the bottom of your screen and provides constant access to system functions. On the left, the Start button opens the Start Menu. Moving right, you’ll find buttons for all currently open applications, making it easy to switch between windows. The system tray displays notifications, upload and download progress indicators, and available updates.
The taskbar also features a System Stats Widget — distinct from the System widget you can place on the desktop — that shows real-time monitoring of your CPU usage, RAM consumption, disk space, and network activity. Clicking this widget expands it to show more detailed information about your system’s health. On the far right, you’ll find a clock and calendar picker, along with a Show Desktop button that minimizes all windows at once when you need to access your desktop icons.
Widgets
Section titled “Widgets”Widgets sit on the desktop alongside your icons and show live information without opening anything. Right-click any empty part of the desktop and choose Add Widget to open the gallery. There are eight:
- Clock — time and date.
- System — live CPU, RAM, disk and network readings.
- Storage — space used and free across your storage.
- Network — current upload and download activity.
- Calendar — the month at a glance.
- Notes — a scratch pad that saves as you type.
- Media — what is currently playing in HomeDock OS, with cover art, elapsed time and a play/pause button. A second button reveals the file in File Explorer.
- Shortcut — binds to one of your existing desktop shortcuts and opens it in a click. It does not create the shortcut; you pick one you already have, and only URL shortcuts can be bound.
Widgets come in small, medium and large, but no widget offers all three sizes and one offers only a single size. Each declares the sizes that make sense for what it displays, so the options you see depend on the widget: Clock, Storage, Notes, Network and Media offer small and medium; System and Calendar offer medium and large; Shortcut is small only. The size a widget starts at also varies, so a Clock arrives small while a Storage widget arrives medium.
Position and size are saved per user, so your desktop comes back the way you arranged it the next time you log in.
Desktop Shortcuts
Section titled “Desktop Shortcuts”A desktop shortcut is a pointer to something you want one click away. It copies nothing and moves nothing: deleting a shortcut leaves the thing it pointed at untouched. There are two kinds.
URL shortcuts point at any web address, inside HomeDock OS or out on the internet. Right-click an empty part of the desktop and choose New Shortcut.
File shortcuts point at a file or a folder in your storage. Create them from File Explorer with Add to Desktop, and they work across all four locations File Explorer reaches: Storage, Drop Zone, App Drive and Disks+.
The icon is chosen separately from the target. You can pick one from the built-in catalogue, upload an image of your own, or let the shortcut inherit the icon of the file type it points at.
Quick View
Section titled “Quick View”Quick View spreads every open window into a grid so you can see all of them at once, each with its name and icon. Click one and it comes to the front while the rest return to where they were.
Open it with F3, with Ctrl + ↑ (Cmd + ↑ on macOS), or from the desktop context menu. It is also in the menu on the vertical line at the edge of the screen, next to Show Desktop and Restore Windows. Quick View is a desktop feature and is not available on mobile, and it does nothing when no windows are open.
Screenshots
Section titled “Screenshots”The same edge menu has a Screenshot action. It captures the desktop through your browser’s own screen-sharing picker, so the browser asks what to share before anything is captured, and saves the result to Storage > Photos as a PNG named for the date and time it was taken.
Screenshots need a browser that supports screen capture. Where that is missing, the menu entry stays disabled rather than failing partway through.
Window Management
Section titled “Window Management”Every window in Prism supports standard desktop controls that will feel immediately familiar. You can drag any window by its title bar to reposition it on screen, or double-click the title bar to toggle between maximized and restored sizes. The minimize button hides the window to the taskbar, while the maximize button expands it to full screen (while still respecting the taskbar space).
Windows can be resized from any of eight directions: north, south, east, west, and the four corners. Each application can define its own size constraints to ensure it doesn’t become too small or too large to use effectively. Visual feedback during resize operations helps you see exactly how the window will look before you release the mouse button.
The system remembers your preferences for each application. Window positions and sizes are saved across sessions, so when you reopen an application, it appears exactly where you left it and at the size you prefer. This state persistence extends to the last-used configuration, making your workflow consistent every time you log in.
Mobile Desktop Experience
Section titled “Mobile Desktop Experience”Prism adapts beautifully to touch devices, providing an experience optimized for tablets and phones. On mobile, you can swipe horizontally to navigate between multiple desktop pages, each of which can hold its own set of icons. Visual page indicators at the bottom show which page you’re currently viewing, and smooth transitions make navigation feel natural.
Touch gestures are intelligently implemented throughout the interface:
- Tap: Select and open items
- Long-press: Activate context menus and icon edit mode
- Drag: Move icons and windows
- Swipe: Navigate between desktop pages
Windows automatically use full screen on mobile devices to maximize your workspace, though the taskbar remains accessible at the bottom for quick navigation. All touch targets are sized appropriately for finger interaction, and the responsive layout adjusts to make the most of available screen space.
Application Windows
Section titled “Application Windows”Every application on HomeDock OS opens in its own independent window, system applications and Docker applications alike. My Home provides a dashboard of storage and performance metrics. Explorer offers universal search across all your content. The App Store lets you browse and install applications while other windows remain open. Packager helps you create and manage custom packages. Control Hub gives you comprehensive Docker container management and system monitoring.
When you open a Docker application’s properties, you see a detailed view of container information including status, exposed ports, mounted volumes, and resource usage statistics for CPU, RAM, and network. Multi-service configurations are clearly displayed, and you can view all exposed ports with direct links to access application endpoints.
Every window includes a status bar at the bottom displaying application-specific information and contextual help. Section headers throughout the interface maintain consistent visual hierarchy and adapt to your selected theme.
OnScreen Apps
Section titled “OnScreen Apps”Docker applications open inside a HomeDock OS window as well, instead of taking over a separate browser tab. It is worth saying plainly what that window contains, because most people assume the opposite: it is the real application, not a picture of it and not a video stream. Sound keeps playing while you drag the window across the desktop, a download you start inside it lands wherever you told your browser to put downloads, and a video keeps its playback position when you move or resize the window.
Every app gets its own address
Section titled “Every app gets its own address”Each application is served on a subdomain built from its container name, so a container called jellyfin is reachable at jellyfin.yourdomain.com. Routing is decided by the Host header of the request, not by a path prefix.
That distinction is the whole reason OnScreen Apps work at all. Serving an app under something like /apps/jellyfin/ means rewriting its HTML, its CSS, its JavaScript, its redirects and its cookie paths on the way through, and that rewriting breaks again every time the application ships an update. On its own subdomain nothing is rewritten: the application behaves exactly as if it were alone at the root of its own domain, which is the situation it was built and tested for.
What OnScreen Apps require
Section titled “What OnScreen Apps require”You need a domain you actually control and an HTTPS certificate that covers its wildcard, *.yourdomain.com. HomeDock OS can issue that certificate for you once the domain is set.
OnScreen Apps do not work on homedock.local. On that address apps open in a new tab instead. Two independent reasons cause this, and neither is something HomeDock OS can work around:
- Microsoft Windows only resolves single-label
.localnames over mDNS.homedock.localresolves;jellyfin.homedock.localdoes not, and gets sent to a regular DNS server that answers NXDOMAIN. - WebKit (Safari on macOS and iOS, which includes Chrome and Edge on iOS) treats the app frame as a third-party site and discards the session cookie, so the app never sees you as signed in.
homedock.localhost keeps OnScreen Apps working, because it is a loopback name the browser resolves internally and every label under it belongs to the same registrable name.
Where OnScreen Apps work
Section titled “Where OnScreen Apps work”Four rules decide what you get, and everything else follows from them:
- OnScreen Apps need an address with a dot in it, that is not an IP address and not under
.local. When HTTPS is in use, the certificate must also be trusted (not self-signed) and must cover the wildcard of that exact address. - Direct port access is offered only when your browser is plausibly on the same network as HomeDock OS:
localhost, any*.localhostname,::1, a private IPv4 address, a.localname, or a name with no dot in it. - New tab always works, everywhere.
- The default is an OnScreen App when the address supports one, and a new tab when it does not.
Two consequences of those rules are worth calling out, because both cost people an afternoon:
The shape of the address is checked before the certificate is. On an IP address or on homedock.local, HomeDock OS never mentions certificates, and that is correct rather than an oversight: reissuing the certificate would change nothing, because the address itself is what rules OnScreen Apps out.
A wildcard covers exactly one label. *.casa.example.com does not cover robipet.home.casa.example.com. If you browse HomeDock OS at home.casa.example.com, the certificate you need is *.home.casa.example.com.
Over plain http:// there is no certificate in play at all, so it can never be the thing blocking an OnScreen App.
| Where you browse HomeDock OS from | OnScreen Apps | What HomeDock OS tells you |
|---|---|---|
An IP address, such as 192.168.1.50 |
No | Open HomeDock OS by name instead of by IP address and OnScreen Apps come back. |
A name with no dot, such as localhost |
No | OnScreen Apps need an address with a dot in it. Open HomeDock OS at homedock.localhost on this machine. |
homedock.local |
No | OnScreen Apps cannot work on homedock.local. Set your own domain in Settings to get them back. |
homedock.localhost over HTTP |
Yes | Apps open on the desktop, no certificate needed |
Your own domain, certificate covers *.yourdomain.com |
Yes | Apps open on the desktop |
| Your own domain, certificate covers only the bare name | No | The certificate does not cover *.yourdomain.com. Reissue it in Settings and OnScreen Apps come back. |
| Any address, self-signed certificate | No | The certificate is self-signed, and a window cannot ask you to accept it. Issue a trusted one in Settings. |
| A HomeDock Cloud instance | Yes | Apps open on the desktop |
Choosing how each app opens
Section titled “Choosing how each app opens”Each application carries its own preference, set under Opening behavior in Application Properties. There are three:
- As a window — the default. The app opens as an OnScreen App on the desktop.
- In a new tab — the app opens outside the desktop in a new browser tab. Some applications refuse to run inside a frame at all, and this is the way out for those.
- Straight to its port — goes to the container port, skipping HomeDock OS and its session check entirely. Only offered on the local network, and you can pick whether that link uses
httporhttpsfor apps that serve TLS themselves.
Above it, the Addresses card lists where the app can be reached: its HomeDock OS subdomain, and the direct access routes kept for when you need them. Two details there are easy to miss. The buttons beside each address are one-off actions — they open the app that way right now and leave the saved preference untouched. And changing the preference does not reopen anything that is already open; it applies the next time you launch the app.
Apps inherit your HomeDock OS session
Section titled “Apps inherit your HomeDock OS session”Applications that have no login of their own sit behind HomeDock OS’s login. Every request to an app address is checked against your session first, and anything arriving without one is rejected before it ever reaches the application.
Exposure: apps that cannot sign in to HomeDock OS
Section titled “Exposure: apps that cannot sign in to HomeDock OS”Some clients have no way to sign in to HomeDock OS before reaching an app: the Jellyfin app on a television, the Nextcloud client on a phone, the Home Assistant companion app. They only know how to point at a URL with their own credentials.
Exposure is a per-app switch with two modes:
- Gated — the default. Only someone already signed in to HomeDock OS can reach the app at its address.
- Direct — the app answers without a HomeDock OS session, so a native client can reach it with its own credentials.
When an OnScreen App stays blank
Section titled “When an OnScreen App stays blank”From inside the browser, several different failures look identical, and the loader in the window names the one that actually applies rather than leaving you to guess: the app’s name does not resolve in DNS, the certificate does not cover the subdomain, the certificate covers a different domain you own, the certificate is self-signed, or you are on an address that cannot host OnScreen Apps at all.
The self-signed case is the one you can clear in half a minute, without touching DNS or reissuing anything: open the app in a new tab, accept the certificate once, and it loads inside the window from then on. Installing the certificate as trusted on the device removes the prompt for every app at once.
The case that catches people out is a certificate that covers *.yourdomain.com while DNS has no matching wildcard record. HomeDock OS offers the OnScreen App, because the certificate is fine, and the window then fails when it tries to reach the address.
Keyboard Shortcuts
Section titled “Keyboard Shortcuts”Prism includes comprehensive keyboard support for efficient navigation:
- Ctrl + Click: Multi-select desktop icons
- Escape: Close dialogs and menus
- Enter: Open selected items
- Arrow Keys: Navigate through menus and results
- Tab: Move between form controls
- F3 or Ctrl / Cmd + ↑: Open Quick View to see every open window at once
Theme Integration
Section titled “Theme Integration”The Prism Window Manager fully supports all three HomeDock OS themes, with every element adapting seamlessly to your selection. The Default theme provides a clean, light interface with professional appearance and clear contrast for excellent readability. Noir theme offers dark mode optimized for low-light environments, reducing eye strain while maintaining a sleek, modern aesthetic.
The Aero+ theme features backdrop blur effects, dynamic wallpaper support (including custom wallpaper upload introduced in version 2.0.2.266), and a modern, premium feel. All windows, desktop elements, context menus, and dialogs automatically adapt their styling to match your chosen theme.
Modal Dialogs
Section titled “Modal Dialogs”Prism includes a unified dialog system for all user interactions. Dialogs come in several types: confirmation dialogs for yes/no decisions, input dialogs for text entry, alert dialogs for important notifications, and custom dialogs for application-specific needs.
All dialogs maintain consistent styling across themes, support keyboard interaction (Enter to confirm, Escape to cancel), and feature smooth fade-in animations. Many dialogs can be dismissed by clicking outside them for quick interaction.
Desktop State Persistence
Section titled “Desktop State Persistence”Your entire desktop configuration is preserved using browser localStorage. Icon positions and arrangements, folder organization, window positions and sizes, view preferences (such as Drop Zone’s grid or list view), and theme selection all persist across browser sessions.
When you log in, your desktop loads exactly as you left it, with all your customizations intact. The system automatically updates this saved state as you work, ensuring nothing is lost.
Performance Optimizations
Section titled “Performance Optimizations”Prism is carefully optimized for smooth performance even on modest hardware. Window components are lazy-loaded, meaning they only download and initialize when you actually open them. This results in a faster initial page load and more efficient memory usage.
The interface leverages Vue 3’s reactive system for instant UI updates with minimal re-renders. Animations run at a smooth 60 frames per second, giving the entire experience a polished, responsive feel. Even with multiple windows open simultaneously, the system remains snappy and efficient.
iOS-like Memory Management
Section titled “iOS-like Memory Management”Prism includes an intelligent, transparent memory management system for minimized windows, inspired by how iOS handles background apps. When you minimize a window, the system silently manages its resources in the background so your browser stays fast and responsive, even with many windows open.
The system uses a 3-tier persistence strategy:
- Immediate cleanup under memory pressure: When heap usage exceeds 75%, minimized windows are recycled first.
- Automatic general cleanup: Independent windows that have been minimized for more than 5 minutes are silently freed.
- Graceful cleanup of expired windows: Windows minimized for over 2 minutes are cleaned up when the device limit is reached.
Window limits adapt automatically to your device’s capabilities using navigator.deviceMemory, ranging from 2 minimized windows on low-end devices to 8 on high-end hardware (with a fallback of 4 on unsupported browsers). On Chromium-based browsers, real-time heap monitoring via performance.memory detects memory pressure proactively. Firefox and Safari fall back to time-based cleanup.
This entire process is completely invisible to the user: no notifications, no console logs, no indicators. Windows are silently recycled in the background exactly like iOS manages background apps, keeping the experience smooth without ever interrupting your workflow.
Window Snap
Section titled “Window Snap”Desktop users can snap windows to the left or right half of the screen by dragging them to the screen edges. An animated pulsating blue preview indicator shows where the window will be placed. Size is automatically restored when you unsnap a window by dragging it away from the edge. Window snap respects window constraints and is disabled for non-maximizable windows like Calculator and Properties.
Migration from Dashboard
Section titled “Migration from Dashboard”Best Practices
Section titled “Best Practices”When organizing your desktop, use folders to group related applications such as media tools or development utilities. Arrange frequently-used apps in easily accessible locations, and consider using folder colors for quick visual identification. Multi-select capabilities make batch operations efficient, so take advantage of them when reorganizing.
For window management, resize windows appropriately for your workflow and minimize them when you’re done to keep your taskbar clean. The Start Menu is often faster than hunting through desktop icons, so learn to use it effectively. Keyboard shortcuts can significantly speed up your navigation once you become comfortable with them.
On mobile devices, organize icons across multiple pages using horizontal swipes. Long-press to access context menus efficiently, and remember that windows automatically maximize for focused work. The taskbar remains available at all times for quick actions, so you’re never more than a tap away from switching contexts.
Future Enhancements
Section titled “Future Enhancements”The Prism Window Manager architecture is designed for extensibility and future growth. The widget system for displaying live information on the desktop has since shipped and is covered in Widgets above. Planned enhancements include additional window management features and virtual desktops for organizing different workspaces.

