NibrasShell composes its interface from a set of discrete, independently rendered windows that together form a cohesive desktop experience. Every component is instantiated as aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/AhmedSaadi0/NibrasShell/llms.txt
Use this file to discover all available pages before exploring further.
PanelWindow inside shell.qml — the single assembly point that wires layers together — so each piece occupies its own rendering surface and can be updated without rebuilding the rest of the shell. Components communicate with each other through the EventBus service and shared state objects like ConstValues, keeping coupling low and making individual panels easy to customise or replace.
Layout overview
The shell arranges its visible layers in a clear spatial hierarchy:- Top Bar — anchored to the full screen width at the top, showing workspaces, the active window title, system tray, network speed, and system stats.
- LeftBar — a narrow icon strip anchored to the left edge, spanning the height below the top bar.
- LeftWindow — an expandable side panel that slides in from the left when you click an icon in the LeftBar.
- Smart Capsule — a floating interactive island positioned at the top-centre of the screen, independent of the top bar.
- Desktop — a full-screen background window that hosts the wallpaper, optional depth-shadow overlay, and clock widget.
- Notifications — a global overlay service that renders animated toasts in the top-right corner and maintains a notification centre inside the side panel.
- Bottom Launcher — an optional app launcher that appears at the bottom of the screen.
- Power Menu — a full-screen overlay for shutdown, reboot, suspend, and logout.
Components
Top Bar
Workspaces, active window title, network speed, system tray, and compact system stats in a single horizontal bar.
Left menu
Icon strip (LeftBar) and expandable side panel (LeftWindow) with dashboard, weather, monitoring, AI bot, and more.
Smart Capsule
An AI-powered interactive island at the top-centre with idle, expanded, and AI Overlay modes.
Desktop and wallpapers
Full-screen background with static or dynamic wallpapers, depth-shadow effect, and a customisable clock widget.
Notifications
Animated toast notifications, do-not-disturb mode, custom alert sounds, and an in-panel notification centre.
App Launcher
Search and launch applications from the side panel or an optional bottom launcher overlay.
Power menu
Full-screen overlay for shutdown, reboot, suspend, and logout with a confirmation step.
Technical assembly
All components are declared insideshell.qml using Quickshell’s Variants helper, which spawns one instance of each PanelWindow per connected monitor. Single-instance panels — LeftWindowFull, BottomLauncher, PowerMenuWindow, and Cheatsheet — are created once globally to avoid repeated construction.
EventBus.emit and EventBus.on, with event names defined in EventNames.js and constant indices in ConstValues.js. This means no component holds a direct reference to another; they react to named events instead.
The Settings App and Notifications overlay are also initialised once at startup via
initializeGlobalWindows() in shell.qml, regardless of which screen is active.