Coder Social home page Coder Social logo

pavlobu / deskreen Goto Github PK

View Code? Open in Web Editor NEW
15.3K 243.0 823.0 5.98 MB

Deskreen turns any device with a web browser into a secondary screen for your computer. ⭐️ Star to support our work!

Home Page: https://deskreen.com

License: GNU Affero General Public License v3.0

JavaScript 4.27% TypeScript 92.91% CSS 1.99% HTML 0.83%
second-screen wifi share-screen share-app-window electronjs electon-app electron typescript electron-react-boilerplate darkwire-io

deskreen's Introduction

Deskreen

Github All Releases

Deskreen Logo

release all os -- no code signing build-and-test codecov-generate codecov platform


DESKREEN CREATOR IS A UKRAINIAN. 🇺🇦 UKRAINE 🇺🇦 NEEDS YOUR HELP ❗️❗️❗️

If you don't live in a cave and aware of what is going on in the world 🌍 , Russian 🇷🇺 government had started global armed invasion on the territory of Ukraine on the 24th of February 2022. This is for real, this is a WAR. Russian army is killing Ukrainian soldiers, Ukrainian civil citizens and Ukrainian children RIGHT NOW because Russian government gave them an order to do so. You can search online for thousands of videos of what is going on in Ukraine.

Ukrainians fight brave for their land and will never give up. But you must understand that our country is fighting here not for our land only, but for the safety of the whole world. ❗️❗️❗️ If Ukraine fails in this war with Russian army and Russian government, the security of all countries in the world 🌍 will be under the threat! Russian government and it's vicious allies and governments from other countries will be moving their armies to YOUR land, sooner or later ❗️❗️❗

You must understand that now Ukraine has more people here willing to fight than weapons, military supplies and other inventory for them.

If you CAN and WANT to support Ukraine 🇺🇦 and Ukrainian army, here is a tweet with instructions from OFFICIAL ✅ account of Ukraine 🇺🇦

GLORY TO 🇺🇦 UKRAINE 🇺🇦, GLORY TO UKRAINIAN HEROES! 🇺🇦🇺🇦🇺🇦


▶️ Deskreen Youtube channel (video tutorials, demos, use cases for Deskreen day to day usage)

Deskreen turns any device with a web browser into a secondary screen for your computer

Deskreen is an electron.js based application that uses WebRTC to make a live stream of your desktop to a web browser on any device. It is built on top of Electron React Boilerplate For better security mechanism, end-to-end encryption is implemented, which is inspired by darkwire.io. The difference is that it is rewritten in Typescript and transformed to use node-forge instead of window.crypto.subtle. Why this was made? Because a client served with http without SSL, which makes window.crypto.subtle unavailable.



Get Started for translators

Want to add a new language support for Deskreen? Or you found a typo in existing translations of Deskreen App or website? Here are step by step guides:


Deskreen Github Discussion Threads

Read and Respect our Contributor Covenant Code of Conduct When Writing in our Discussion Threads.

Some progress and updates on Deskreen can be found here.



  • Bugs General - for general bug reports if you don't know dev environment details. Please include Deskreen version! If you saw a bug and know your dev environment, and how to reproduce it, please consider opening a new Issue labeled as Bug and provide full details.

  • General Discussion - for general discussion. For example how did you find out about Deskreen? Or send cheers and thanks to anyone in Deskreen's community members. 🎉


  • Enhancements and New Features for Deskreen - share your ideas of what improvements can be done to Deskreen. Issues created with enhancement tag should be related to some concrete example of change in UI, Security patch, Performance improvement with some concrete notes on how you think the problem should be approached. Otherwise for general improvements with short paragraphs post your thoughts here.





NOTE: We are looking for a solution to get rid from Dummy Display Plugs while using Deskreen as a second screen. Your code support is highly valuable and welcome in Deskreen!

Display Dummy Plugs are good temporary solution, but it is not that good for everyone. If you are a seasoned Windows or Linux or MacOS hacker with a knowledge of low level tweaks and tricks, you can help us to make Deskreen better! On a long run Deskreen seeks for getting rid of Display Dummy Plugs, because most people don't like using them. Sometimes they can't use them because all available display ports are already taken. So we need to have native drivers for Win / Mac / Linux that will help to enable virtual display without Dummy Display Plugs. There are already working commercial solutions out there with their own drivers which they don't disclose, but this task is doable with a help of entire community. The goal of Deskreen is to enable community power and knowledge to overcome these technical challenges and make it a go-to second screen solution that everyone will benefit from!

We plan on making virtual display driver support for each of three main operating systems and place all OS related codes in ./drivers subdirectory of this project. You can find brief requirements for driver API in ./drivers/README.md.

Share your valuable knowledge on how to create virtual desktop without a Dummy Display Plug in this discussion thread.

Thank you in advance!

Installing with binaries

Windows

  • Get the .msi or .exe file from Releases

Mac

  • Get the .dmg file from Releases

  • Or get from Homebrew: brew install --cask deskreen

Linux

  • Debian and Ubuntu based distributions (deb)

  • Enterprise Linux based distributions (rpm)

  • Arch Linux AUR Package

  • AppImage for other distributions

Get Started for Developers

Run yarn test-all locally to make sure you don't have any errors, before submitting your PR

Prerequisites

You will need to have node npm and yarn installed globally on your machine.

  1. git clone this repo
  2. cd app/client; yarn install --frozen-lockfile ; cd ../../ ; yarn install --frozen-lockfile
  3. yarn dev -- run in dev mode with live updates

Useful yarn commands

yarn start -- run in production mode to test, without packaging yarn package -- to package an app and make executables available in release folder

for more yarn commands look at package.json

How to run tests

yarn test -- run all unit tests yarn build-ux && yarn test-ux -- run User Experience tests (no tests for app/client yet)

TODO: add e2e tests with host + client app interaction

run tests of host app

yarn test-watch-not-silent -- run tests in watch mode with console logs only for host app, excluding app/client yarn test -- -u -- update snapshots

run tests for app/client

yarn test -- run client tests in watch mode test:nowatch -- run client tests a single time yarn test -- -u -- update snapshots

Generate test coverage results

yarn coverage -- when run from project root, generates a coverage report for host and app/client

How to regenerate snapshots if you have tests failing when running yarn test?

in root ./ folder of project run this:

yarn jest --updateSnapshot

in Deskreen Viewer ./app/client folder of project run this:

cd app/client
SKIP_PREFLIGHT_CHECK=true yarn test:nowatch -- -u

Run yarn test-all locally to make sure you don't have any errors, before submitting your PR

Instruction for running a local Sonar Qube, community edition

Prerequisites

You need to install Sonar Qube community edition for your machine. And sonar-scanner. Then add sonar scanner to your PATH.

You need to run sonar-scanner separately on root directory and on app/client directory.

Luckily for you sonar scanner is automatically triggered after husky checks. So you only need to install and configure SonarCube locally and create two separate projects in SonarCube panel. First project for host app, and second project for client viewer app. TODO: add how to get started with local SonarCube for Deskreen in details.

Documentation

High level architecture design

high-level-design

WebRTC Screen Sharing Session Initiation Step by Step

sharng-session-init

Benchmarks:

Benchmarks can be found here

Note on versioning:

  • All versions git tags should start with v ex. v1.0.0
  • Before making a new release with git push <version-tagname> set version to <version-tagname> ! without v in the beginning! (ex. 1.0.0 -- not start with v) in these three files:
    • package.json -- in version key ex. 1.0.0
    • app/package.json -- in version key ex. 1.0.0
    • app/package-lock.json -- in version key ex. 1.0.0
    • app/client/package.json -- in version key ex. 1.0.0

Found typo on https://deskreen.com ?

You can submit your pull request with fix on Deskreen website locales repo

Maintainer

License

AGPL-3.0 License © Pavlo (Paul) Buidenkov

Copyright

Deskreen Logo PNG Image -- © Nadiia Plaunova

Apache 2.0 © blueprintjs

MIT © Electron React Boilerplate

simple-peer MIT. Copyright (c) Feross Aboukhadijeh

GNU General Public License (GPL) Version 2 node-forge

ISC Copyright (c) 2019, Mapbox pixelmatch

Thanks

🙏 Special thanks to Electron React Boilerplate community for providing a good kickstart template boilerplate code for electron project, that really helped a lot to get started with development of Deskreen.

🙏 Thanks to Github workflows for enabling a robust CI pipeline for the needs of 'forging' 🛠️ Deskreen.

🙏 Many thanks to all 🌍 open source community members and maintainers of libraries used in this project.

Donate

Click to donate on Deskreen's Patreon page

Click to donate on Deskreen's Opencollective page

deskreen's People

Contributors

aceto1 avatar bobodrone avatar chaeya avatar edwardbetts avatar hackintoshhd avatar klarkc avatar lauritsll avatar lwd-temp avatar mihir-karbelkar avatar mrjones-plip avatar nickoehler avatar npepperlinux avatar pavlobu avatar qwici avatar raboof avatar schiappa avatar seffs avatar sonuishaq67 avatar taotieren avatar vergedx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deskreen's Issues

Windows 10 virtual display driver

Hi,

I found a virtual monitor driver on this site
https://www.amyuni.com/forum/viewtopic.php?t=3030

Initial testing on Windows 10 64bit shows it works for me.
Could we use this driver for Windows 10?

Can't select windows or screen on Windows 10

Prerequisites

Expected Behavior

Select windows or screen

Current Behavior

I can't select it, i click on it but nothing happens :(

Steps to Reproduce

image

  • Deskreen version or branch : 1.0.2
  • Operating System and version : Windows 10 LTSC

Touch inputs

Is it possible to share touch inputs? since i mostly share screen to my phone it would be awesome if i could control from there too.

Not all open windows/apps (Win 10) available in the share App Window option

Firstly great work on this app - and thanks for open sourcing it!!!!!!!!

It seems that in the share App Window option (Win 10 host) that there is either

  • a limit of 10 windows to choose from
  • or not all open apps/windows are available to select

I am attempting to share a specific app window but it is not available in the list

  • only 10 windows are shown as selectable - and I have more than 10 open

Cheers

Justin

Using xrandr to create a virtual display (Linux)

Creating a virtual display with xrandr that can be broadcasted as an extra monitor is fairly easy on Linux. I think that this method should be implemented as a guide as it is a viable method for Linux users without the need of extra drivers or a dummy plug. To achieve this I did the following:

First, run the following command:

xrandr

Command output
    DisplayPort-0 disconnected (normal left inverted right x axis y axis)
            DisplayPort-1 disconnected (normal left inverted right x axis y axis)
            DisplayPort-2 disconnected (normal left inverted right x axis y axis)
    HDMI-A-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 521mm x 293mm
             1920x1080     60.00*+  71.91    50.00    59.94  
             1680x1050     59.88  
             1600x900      60.00  
             1280x1024     60.02  
             1440x900      59.90  
             1280x800      59.91  
             1280x720      60.00    50.00    59.94  
             1024x768      70.07    60.00  
             800x600       72.19    60.32    56.25  
             720x576       50.00  
             720x480       60.00    59.94  
             640x480       72.81    66.67    60.00    59.94  
             720x400       70.08  
    DVI-D-0 disconnected (normal left inverted right x axis y axis)
             1920x1080     60.00  
    DP-1-4 disconnected (normal left inverted right x axis y axis)
    HDMI-1-2 disconnected (normal left inverted right x axis y axis)
    DP-1-5 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 531mm x 299mm
             1920x1080     60.00*+
             1680x1050     59.88  
             1280x1024     75.02    60.02  
             1440x900      74.98    59.90  
             1280x960      60.00  
             1280x800      59.91  
             1152x864      75.00  
             1024x768      75.03    70.07    60.00  
             832x624       74.55  
             800x600       72.19    75.00    60.32    56.25  
             640x480       75.00    72.81    66.67    59.94  
             720x400       70.08  
    DP-1-6 disconnected (normal left inverted right x axis y axis)
    HDMI-1-3 disconnected (normal left inverted right x axis y axis)
            1920x1080 (0x5b) 148.500MHz +HSync +VSync
                                    h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  67.50KHz
                                    v: height 1080 start 1084 end 1089 total 1125           clock  60.00Hz
            1680x1050 (0x5f) 119.000MHz +HSync -VSync
                                    h: width  1680 start 1728 end 1760 total 1840 skew    0 clock  64.67KHz
                                    v: height 1050 start 1053 end 1059 total 1080           clock  59.88Hz
            1280x1024 (0x61) 108.000MHz +HSync +VSync
                                    h: width  1280 start 1328 end 1440 total 1688 skew    0 clock  63.98KHz
                                    v: height 1024 start 1025 end 1028 total 1066           clock  60.02Hz
            1440x900 (0x62) 88.750MHz +HSync -VSync
                                    h: width  1440 start 1488 end 1520 total 1600 skew    0 clock  55.47KHz
                                    v: height  900 start  903 end  909 total  926           clock  59.90Hz
            1280x800 (0x63) 71.000MHz +HSync -VSync
                                    h: width  1280 start 1328 end 1360 total 1440 skew    0 clock  49.31KHz
                                    v: height  800 start  803 end  809 total  823           clock  59.91Hz
            1024x768 (0x67) 75.000MHz -HSync -VSync
                                    h: width  1024 start 1048 end 1184 total 1328 skew    0 clock  56.48KHz
                                    v: height  768 start  771 end  777 total  806           clock  70.07Hz
            1024x768 (0x68) 65.000MHz -HSync -VSync
                                    h: width  1024 start 1048 end 1184 total 1344 skew    0 clock  48.36KHz
                                    v: height  768 start  771 end  777 total  806           clock  60.00Hz
            800x600 (0x69) 50.000MHz +HSync +VSync
                                    h: width   800 start  856 end  976 total 1040 skew    0 clock  48.08KHz
                                    v: height  600 start  637 end  643 total  666           clock  72.19Hz
            800x600 (0x6a) 40.000MHz +HSync +VSync
                                    h: width   800 start  840 end  968 total 1056 skew    0 clock  37.88KHz
                                    v: height  600 start  601 end  605 total  628           clock  60.32Hz
            800x600 (0x6b) 36.000MHz +HSync +VSync
                                    h: width   800 start  824 end  896 total 1024 skew    0 clock  35.16KHz
                                    v: height  600 start  601 end  603 total  625           clock  56.25Hz
            640x480 (0x6f) 31.500MHz -HSync -VSync
                                    h: width   640 start  664 end  704 total  832 skew    0 clock  37.86KHz
                                    v: height  480 start  489 end  492 total  520           clock  72.81Hz
            640x480 (0x70) 30.240MHz -HSync -VSync
                                    h: width   640 start  704 end  768 total  864 skew    0 clock  35.00KHz
                                    v: height  480 start  483 end  486 total  525           clock  66.67Hz
            640x480 (0x72) 25.175MHz -HSync -VSync
                                    h: width   640 start  656 end  752 total  800 skew    0 clock  31.47KHz
                                    v: height  480 start  490 end  492 total  525           clock  59.94Hz
            720x400 (0x73) 28.320MHz -HSync +VSync
                                    h: width   720 start  738 end  846 total  900 skew    0 clock  31.47KHz
                                    v: height  400 start  412 end  414 total  449           clock  70.08Hz

