Screen Share Specific Window macOS

In Custom UI I am not able to see the other application which are open list, nor the thumbnail of the window like it is shown in Zoom UI.

In Zoom Custom UI it shows me like this

where as in zoom native application It shows options to select individual window and all the window along with thumbnail.

I see this 2 methods in Zoom SDK


- (ZoomSDKError)startAppShare:(CGWindowID)windowID;

- (ZoomSDKError)startMonitorShare:(CGDirectDisplayID)monitorID;

Kindly guide how can I show all open windows in screenshare and select only single window

Hi @niravd,

Please note that I have moved this topic over to #desktop-video-sdk:macos. :slightly_smiling_face:

If you are looking to programmatically share a specific window or display, you will need to manually retrieve the ID as the SDK does not provide any methods for this.

Alternatively, if you would like to just use the default share UI, that can be done by calling showMeetingComponent with a component param of MeetingComponent_ShareSelectWindow.

Thanks!

Hi @jon.lieblich Thank you for your reply, I see the MeetingComponent_ShareSelectWindow but I am not able to figure out where do I have to add this in the demo application.

Hi @niravd,

This would display the same share UI as the client, so you could call this when the share button is clicked in the meeting UI.

I am not able to figure out where do I have to add this in the demo application.

Are you using the custom UI implementation in the SDK sample app? If so, the share button should trigger the onShareButtonClicked method found in ZMSDKMeetingMainWindowController.m. The implementation in the sample app currently shows a custom share selection UI, but you could update that method to display the default share UI.

Thanks!

Thank you @jon.lieblich,

- (void)onShareButtonClicked:(id)sender
{
    if(_shareSelectWindowCtr)
    {
        ZoomSDKMeetingService* meetingService = [[ZoomSDK sharedSDK] getMeetingService];
        ZoomSDKMeetingUIController* controller = [meetingService getMeetingUIController];
        [controller showMeetingComponent:MeetingComponent_ShareSelectWindow window:nil show:YES InPanel:YES frame:NSZeroRect];
//        [_shareSelectWindowCtr.window makeKeyAndOrderFront:nil];
//        [_shareSelectWindowCtr.window center];
    }
}

I tried It like this and its not working, can you tell me what is the mistake I am doing here, or is my understanding totally wrong.

Thank you

Hi @niravd,

We have identified an issue when passing in NSZeroRect to the showMeetingComponent method. We will have a fix out for this in the next release. If you weren’t already aware, the most up-to-date release information can be found either in our release notes or the #new-releases category. :slightly_smiling_face:

Thanks!