Skip to content

Support FCast as a programmatic screen/window sharing backend for desktop environments #62

Description

@nalladev

Use Cases

I’m exploring a desktop-level screen sharing workflow where the desktop
environment (COSMIC, in this case) provides the user interface, and FCast acts
as the wireless transport layer.

The end goal is to allow users to:

  • Quickly share their entire screen or a specific window
  • Select an available wireless receiver
  • Start sharing without manually launching or configuring a separate app

This is particularly useful for presentations, meetings, and classroom or
projector setups.

In this model, FCast would not manage display modes or desktop UI. It would be
used only as the wireless sender backend once the user has chosen what to share.

Proposal

The proposal is to make it feasible for desktop environments or helper tools to
use FCast programmatically as a screen/window sharing backend.

Examples of what this could enable:

  • A desktop applet that lists available FCast receivers
  • The applet asks the OS/compositor to capture:
    • the full screen, or
    • a specific window
  • FCast is then used to stream that capture to the selected receiver

Potentially useful capabilities (conceptual, not prescriptive):

  • A way to trigger FCast sending from another process
  • Hooks or APIs to start a sender session with an existing capture source
  • Guidance on whether FCast is intended to support this kind of desktop
    integration use case

This is not about FCast managing screen capture UI or replacing desktop tools,
but about whether FCast can serve as the wireless sharing layer in a larger,
desktop-driven workflow.

References

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    EnhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions