DeskPad – A virtual monitor for screen sharing

280 pointsposted 4 hours ago
by geerlingguy

47 Comments

mleo

42 minutes ago

This is great; though I have less need for it day to day now.

I used to have 49" 5120x1440 display. We started with Zoom, which under Advanced would allow partial desktop sharing. I would draw a 1920x1080 box and move windows in and out of the box.

We moved to Teams and Teams only supports Window or Screen sharing. DeskPad would work great for that situation. Create a virtual display, share it and then use it on right part of the physical screen, moving windows in and out as needed.

Currently, I use 2 Studio Displays instead of the 1 Wide Screen. When I need to share screens, I press a button on Stream Deck that calls displaypacer to set the resolution on the second display to 1600x900. When done, I press the button again and it toggles the resolution back to 5K. The resolution switching is instantaneous with Apple Silicon/Studio Display making it hassle free.

rcarmo

3 hours ago

This is _genius_. I have been using RegionToShare in Windows to share only a section of a widescreen monitor, but didn't have a good Mac equivalent. Now I have something that may well work _just as well_ with Windows inside Parallels (need to try that ASAP, am on the "wrong" Mac now).

Edit: A quick test shows that yes, the Windows VM sees the additional display just fine--but, alas, Parallels doesn't let me pass _just_ one physical and that virtual display to the VM, so I can't have my "personal" portrait monitor unoccupied by Windows...

rr60

2 hours ago

+1 for RegionToShare on windows. It's not perfect but it has made sharing on a 49" monitor much much easier.

neilv

3 hours ago

The title could clarify it's for MacOS X.

neallindsay

2 hours ago

Linux users probably already have some weird workflow with X11 virtual buffers to do this.

tasn

an hour ago

This is how I do it under Sway (Wayland):

#!/bin/bash

swaymsg create_output OUTPUT=$(swaymsg -r -t get_outputs | jq '.[].name' | grep HEADLESS | tr -d '"')

# No need to reduce res, it defualts to 1080p #swaymsg output "$OUTPUT" resolution 1280x720

wl-mirror "$OUTPUT"

swaymsg output "$OUTPUT" unplug

When I was still in X11 land I used to just use Xephyr.

marcodiego

an hour ago

Xnest is probably enough. I've used it for similar purposes a few times. Don't know the equivalent for Wayland though.

Arnavion

2 minutes ago

Yes, Wayland compositors like cage and sway can be nested too.

That said, with both the X nesting approach and the Wayland nesting approach, you'd also need to run the screencasting application itself inside the nested server, not the just the application you want to cast. If the compositor supports a way to create headless outputs (as sway and hyprland do) that is much easier.

Devorlon

2 hours ago

It's not exactly the same, but as an alternative to what jauntywundrkind you can use V4L2-Loopback and OBS to create a virtual webcam and use that to share your screen. I find it really handy being able to switch between either just my cam, my desktop or both.

jameslk

29 minutes ago

I have an Intel MBP, so my first question is will this work on my legacy hardware? And my second question is will this act like a typical external display I connect to my MBP and set it on fire? As far as my experience goes, it's not behaving like an external display unless my CPU is occasionally pegged at 100%, fans are blasting, and my computer becomes intermittently unusable until I disconnect the display.

doubleorseven

21 minutes ago

I used to have an Intel MB, mid 2010. I had to disconnect the hdmi cable so it can boot, otherwise it would just blast the fan displaying the apple loading animation. It died on 2022 when i installed an update that asked for a restart and i forgot to disconnect and went on vacation. RIP Intel MPs. Amazing beasts.

thomasjv

9 minutes ago

Just don't drag the DeskPad window to the virtual monitor

garysahota93

2 hours ago

I really like this concept. especially for the use case where I need to share my whole screen, but just want a "sandbox" of sorts to share. Typically have gotten around this with a secondary monitor that I share with, but that doesn't work when I'm on the go with my laptop. Will def be using this

conductr

an hour ago

I think the problem I have is more so that people want my font sizes to be 3x what I have them. Usually I’m presenting a spreadsheet (financial statements and such) and people ask me to zoom in. Which I can but it breaks the whole thing and throws me off because I can no longer read my document anymore and I’m trying to present it. For that reason, I evangelize that attendees use the Zoom feature on their device if it’s too small.

As I understand the issue it’s not that font is too small on my device, it’s that Teams has a tiny viewport and so it gets shrunk down. Most people aren’t doing full screen. They have a sidebar for chat and such and a top bar of other options. These don’t leave much real estate for my presentation.

Would something like this help my problem or anyone know a better solution?

rcarmo

an hour ago

OK, I have a series of steps you can follow:

- Start DeskPad

- Go to System Settings and set the resolution of the virtual display to 1920x1080 (just to be a standard size/resolution and not retina, saves on resources and hassle)

