Share My View (SMV) is being designed with the simple goal of making anything you can see on your desktop, sharable with anyone you choose. The target device form-factor are desktops computers (especially Linux), because screen-sharing is ubiquitos on mobile.
The goal is to have a very simple interface that doesn’t get in your way (or becomes cluttered), so that all you really have to do to share is to select a region of your screen, and start sharing. With that being said, the potential for misuse cannot be ignored, therefore secondary goal of SMV is to be as secure as possible so that potential misuse is easy to detect.
Although SMV is meant to be cross-platform (Windows, MacOs, Linux), I am primarily a Linux user, so the current focus is on the Linux side.
screencast.webm
See /docs/ for more images.
At the moment, no installation instructions are provided because we are still in very early stages
-
At the moment, it only supports taking screenshots of the desktop and saving it in
png
, orjpg
. I plan to add one more useful image format:GIF
. -
Integrate sharing via KDE-Connect or GSConnect
-
Display list of recent captures
-
Support for recording audio, and video
-
Support for streaming audio and video
-
Address many of the TODO’s in the code (there’s a lot)
I’ve only been developing this for a month, so I don’t have any way of guiding anyone wishing to contribute. You can take a look at the TODO’s litered all over the code if you have a solution for some of them.
The following are notes I’ve made for myself as I developed this app. I had no idea how XCB, QT, QML worked before starting. I had also never written a C++ application desktop application before, so these served as useful references for both learning and reminding myself. I also scattered a number of links throughout the code.
-
https://stackoverflow.com/questions/40533318/xcb-custom-message-to-event-loop
-
https://github.com/Airblader/xedgewarp/blob/master/src/randr.c#L101
-
https://github.com/TAAPArthur/XMouseControl/blob/master/xutil.c
-
http://metan.ucw.cz/blog/things-i-wanted-to-know-about-libxcb.html
-
https://unix.stackexchange.com/questions/503806/what-are-x-server-display-and-screen
-
https://unix.stackexchange.com/questions/367732/what-are-display-and-screen-with-regard-to-0-0
-
https://www.x.org/releases/current/doc/xproto/x11protocol.html