stengo / deskpad Goto Github PK
View Code? Open in Web Editor NEWA virtual monitor for screen sharing
License: MIT License
A virtual monitor for screen sharing
License: MIT License
Hardware/OS configuration:
Version:
Symptoms:
Steps to reproduce:
Permissions granted:
side notes:
Would like this feature-- I need my virtual display to be at a higher resolution than my physical screen, and right now it takes up too much space on my screen.
Symptom: when I click or type inside the deskpad window, the click is registered in the real display, not inside the app open in deskpad.
I've managed to move windows into Deskpad monitor using Rectangles features to move windows to other screen. But when the window/app is inside Deskpad I can't reach it using mouse or keyboard.
I'm not sure if this is related to MacOs or Deskpad.
This could be very useful. eg. to VNC into separate displays on other devices. Also creating "headless" instances could also be nice to reduce clutter on the desktop.
Cool app!
I would love to have the ability to keep the extended display window on top of all other windows. This would allow for making a video fullscreen on the extended display and mimicking Picture-in-Picture mode, when it's not available.
First of all: GREAT JOB! This app is an invaluable when I work on ultra wide monitors with ratio such as 32:9 and need to share a couple of apps along each other :)
Now back to business ;)
Problem Statement
Time and time, when I use the app, I'm not sure, if my cursor is hoovering over virtual display, or over the DeskPad window on my real display.
I regularly try to click something over the DeskPad window and get frustrated that apps are unresponsive :)
Suggested solution
Can you translate bounds(X,Y)
clicks on the DeskPad App Window, to the frame(X,Y)
location on the virtual display? This would probably require accessibility permission so it could be opt-in feature in the options, to not trigger permissions alert for everybody.
Next step would be to support drag and drop, etc, but simple single clicks would be a huge improvement over nothing.
Alternative solution would be to (right after click on the window) "teleport" the cursor to the virtual display to the click location, and then do the click. This way, drag and drop, and all features would work by themselves.
Thanks in advance!
For some reason when I launch Xcode, it will launch outside of Deskpad designated window. How do I fix this?
Each time I click on DeskPad icon in my Dock, it doesn't come up with any window, I've clicked on "Show All Windows" option as well to find the window and it says "No Available Windows".
The only alternative that I've found is to go to my Screen Mirroring options and select a new resolution for the DeskPad Virtual Monitor, then it shows up and I can freely work with it.
Once I quit and reopen it, same thing repeats again.
Upon downloading and attempting to run the DeskPad application on macOS Sonoma, I encountered a rejection by the Gatekeeper.
To proceed, you need to perform the usual steps to add an exception in order to allow the app to run. I delved deeper into the application's signature status using Apparency and here's what I found:
Signed by: The signature does not match any Gatekeeper policy.
The DeskPad.app is signed by "Apple Development: Bastian Andelefski (DQ9U5WWMJR)," a certificate issued by Apple to a third-party developer for the purposes of signing apps during development and testing phase. Unfortunately, the signature does not align with any established Gatekeeper policy which results in a default prohibition of code execution on macOS.
Gatekeeper Status: The app is flagged as "Rejected."
This status is assigned because the app is signed with a certificate not recognized as trusted by Gatekeeper (or possibly even by macOS). This could arise if the component was signed with a third-party certificate, or an Apple-issued certificate but not of the Developer ID variety.
Notarization Status: No notarization was detected for DeskPad.app.
This situation presents a hurdle as the exceptions required for allowing code execution will not be met. Specifically, even if the app was signed with an Apple-issued Developer ID certificate it would not run without being notarized.
This issue became apparent while I was preparing a Homebrew cask for DeskPad, where the audit step failed due to the absence of a signature and notarization for the app.
I understand that acquiring a Developer ID and notarizing the app involves costs, and might be a significant ask for a free open source application. I just wanted to open up this issue to highlight the topic, because you did make the effort to sign it with a signature for v1.1.
2023-03-18 19:48:29.521022+0100 DeskPad[9105:135168] [client] com.apple.Display.VirtualDisplayMetrics event not enabled in CoreAnalytics config
2023-03-18 19:48:29.724300+0100 DeskPad[9105:135168] [Screen] -[NSCGSDisplayConfiguration _validateChanges:fromDisplayConfiguration:] layout change with no seed change. self=<NSCGSDisplayConfiguration: 0x600001b5f1e0> changeSeed=63 flipOffset=1440 reconfigureSeed=0 acceleratorSeed=0 uniqueDisplays=(
“<NSCGSDisplay: 0x600002720ea0> id = 861766978 uuid = D316EE1C-A832-580D-5FAC-95E7D2043D4D frame = {{0, 0}, {3440, 1440}} depth = 4 backingPixelsPerPoint = 1 devicePixelCounts = {3440, 1440} colorSpace = <CGColorSpace 0x600003121800> (kCGColorSpaceICCBased; kCGColorSpaceModelRGB; PL3461WQ) maxHDRValue = 1 maxPotentialHDRValue = 1 maxReferenceHDRValue = 0 notchFrame = {{0, 0}, {0, 0}}“,
“<NSCGSDisplay: 0x600002720f30> id = 4128835 uuid = 00003456-0000-1234-0000-000100000000 frame = {{-1920, 1439}, {1, 1}} depth = 4 backingPixelsPerPoint = 1 devicePixelCounts = {1, 1} colorSpace = <CGColorSpace 0x600003120f00> (kCGColorSpaceICCBased; kCGColorSpaceModelRGB; sRGB IEC61966-2.1) maxHDRValue = 1 maxPotentialHDRValue = 1 maxReferenceHDRValue = 0 notchFrame = {{0, 0}, {0, 0}}”
) other=<NSCGSDisplayConfiguration: 0x600001b44bd0> changeSeed=63 flipOffset=1440 reconfigureSeed=0 acceleratorSeed=0 uniqueDisplays=(
“<NSCGSDisplay: 0x6000027287e0> id = 861766978 uuid = D316EE1C-A832-580D-5FAC-95E7D2043D4D frame = {{0, 0}, {3440, 1440}} depth = 4 backingPixelsPerPoint = 1 devicePixelCounts = {3440, 1440} colorSpace = <CGColorSpace 0x600003121800> (kCGColorSpaceICCBased; kCGColorSpaceModelRGB; PL3461WQ) maxHDRValue = 1 maxPotentialHDRValue = 1 maxReferenceHDRValue = 0 notchFrame = {{0, 0}, {0, 0}}”
)
2023-03-18 19:48:29.736944+0100 DeskPad[9105:135168] [default] invalid display identifier 00003456-0000-1234-0000-000100000000
2023-03-18 19:48:29.814870+0100 DeskPad[9105:135168] [default] invalid display identifier 00003456-0000-1234-0000-000100000000
I am not Apple application specialist, but if you provide me directions I can test and provide more logs.
It would be nice if we could find a way to make DeskPad act less like a video output and more like an interactive VM. That might include:
Hey there, I'm currently trying out your app and it looks very promising so far. Thanks!
Currently, the process of installing and upgrading DeskPad on macOS is a manual step and somewhat cumbersome. Many users, including myself, prefer utilizing package managers such as Homebrew for managing software installations and upgrades due to its simplicity and command-line interface.
I propose that DeskPad be made available as a Homebrew cask, which would significantly streamline the installation and upgrading process. Users would be able to execute brew install --cask deskpad
for initial installation and brew upgrade --cask deskpad
for upgrading to newer versions, making the process more convenient and aligned with the preferences of many macOS users.
Furthermore, providing DeskPad as a cask on Homebrew could potentially broaden its user base, as Homebrew is a widely-adopted package manager within the macOS community. There is a fairly straightforward guide on how to provide an app as a cask.
Let me know, whether this is something you're interested in and I'll take a crack at it.
What's the preferred method of installation?
Just documenting here:
I had a weird issue where the DeskPad Window was just blue and it was requesting Screen Sharing permissions at every startup.
Disabling and enabling the permission did not change anything. Also reinstalling or using the Homebrew version did not fix this.
I had to reset the Screen Sharing permissions with
tccutil reset ScreenCapture com.stengo.DeskPad
Maybe that helps someone else with the same problem! :-)
I've been having this issue on Sonoma 14 beta. My workaround for the time being is (for some reason) having another screenshare app open (Advanced Screen Share) allows me to see the cursor on Deskpad. I can provide images/video if needed
Deskpad is a godsend, thanks!
I just got an ultruwidescreen for work and was so thrilled to find this! I installed the app no problem, but when I open it, and the DeskPad display opens, I can't actually use it, i.e. I can't open my applications on it. I click on the icons in my control dock and they don't open?
Hi there, I really love this tool because it makes screen sharing with teams on MacOS with a 32:9 monitor much easier.
I would send you a tip if you provide a payment option :)
Also small question, is there a way to change the resolution yet ?
The maximum resolution I can select is 1920x1200, while my main monitor has a resolution of 5120x1440.
To turn things inside out a bit: would it be possible to implement support for a virtual display which is larger or wider than my physical display, combined with the ability to pan?
For instance, if I only have a 16:9 monitor, a virtual ultrawide monitor with easy panning could help with viewing ultrawide screenshares by others.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.