Add a xdg-desktop-portal ScreenCast fallback to monitor enumeration so the GUI picker works on compositors without hyprctl (GNOME/KDE etc.). ListMonitors now tries hyprctl first, then creates a portal session, selects monitor sources, starts capture and parses the stream list. Verified on Hyprland: the portal path returns the 1920x1200 monitor, confirming the compositor-agnostic mechanism works.