- Still in System Settings, set Accessibility Zoom to render a magnified version on the virtual display:

https://support.apple.com/guide/mac-help/zoom-in-on-whats-on....

- Resize the DeskPad window to be a nice little preview on the corner of your screen.

- Start your call, share the virtual display (which will be the zoomed version of what you are pointing at with your mouse)

mxfh

32 minutes ago

BetterDisplay App seems to resolve most my pain points around MacOs multi-display setups. Like having instant access to a screen resolution sliderfrom the menu bar going down to 66% is a big win, so is controlling brightness of external screens, all in the free version already.

madhias

41 minutes ago

I am presenting SAP t-codes on a daily basis and can relate – especially for presentations I tried to show always only the most important things and use fonts like 2 or 3 times bigger, especially with monospace fonts not so easy to find good readable narrow fonts.

LorenPechtel

an hour ago

I ended up buying a bigger monitor for screen share. For most purposes I prefer my setup with multiple 19" monitors running at 1280x1024 but it's a nightmare if someone with a higher desktop wants to share. I have found the bigger monitor nice for games also.

supermatt

an hour ago

This looks great - really useful!

I have always wondered how these virtual desktops work. A cursory looks shows that this is using some undocumented APIs. How do people learn they can create a virtual desktop in this way if the knowledge to do so is hidden/obfuscated?

Does apple allow distribution of an app that use these "private" APIs?

Is anyone aware of what mechanisms are there for achieving something similar in windows?

savrajsingh

43 minutes ago

Zoom has this as a built-in feature -- you can share just a region you specify of your whole display. Share screen -> advanced -> "portion of screen"

madman2k

23 minutes ago

Nice. I'm testing it watching a YouTube video in "full screen" in its window, while also leaving room for a browser and email window on that monitor.

neLrivVK

an hour ago

I’ve been using https://github.com/waydabber/BetterDisplay for this purpose. Does something similar and more. Works great!

blsv

an hour ago

Which feature do you use? Would like to try it as well.

mellosouls

an hour ago

But not open source? I mean, its fine if its closed, but no point in linking to a github repo, and if so its not a like-for-like.

Edit: I see looking at the branches an old version was open source some years ago.

sandos

27 minutes ago

This has to have been made for MS teams, right? It is unusable if youre screen is too large!

jakelsaunders94

2 hours ago

Oh lawd I’ve had to say ‘sorry you’ll have to bear with my ultrawide’ during pairing at least 10 times in the last week. You are a lifesaver.

swijck

31 minutes ago

Having had to order whiteboards to airbnbs for offsites, yes this is cool!

imzadi

2 hours ago

I need this. I have a 49" monitor and sharing the screen is such a pita

shmoogy

2 hours ago

Thank you for this - sharing a window makes drop downs and other things not work. I look forward to trying this out for a better solution.

mmastrac

2 hours ago

Very cool. Does it require the "screen recording" indication to be up the entire time whether screen recording is happening or not? I don't see any info in the repo but I recall some previous solutions would effectively appear to be recording all the time.

EDIT: unfortunately it does. But if it's designed for screen sharing, it's probably not a big deal. Unfortunately there's no easy way to mirror on OSX without this, AFAIK. This particular issue is annoying for certain USB-C video adapters that create a virtual screen and mirror it over an arbitrary protocol.

ekinertac

2 hours ago

what a briliant idea, most of my meeting i had to share my 4K screen with laptop pals and most of the time i had to zoom so they can see. now it's solved.

_6GoofyWizard9_

3 hours ago

Very nice idea! It would be nice to be able to do the same on Linux and/or Windows, too!

bitbang

an hour ago

This has been possible on Linux (Wayland + pipewire) for a couple years now.

leptons

2 hours ago

With my 6480 x 3840 (three 4k screens) desktop resolution, in Zoom I just select "Share a portion of screen", and I can resize the area that gets shared to something close to a common screen size.

xahrepap

an hour ago

I used that until we moved to Teams for all video calls. And it doesn’t have that feature :(

I’ve looked around for an app like this. But they’re all paid and the security prompts are a little scary.

mcphage

3 hours ago

As someone with an ultrawide monitor, this seems like a really neat solution. Thanks for sharing it!

delusional

3 hours ago

What an intriguing idea. I wonder if I could do something similar on linux by placing a second monitor on top of my current one with xrandr.

nixosbestos

2 hours ago

It's too easy to just use OBS for this, in my opinion. Add the pipewire display capture, add a filter to crop it to a corner, stretch that container to fit the stage, open the window in the corner. Fairly simple.

transfire

2 hours ago

Wouldn’t it be nice if we could adjust resolution per window?

On a 4k monitor some applications have tiny text and icons, and no way adjust that I can find.

rcarmo

2 hours ago

I just went to Preferences and set the resolution of the virtual display to 1920x1080.

transfire

a minute ago

But doesn’t that affect ALL windows?