antimof / UxPlay

AirPlay Unix mirroring server
GNU General Public License v3.0
1.36k stars 186 forks source link

Window has no title #7

Open anschuetz opened 4 years ago

anschuetz commented 4 years ago

Hello :) Since the Airplay-showing window has no Title it is impossible to share this window within a BigBlueButton-session (probably other video-conferencing-tools, too) I'm afraid that I don't understand the sourcecode deep enough to figure out where the window is created to set an apropriate name.

It would be GREAT if you could add this. sincerely, Jesko

cgraeser commented 4 years ago

I've the same issue. I had a look at the code but could not find an easy solution to simply pass a title. According to this email from the gstreamer list, a possible solution is to embed the video sink into another window as explained here. But I don't have time to try this (and don't have any X-programming experience so far).

@anschuetz As a work around for sharing the uxplay window from a browser you can manually set the title using xdotool selectwindow set_window --name "ux" (and selecting the window by clicking).

thalesmaoa commented 4 years ago

I don't even get a window. I'm using pantheom.

jedahan commented 4 years ago

I've been able to select it by creating an XDG Desktop Entry and launching via that:

#~/.local/share/applications/userapp-UXPlay.desktop
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Exec=/home/user/src/UxPlay/build/uxplay -n $HOSTNAME
Name=UXplay
Comment=UXplay
dougg3 commented 4 years ago

@thalesmaoa I found that the video window didn't show up until I ran: sudo apt install gstreamer1.0-plugins-bad even though it's not in the instructions. Before I did that, running uxplay with GST_DEBUG=3 resulted in "Missing decoder: H.264".

Other than that minor hiccup, this project works great!

thalesmaoa commented 4 years ago

Nice @dougg3! Submitted a pull request.

ashishpatel1992 commented 4 years ago

For Desktop entry in Ubuntu 20.04 you also need to enable Terminal. My entry that works perfectly

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Exec=/home/$USER/Downloads/UxPlay/build/uxplay -n $HOSTNAME
Name=UXplay
Terminal=true
Comment=UXplay
DavidVentura commented 3 years ago

The gstreamer window is missing the _NET_WM_NAME property -- this is added when doing xdotool set_window --name "ux".

I've implemented a horrible hack in my repo. I will make a PR but I don't expect this thing to be merged in its state.

fduncanh commented 3 years ago

this is integrated in the updated UxPlay PR #58

cgraeser commented 3 years ago

@fduncanh I tried your branch but it seems that this does not fix the problem mentioned here. As far as I understood one should be able to set the name using the -n option. If I use this option it changes the server name shown on the ios device, but the window name is still empty. This happens on Debian buster with kde/plasma on X.org.

fduncanh commented 3 years ago

This should really be posted as an issue at http://github.com/FDH2/UxPlay

No idea why its not working for you does ANY name appear on the window title bar? You seem to say there isnt one????

the calling program is uxplay the default server name is UxPlay (you can change it with the -n option) what will usually happen with the old (antimof) uxplay (from this site) is that the name "uxplay" (all lower case letters, the name of the calling program) will appear in the titlebar of the gstreamer window,

I made two fixes. (1) first replace the name on the gstreamer window titlebar from "uxplay" (the calling program) to UxPlay or what -n said this does not yet fix the zoom issue.

(2) if the cmake is run with -DZOOMFIX=ON, this name is made visible to screen-sharing apps.

If you dont see any name at all in the gstreamer title bar, it may be because gstreamers "autovideosink" has chosen a non-standard videosink to create the window (???)

The latest UxPlay 1.33 at http://github.com/FDH2/UxPlay has an option -vs to choose the videosink (rather than let autovideosink choose it for you based on what it finds among your gstreamer plugins)

try it with uxplay -vs xvimagesink -n yourname (or -vs ximagesink) and report what you see in the gstreamer window titlebar as an issue on that site.

fduncanh commented 3 years ago

There may be an issue that zoom sees the window only the first time a window is opened. The new UxPlay will relaunch if streaming is stopped. It seems that the window is then not seen by zoom until uxplay is fully stopped and restarted. I'll look into it, These issues are not appropriate for this site which covers the old version of uxplay

fduncanh commented 3 years ago

@cgraeser I dont know if i fixed your issue, at http://github.com/FDH2/UxPlay but your comment led me to find an issue when (new) uxplay 1.33 relaunches the server and I fixed it. Thanks.

cgraeser commented 3 years ago

@fduncanh: I compiled with enabled ZOOMFIX and tried running with and without setting the name with -n foo. In both cases the window had no title set. I didn't try zoom. But the problem that - without a title being set - the window is missing in the list for screen sharing also shows up with chrome and firefox.

Fortunately, when switching the video sink to xvimagesink the window title is there which fixes the issue for me. Thanks a lot for your effort!