Here I selected one of the disconnected outputs. For this example I am going to use DVI-D-0

If there is no output mode, one can be added with

xrandr --addmode DVI-D-0 1920x1080

# you may use the output you selected and the resolution you want

Next step is to identify the display you are going to use to position your new display. For example, I want to place my virtual display to the left of my primary display, which is HDMI-A-0, so I run the following command:

xrandr --output DVI-D-0 --mode 1920x1080 --left-of HDMI-A-0

# replace DVI-D-0 with the virtual output you selected
# and 1920x1080 with the resolution you chose on the previous command

# other options are --right-of, --above and --below

Finally, when running deskreen:

deskreen_working

The virtual display is available (Screen 2).

If you want to disconnect the display, just run:

xrandr --output DVI-D-0 --off

I am willing to do a complete guide and open a pull request if you think it is a good enough method.

Support for pivot screens

Some computer screens allows to flip them by 90 degrees. Would be nice to have option to flip image (and set virtual screen resolution accordingly)

Blank page on iPad 1 and iPad 2

Device: iPad 2 (iOS 9.2.1), iPad 1 (iOS 5.1.1)
Browser: Safari

When accessing the client URL (http://xx.xx.xx.xx:3131/123456) it shows a blank page and can't connect.

Not sure if this is a quick fix or a major overhaul of the code, they're pretty old so don't feel too bad about it 😊
It would be so nice to use Deskreen in these bricks and bring them back to life!

Great work BTW

Virtual display on Android

Originally wrote it on HN, but this seems a better place to start discussion.

Android 10 introduces "Desktop mode", vendors like Samsung, LG or Huawei offers own solutions for additional separate screens. There are also commercial solutions for virtual screens on Android from company offering DisplayLink chips (they claim it is easy to modify android to support additional screens). Getting such a driver to mainline Android will be probably difficult, but there is an option to provide it for example for LineageOS or for rooted phones.

Sharing windows on non active desktop lagging

I'm using Arch Linux with Wayland (swaywm) on Thinkpad X1C gen7.

When I share a window to my Android phone (Sony XZ2c) Brave browser, it works well.. As long as the window is being rendered on the laptop.

When the window shared is not being rendered on the visible workspace on the source machine, the updates are very laggy. For example, if I try playing a video on my laptop and share it to my phone and navigate away from the workspace hosting the video on the laptop, the video sharing is only sending a frame every second or so.

Copyright notice

Hello. I really love this project, but it is based on an electron boilerplate which used the MIT License, and you can't change the MIT License. So I would switch to it (due to legal reasons).
(e.g. 21fa81a)

Please add a system tray icon

Right now there doesn't seem to be system tray support, at least not under Linux. It would be really cool if Deskreen could be minimized to the tray.

Ethernet + Wifi: Let us choose adapter

I have ethernet and wifi (sometimes both connected) on the MacOS - allow to choose which Adapter (actually its IP address) is written in program and in QR code.

Polyfill WebRTC?

I was trying to run the secondary screen on my Xbox One browser, (Microsoft Edge 18). unSurprisingly it did not worked, so I tested in my computer with the same version, the console reports that WebRTC is not supported.

I found that WebRTC is only fully compatible with Edge 79+ (the Chromium based). But there is an implementation called Object RTC that matches the edge version. I was wondering if it's not possible to somehow adds a polyfill to allow the client to runs on old browsers. I found this lib that adds a common layer that enables the protocol on a large range of browsers.

Share Sound

Share screen and sound with the connected device.

Intended use case(s):

  • Stream a video from a PC to a (toaster) "Smart" TV, smartphone, tablet, …

Can only one device be connected?

Only one device can be connected, an error will be reported when the second device is connected.

You were not allowed to connect.
You may close this browser window then try to connect again.

image

Build / instruction issue

On Arch Linux, while trying to run the package from source, I get the following error when running yarn start:

yarn run v1.22.10
$ yarn build
$ yarn build-client && yarn build-main && yarn build-renderer
$ cd app/client && cross-env SKIP_PREFLIGHT_CHECK=true yarn build
$ react-scripts build
/bin/sh: line 1: react-scripts: command not found
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Looks like the relevant line is /bin/sh: line 1: react-scripts: command not found. It looks like react-scripts is a dependency in app/client/package.json.

This can be fixed with cd app/client; yarn install, then going back to project root and running yarn start.

I don't know yarn, and I'm not sure if it can handle running yarn install in app/client on its own; if so, it should be configured to do it. Otherwise, there should be instructions in the README specifying that it is necessary to run yarn install in app/client as well.

FYI: Linux on Xorg can create virtual desktops

I saw on the readme that you are looking for a way to get rid of the dummy plug. Well, if you're running any linux distro with Xorg X11 display server, then you can simply:

remoteHScreen=2560
remoteVScreen=1600
refreshRate=60
existingScreenName="DP1"

params=$(gtf ${remoteHScreen} ${remoteVScreen} ${refreshRate} | grep Modeline | sed 's/^\s\sModeline \".*\"\s*//g')

xrandr --newmode "extraScreen" ${params}
xrandr --addmode VIRTUAL1 extraScreen
xrandr --output VIRTUAL1 --left-of ${existingScreenName} --mode extraScreen

And to delete the screen:

xrandr --output VIRTUAL1 --off
xrandr --delmode VIRTUAL1 
xrandr --rmmode extraScreen

I believe this can be done on Wayland as well, but since I don't use wayland, I dont' really know...

Regarding the other 2 OSes:

  • OSX: Although similar to linux in many ways, OSX has long departed from X11 display server. I have investigated quite a lot on how to create a virtual monitor through the command line, but I could find anything for the display server used by Mac OS.
    I suspect that installing XQuartz might allow you to do this, but I'm not even sure if XQuartz is still working on newer version of OSX
  • Windows: I don't believe there's anything working out of the box. Did some research, couldn't find anything. Likely needs an ad-hoc solution.

Teleprompter mode

Great tool. Would love to be able to use it with mirrored screen option. This would be very popular with the people who run teleprompters.

Cli only version

Awesome app!

It would be great if a cli only version is available, it would be easier to programmatically start the sharing

Raspberry Pi Support

As you mentioned on the website, you said you'd like Raspberry Pi support. I just used the compiling instructions to run deskreen on my Raspberry Pi, and it ran without a hitch. I was testing on my pi's browser window, but it did properly capture and display my pi's screen. I think if you directly built this for armv7l, then it would work perfectly.
Screenshot_2021-01-26_09-26-08

Shared App Windows (not entire desktop) disconnects after about 10 minutes

Host: Win 10
Sharing 1 specific app window to another desktop on the local network

Issue: After about 10 minutes the app window on the client disconnects

  • if I go to the Connected Devices page on the host, there are no longer any connected devices

Note: When sharing the entire desktop (same host/client) no disconnect occurs

Thanks again!!

Justin

Second screen not offered to share

Expected Behavior

Both screens should be offered to share.

Current Behavior

Only the bigger primary screen is offered to be shared.

Steps to Reproduce

In the Select step, only the primary screen is offered to share

Context

I wanted to use an iPad as secondary screen. The secondary screen is cable connected and shows up in display settings of Windows. Windows is set to extend the Desktop to the secondary screen.

Your Environment

Windows 10 20H2
Deskreen 1.0.2 Binary
Primary screen 5120 x 1440
Secondary screen 2048 x 1536

Make it work even if the screen is closed

Here you post only concrete examples of enhancements with code and solutions that you have. Other BIG enhancements and general ideas of features you would like to see in Deskreen, you post here: #50

Make it work even if the screen is closed

Otherwise this issue will be closed.

Allow changing a share after it is started

First of all great app! it's incredibly fast and low latency. 🔥

Maybe I'm missing something, but currently if I want to change what is shared in a connection, I tihkn I have to first disconnect it, then share link again because the old session is broken.

Would be very nice to be able to either:

  • Disconnect, then reuse the same session (so that the client can just try to continously reconnect instead of erroring out)
  • modify an existing connection

Application Window sharing - limited list

The list seems to show only some of all active applications windows - like 12 or 16 (can't check right now). When I add a new browser window for instance, it does not show up .. even after reload button press.

New Language

Can we add a BR Portuguese translation? I could work on it!

Allow port-forwarding services to be used such as ngrok

Hello. Due to various reasons, I cannot connect my phone and my PC to the same wifi. By using services such as ngrok, I hoped I would be able to connect, and use the app. However, it gave a "something went wrong" message. Please add support for these services. Thank you!

Add a portable version for Windows

Actually, there isn't a Windows portable version, yet.

Please, add a portable version: I'd like to test the app features but without installing it.

Failed to detect network devices.

On AppImage version.
It fails to recognize local network devices.
The app itself works ok, and clients reach it without problems. But the "Not WiFi and LAN Connection" dialog is stuck and preventing to allow an incoming connection.

This dialog should be easy to skip or override.

TODO

write bug report template

Auto scan

Give a common ip address for all remote devices to visit and let the user select id, instead of entering it as part of url this way reconnection will be effortless even if server has created a new id.

Connection error after the second screen is turned off for a while

Prerequisites

Expected Behavior

I expect the connection stays even when the tablet's screen is off for a while.
The tablet's screen goes off automatically after 2 minutes to save battery.

If the tablet's screen stays off for a while (>5 minutes) when I turned the tablet screen on again it returns:
Deskreen Error Dialog
Something wrong happened :(

Closing the browser and opening it again did not work.
On Deskreen "Connected Devices" windows shows none devices connected.

If I get the tablet on again in a short period (<5 minutes) it resumes the connection, and updates the remote screen properly.

Current Behavior

The connection is lost after the tablet's screen get off for a while (more than 5 minutes or so)

Steps to Reproduce

Connect a tablet in Deskreen
Let it turn off automatically and let if off for more than 5 minutes or so.
Turn the tablet on again and you see there is no active connection to deskreen anymore.

Possible Solution (Not obligatory)

Context

Your Environment

I am using an Android Tablet Lenovo TB-8703X running Android 8.1.0 as a connected device and google chrome as primary browser.

Running Deskreen 1.0.2 on desktop:

Operating System: openSUSE Tumbleweed 20210114
KDE Plasma Version: 5.20.5
KDE Frameworks Version: 5.78.0
Qt Version: 5.15.2
Kernel Version: 5.10.7-1-default
OS Type: 64-bit
Processors: 8 × Intel® Core™ i7-3770 CPU @ 3.40GHz
Memory: 14.6 GiB of RAM
Graphics Processor: GeForce GTX 970/PCIe/SSE2

  • Node version :
  • Deskreen version or branch : 1.0.2
  • Operating System and version : see above
  • Link to your project :

Allow sharing application on different desktops

All OS' have the option to have multiple "Desktops", it would be very useful to be able to share an application thats on a Desktop your not currently on. (for example on windows you can press the windows key + TAB to open more desktops and windows key + ctrl + arrow keys to change between desktops)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.