Files
Panama/config/dot/hypr/DESKTOP-PARITY.md
T

5.8 KiB

Panama desktop parity

This is the living inventory for the GNOME-to-Hyprland transition. It records real behavior, not a one-for-one count of extensions: an enabled extension with no configured action is not treated as missing functionality.

Last live audit: 2026-08-17, Fedora 44, Hyprland 0.56.2, Quickshell 0.3.0.

Daily desktop surfaces

Capability Panama implementation Status
App launcher and run dialog Vicinae; Wofi emergency fallback Live
App grid Vicinae applications provider Live
Hidden applications GNOME App Hider list in Vicinae provider config Live
Tiling and dynamic workspaces Hyprland Lua config, Forge keymap preserved Live
Overview Continuum filmstrip, large workspace preview, cross-workspace search Live
Minimise SUPER+SHIFT+X sends to scratchpad; SUPER+X restores Live
Dock Quickshell dock with GNOME favourites and intellihide Live
Panel Workspaces, CPU/RAM/GPU, clock, weather, media, clipboard, tray, status Live
Clipboard history Vicinae owns capture/storage; Quickshell provides the panel Live
Notifications Quickshell server, toasts, grouped history, DND, clear actions Live
Date menu Notifications, month calendar, weather, conditional media card Live
Quick settings Wi-Fi, Bluetooth, audio input/output, caffeine, night light, focus Live
Focus sessions Persistent workspace-bound timer, DND/caffeine coordination, Signal Glass controls Live
Brightness Appears only when a backlight device exists Live, not applicable on this monitor
AppIndicator / tray Native StatusNotifierItem host and themed menus Live
Screenshot and recording Quickshell picker, grim/slurp/satty/wf-recorder Live
Screen text and code recognition Local Tesseract/ZBar Read mode, selectable Prism result sheet Live after package install
Lock, idle, and power hyprlock, hypridle, login1, Quickshell power menu Live
Wallpaper hyprpaper Live
Keyring and authorization gnome-keyring and hyprpolkitagent Live
Portals and screen sharing xdg-desktop-portal-hyprland plus GTK portal Live
Removable media udiskie plus udisks notifications Live
Autostart apps Nextcloud, Bitwarden, and RustDesk system service/tray Live
System settings Panama Settings for display policy, appearance, desktop, sound, focus, shortcuts, and services; labelled GNOME hardware/account handoffs Live

GNOME extension migration

GNOME extension Result
Forge Replaced by Hyprland tiling and the original keymap
Dash to Dock Replaced by the Quickshell dock
AppIndicator Replaced by the Quickshell system tray
Clipboard Indicator Replaced by the bar clipboard panel and Vicinae history
Emoji Copy Replaced by Vicinae emoji search on SUPER+.
Vitals Replaced by the CPU, memory, and GPU bar readouts
Weather O'Clock Replaced by bar weather and the date-menu weather card
Caffeine Replaced by a real logind inhibitor in quick settings
Blur My Shell / Openbar / User Theme Replaced by the Prism shell and compositor blur
Bluetooth Quick Connect Replaced by the full Bluetooth picker
Wi-Fi QR Package and UI support still to be completed
GSConnect No paired phone profile was present; KDE Connect support is staged
Home Assistant Useful integration, but needs a purpose-built panel and secure credential migration
Custom Hot Corners Extended No action was configured, so there is no behavior to port
App Hider Hidden app list is now applied in Vicinae
Allow Locked Remote Desktop Mutter-specific patch; RustDesk is independent, but lock-screen access needs a real remote test

System UI still worth adding

These are not blockers for normal use, but they are the remaining places where a polished general-purpose desktop can go beyond the current shell.

  1. Calendar events, not just the month grid. The right integration point is Evolution Data Server so existing GNOME/Google calendars remain the source of truth.
  2. Home Assistant favourites in a dedicated, secure quick panel. The token must stay in the keyring or a private state file, never in this repository.
  3. Phone integration through KDE Connect, including battery/share status in the tray. The package is staged but needs installation and a new pairing.
  4. Connected-network QR sharing after qrencode is installed. Password access must be on demand and must never enter shell logs.
  5. A printer administration GUI. CUPS is already active; the staged system-config-printer package supplies the missing UI.
  6. A real external RustDesk test while hyprlock is active. Local process state cannot prove what a remote client sees or whether input is accepted.

Packages staged in setup/packages/hyprland-packages but not installed in the current session because privilege escalation requires an interactive password:

sudo dnf install kde-connect qrencode system-config-printer tesseract zbar

Global menu decision

A macOS-style global application menu is not being shipped. Quickshell can render a DBusMenu that an application already exports, but it does not provide an application-menu registrar or a reliable focused-window-to-menu association. Hyprland has no cross-toolkit global-menu protocol, and the daily applications audited here do not consistently export one: GTK 4/Nautilus and Electron apps are the important failures.

That would produce a premium-looking empty strip for most windows and a working menu for a minority, which is worse than omitting it. Relevant references:

A future focused-window menu could expose compositor actions such as float, move, fullscreen, and close. It should not be labelled as an application menu.