1057 pointsby geerlingguy2 days ago54 comments
  • gechra day ago
    After trying various solutions - including DeskPad - I came up with a custom cross-platform (I'm on macOS, but assume it'll work elsewhere) solution that worked incredibly well on my 40" ultrawide monitor: OBS[1].

    Having never used OBS before but knowing it was popular among streamers, I wondered if I could use it to (1) only share the specific applications I wanted to share and (2) share them at a resolution that people could actually read, without constantly being asked to zoom in.

    I first tried setting up a virtual camera and sharing via my video stream, but it was laggy and the quality was so poor that people couldn't read what I was sharing. I quickly gave up on that approach.

    Then I discovered Projectors[2]. By right-clicking on the main view in OBS and selecting "Windowed Projector (Preview)", it launches a separate window, which I can then share directly via Zoom, Teams, Meet, etc.

    Whatever I drag into the OBS view is displayed in the Windowed Projector (similar to DeskPad), with the added bonus that I can choose to blur certain applications that might be dragged in. For example, if I open Slack or my password manager, the entire window blurs until I focus back on my terminal or browser.

    It took a bunch of tweaking to perfect, but I'm very pleased with how well it works now.

    ---

    [1] https://obsproject.com/

    [2] https://obsproject.com/kb/power-of-projectors

    • __mharrison__a day ago
      I also use OBS for different purposes.

      When I'm teaching a class, I will share the screen that has the projector fully screened on it (which is normally the screen for my teleprompter (so I'm looking into the eyes of my students)). I have a bunch of scenes set up, so I can quickly change the scenes using my Stream Deck. You can make really smooth transitions, so I have a scene for:

      - Full camera

      - Full camera shifted ~60% to the right with a small desktop screen (where I'm showing my slideshow or code) on top

      - Full desktop with face in upper right or lower right (another Stream Deck button to toggle face position)

      - Full desktop, no face

      I also have countdown timers that I can set from the command line when we are taking a break or waiting for the class to start.

      OBS is awesome.

      However, I also record many courses and must do them in HD res. Sadly, my MBP has a notch and won't natively do HD. OBS doesn't help with this (easily). My current solution (which I'm curious to try DeskPad to see if it is better) is to use the BetterDisplay app and create a "virtual screen" with HD dimensions. BD lets me "mirror" the virtual HD screen to my Mac monitor, and it magically resizes the dimensions correctly to HD.

      It's a painful workaround (especially because every time my Mac or other monitors sleep, all of the orientations of the monitors and the mirroring of the virtual screen are forgotten).

      I would love a way to tell my MBP screen to go HD, but to my knowledge, that doesn't appear possible.

    • dudeism_est_0321 hours ago
      My main work machine is also a Mac and I found the accessibility zoom a really useful and quick feature. I simply share my entire screen or a window in whatever meeting/share app and then use a 3-finger gesture and Cmd+ or Cmd- to zoom in and out. That zoom level is fully passed on by the screen share.

      Obviously this feature has to be enabled and wasn’t intended for this purpose but it works perfectly!

      • Jach17 hours ago
        Application-independent zoom is such a nice feature. I've been keeping a zombie version of compiz (formerly beryl) on linux working for years, mainly because I love my wobbly windows and desktop cube, but it's long had two features great for screen sharing purposes too: the zooming like you mention (have it bound to meta+scroll wheel) and drawing annotations (alt+meta+left click for free drawing, there's also eraser, erase all, straight lines, and filled rects/ellipses).
    • aphit16 hours ago
      Any tutorials or write-ups on how to achieve the blur on certain windows that you bring in? That seems really useful and I haven't seen it before.

      Thanks for sharing your method!

    • jeremyjha day ago
      Why did you prefer this to DeskPad? I haven't tried either but have been looking for a solution for this without knowing it.
      • sadeshmukha day ago
        Not OP, but OBS is cross platform and you can set up custom scenes. So you can basically show whatever you want on it, and save those so that it automatically works like that every time. It also can act as a virtual camera, and you can record.
      • drewmol21 hours ago
        Having used OBS before (not the OP) it is much more feature rich and widely used.
    • mouse_13 hours ago
      Blacklisting falls into badness enumeration territory. It's good that you can blacklist sensitive windows, but it would be more useful to have a whitelist feature. If I want to share my browser tab and a game I'm playing, I could simply tell it that, and not have to worry about whatever other sensitive information may pop up randomly at any given time.
    • 67j67j7ja day ago
      [dead]
  • mleoa day 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.

    • prmoustachea day ago
      Why do change the resolution instead of the scaling?
      • naikroveka day ago
        That’s what changing the resolution on MacOS does. On Windows, resolution and DPI are separate settings. On MacOS they are combined into a single “resolution” and you pick from a list that makes sense for the display in question.

        You pick the “effective resolution“ of the display, but the native screen resolution is always used and the DPI is changed to scale things up or down until they are scaled the same they would be on a monitor of the chosen resolution.

        There are a few choices in that list, denoted by “(low resolution)” or something, which set the indicated resolution and leave scaling at 100%. Those look horrific on MacOS but they are options.

      • __mharrison__a day ago
        Notched MBPs can't do HD through resolution changing. (I would love to be proven wrong on this. See my other comment for hoops I jump through to get around this.)
        • mrunkel20 hours ago
          What exactly do you mean by "can't do HD?"

          I can set my display to 1728x1080. That's HD.

          I can also output my Mac to an HD TV, Projector, etc. And I have the notch on my MacBook Pro.

          Do you have some other definition of HD that I'm not understanding?

      • interludead18 hours ago
        Might be a matter of clarity and precision
      • sieabahlparka day ago
        [dead]
    • interludead18 hours ago
      DeskPad definitely seems like it would have been a perfect fit for your transition
  • p4bl0a day ago
    This is for macOS only, which should be reflected in the title. For those using Linux, I wanted to achieve the same thing a few years ago and ended up using Xephyr, which is a nested X11 server that gives you another display (not the same thing as a virtual monitor). I remember having quite a hard time to get that setup working but I don't remember what made it difficult… The idea of a virtual monitor that continues yours on the left or right side of your screen like an actual external monitor is actually pretty neat, it offers a much more frictionless usage than an entirely separate display. I wonder if there an easy way to do this on Linux.
    • 15 hours ago
      undefined
  • rcarmoa day 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...

    • rr60a day ago
      +1 for RegionToShare on windows. It's not perfect but it has made sharing on a 49" monitor much much easier.
      • sbarre17 hours ago
        I will "third" RegionToShare.. Sometimes I need to share many windows in a meeting and rather than share my entire 4k monitor, I can set up a 1080p region with RtS and put a bunch of windows in there to swap between when I'm doing my demo, and it's super useful!

        https://github.com/tom-englert/RegionToShare

  • wpma day ago
    I've gotten away with simply firing up OBS and "screen sharing" the virtual camera. Has worked fine on Zoom and Slack huddles, with the added benefit of giving me other things that OBS can provide: easy recording, scenes, text, source management, plugins, etc. For a casual conversation it's somewhat overkill, but when you're doing something more serious or formal, or need to switch between a keynote/Powerpoint and a screen share, or a video capture device, it's wonderful, and actually rather easy to get going in.
    • lolindera day ago
      > and actually rather easy to get going in.

      The other day I tried installing OBS on a Mac and this was not my experience. I couldn't even get it to recognize the built-in MacBook camera, much less share a screen or a mic or...

      I've successfully got OBS set up on Linux in the past and managed to get a simple workflow running, but even that took a lot of fiddling to get started and I had the darndest time finding what I needed. The UI reminded me of GIMP—I'm sure I could eventually figure out how to work it and it probably makes complicated workflows possible in ways that simpler tools don't, but for a newcomer it has been overwhelming.

      • sadeshmukha day ago
        You have to install with admin, and everything then works entirely out of the box. I get away with ignoring most of it, and everything there is really intuitive after a day or so. Probably the most intuitive setup I've seen.
      • naikroveka day ago
        Really? It was painless for me. Worked out of the box exactly as I expected. I wonder why your experience was different.
  • neilva day ago
    The title could clarify it's for MacOS X.
    • neallindsaya day ago
      Linux users probably already have some weird workflow with X11 virtual buffers to do this.
      • tasna day 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.

        • tasna day ago
          I just realized formatting is a bit broken. :(

          Fixed:

          #!/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

          • craftkillera day ago
            You can do code blocks on HN by prefixing your lines with four spaces.

                #!/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
            • mmh0000a day ago
              Four spaces!? Absurd! Think of how many bytes you're wasting! In just your last code block your flooded the internet with 28 needless bytes!?!?!?!! If this keeps up soon we'll all just be downloading whitespace.

              Only two spaces are needed: https://news.ycombinator.com/formatdoc

                function trim {
                  sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
                }
              
              /end sarcasm
              • craftkillera day ago
                You just cut my tedious space-bar-smashing time in half, thank you!
            • a day ago
              undefined
            • tasna day ago
              Oh, thanks! I remembered there was something, skimmed through https://news.ycombinator.com/formatdoc and completely missed it.
            • djbusbya day ago
              HN needs a dedicated pastebin (remember those?)
              • yjftsjthsd-h16 hours ago
                What "remember"? I'm in multiple Matrix channels right now that tell people to use them.
        • arjvika day ago
          Ooh, creating a headless display and then wl-mirroring it is incredibly smart! Have been looking for something like this!
      • craftkillera day ago
        Personally I don't bother with a virtual display. I automatically set my display scale to 2x when I start screen sharing. I set that up with exec_before and exec_after hooks in xdg-desktop-portal-wlr[0]. In addition to turning off my notification daemon (so my email/instant message notifications don't pop up), my exec_before/exec_after scripts just run:

            swaymsg output "MY-MONITOR" scale 2 # or 1 for exec_after
        
        With that, everything puffs up big and readable when I'm screensharing and seamlessly shrinks back down when I stop screen sharing. No need to juggle windows around to different displays.

        [0] https://man.archlinux.org/man/extra/xdg-desktop-portal-wlr/x...

      • pepvea day ago
        I use `xrandr --setmonitor` to create a fake monitor that only covers part of my screen. And I have some window manager setup to easily move my windows there (with awesomewm).
      • marcodiegoa day ago
        Xnest is probably enough. I've used it for similar purposes a few times. Don't know the equivalent for Wayland though.
        • Arnaviona day 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.

        • eqvinoxa day ago
          Xnest got replaced by Xephyr AFAIK. But same thing at the end of the day.
      • Devorlona day 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.
      • jeroenhd18 hours ago
        As a Linux user who generally prefers to avoid the command line for things user friendly applications should be able to do, I'll stick with OBS. That solution also works on Windows, which is extra nice.
      • Yeah. On Wlroots or Sway, we can setup virtual displays pretty easily (swaymsg create_output, done). Run wayvnc, and both the other person and yourself connect over vnc or rdp to see what's over there.

        Available May 2020, https://github.com/any1/wayvnc/issues/7#issuecomment-6256611...

        • moritzrutha day ago
          For Hyprland, the command is `hyprctl output create headless NAME`
    • mdeeksa day ago
      Small FYI: it’s just called macOS now
  • asimpson14 hours ago
    You can achieve something similar using vlc + slop on Linux, here's the script I usually use (I run i3 typically).

        selection=$(slop -f %w,%h,%x,%y)
        width=$(echo "${selection}" | cut -d , -f 1)
        height=$(echo "${selection}" | cut -d , -f 2)
        top=$(echo "${selection}" | cut -d , -f 4)
        left=$(echo "${selection}" | cut -d , -f 3)
    
        cvlc --no-video-deco --no-embedded-video --screen-fps=20 --screen-top=$top --screen-left=$left --screen-width=$width --screen-height=$height screen:// &
    
    Then "just" share the VLC window instead of your desktop.
    • dctoedt13 hours ago
      Brings to mind the infamous comment about Dropbox: https://news.ycombinator.com/item?id=9224

      EDIT: As noted below by @cole-k, the situations aren't the same, because the parent comment here is talking about approximating DeskPad-like functionality on a platform not (currently) supported by DeskPad.

      • cole-k12 hours ago
        I feel this is a little unfair to the parent as they are offering a solution for an unsupported platform.
        • dctoedt12 hours ago
          Point taken; I edited my comment.
  • conductra day 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?

    • rcarmoa day 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)

    • mbreesea day ago
      I often call into meetings where I am also presenting twice. Once on my phone and once from my computer. I use my computer for sharing, audio, video, etc. I use my phone to see what the other people see. Shared screens are always difficult to predict. If you have a 4K screen, it will almost always get downsampled somehow for meetings… it can be too slow otherwise.

      In my experience, the problem isn’t that the font is too small on your device, but rather that you’re sharing too much screen. Even if I’m sharing a terminal window (common for me), instead of changing the font, I try to make the window smaller. This has the same effect and is much easier to control. On the viewing device, the video you send it always scaled (either for a different resolution or viewport size), so it helps to limit the size of the screen/window that you’re sharing.

      Telling viewers to zoom in if they can’t read anything sounds like you’re blaming them for the problem. If you have a different device connected, you might be in a better position to find a solution on your end.

      • conductra day ago
        > Telling viewers to zoom in if they can’t read anything sounds like you’re blaming them for the problem

        yeah I wouldn't disagree, have been ignorant to the solution on this one. It's a recent concern as I'm new to Teams and working at a company with an older demographic than I'm used to so I'm kind of new to getting this request so much tbh. When people complain about having "aging eyes" my default response has been to zoom up to 150% but beyond that I can't even use my own computer as a presentation device for myself which is a showstopper, so my initial thought was tell them to use the Zoom, it's what you do on your phone to read small text, browser to read news, etc. and honestly I zoom in when I can't read someone elses screen (I've never asked someone to increase a font size mid-presentation). Part of the problem is the content kind of requires a lot of columns of data to be visible at once. Bouncing around from YTD to MTD sections by section kind of breaks the flow of the meeting, especially because while I'm presenting they are all individually consuming the content differently (one guy only care's about Margins, one guy only cares about Expenses, etc so it helps to have a lot on the screen at once and let them zoom into what they care about)

        All said, I'm definitely going to try out all the suggestions here and see if I can figure out a better solution. Thanks HN!

      • eastbounda day ago
        +1 to learning how to share a window, doing it fast when you’re changing windows, and reducing the size of the window. It shows that you care for the audience.
        • deathanatos12 hours ago
          The UX for window sharing is just too crappy for this suggestion. I do this, and the single hardest part is locating the window in the list of windows to share.

          Combine that with a workflow that involves 2 or more windows (e.g., switching between a terminal & a browser … or just wanting to display them both at the same time¹), and it's not really workable.

          ¹… and while there's no technical reason I couldn't share two windows … there's no support for it.

          • eastbound10 hours ago
            No really: Learn this UX to share your screen.

            - The last window is always suggested FIRST when sharing,

            - Learn what to look at: Look at the appearance of your browser window before you go click Share my screen.

            The second will provide a visual confirmation that you’re clicking the right button. Don’t pass as a boomer when you can be a Millennial!

    • pitaja day ago
      > 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.

      AFAIK, teams literally does not have a way to put the viewport in full screen mode!

    • xp84a day ago
      As someone often on the receiving end of screenshares, I cannot recommend enough that you do not maximize your shared window itself unless it's absolutely necessary. On a typical 15" laptop, 2/3 the width and ¾ the height is great. (for a 4K/5K monitor this will probably be a smaller fraction). Even assuming everyone else has eyesight on par with your own, it's wise to leave room for the chat on one side and a toolbar on the bottom. (And please never maximize a shared window on those 21:9 displays; that is so painful for everyone on a laptop. We get giant black bars at top and bottom, and your text at like 2px.)

      People can zoom, yes, but it's going to require scrolling which can be distracting even if it's set to "follow pointer" -- and your pointer may be zipping all over (like, going to the toolbar when the users are looking at a row near the bottom of the screen).

      I know it is a challenge to limit yourself to a small canvas -- we all love using a big screen for certain tasks -- but I believe it's going to be easier and make for a more engaging and productive session when you control both the viewport size and the scroll position at all times. One nice thing about Zoom is that it is dynamic, so if you are sharing a window and you realize you need more horizontal real-estate for a certain part of your preso, you can momentarily resize your window for that, and then go back to a more manageable size when done, with no re-sharing needed.

    • LorenPechtela day 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.
    • a day ago
      undefined
    • madhiasa day 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.
    • wmfa day ago
      Yeah, if you create a virtual monitor with low resolution like 1280x720 or 1024x768 people will be able to see what you're sharing.
  • eqvinoxa day ago
    Linux/X11:

      #!/bin/sh
      
      new_disp=:2
      size="1600x900"
      
      unset XDG_SEAT XMODIFIERS GTK_IM_MODULE
      
      set - "$@" \
       -noreset -br -ac -dpi 120 \
       -xkb-layout us \
       -screen "$size" \
       "$new_disp" \
       #
      
      Xephyr "$@" &
      sleep .5
      
      export DISPLAY="$new_disp"
      
      metacity &
      urxvt &
    
    Metacity is kinda deprecated but still my "simple WM" of choice. You may need to set an xauth key for :2. ("xauth add :2 . <32-random-hex-chars>")

    (Script slightly edited & shortened, probably broke something :D)

    • deathanatos12 hours ago
      > Metacity is kinda deprecated

      See the MATE project. It's a continuation of GNOME before GNOME stopped being what made it wonderful. The fork of Metacity, specifically, is named "Marco".

  • garysahota93a day 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
    • dTal16 hours ago
      On Linux, a simple solution for this particular use case is to run a VNC server inside xvfb. You get total isolation between your real desktop, and your "sandbox" - no embarrassing notifications! Of course you can't drag windows around from one to the other, but that's what a sandbox does...
  • mtam17 hours ago
    I have solved this a while back by connecting my ultra wide monitor twice to the same machine and setting up the monitor to side by side mode. From the OS perspective, it works exactly as if I had two monitors but without the physical bevel/edge in the middle. It is perfect, the only downside is that I lose two USB-C ports, instead of one. It also works 100% on Mac and Windows.
    • sbarre17 hours ago
      Huh this is actually awesome, I need to look if my ultrawide supports side by side ...
  • supermatta day 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?

    • sleepybretta day ago
      > Does apple allow distribution of an app that use these "private" APIs?

      In the app store, sure, any other way, what can they going to do about it?

      • supermatta day ago
        They could not notarize it, meaning users have to tackle bypassing the Gatekeeper?
  • ziknarda day ago
    It would be so nice if we could stop destroying the planet by dropping support for legacy Macs. Mine is a 2014 Air and I'll stop using it when it crumbles to dust.
  • 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.
    • a day ago
      undefined
  • jeanregissera day ago
    Nice! I’m currently using https://www.appblit.com/screegle

    It works well and has more features but I like having an open source alternative. Thanks

  • neLrivVKa day ago
    I’ve been using https://github.com/waydabber/BetterDisplay for this purpose. Does something similar and more. Works great!
    • ilyagra day ago
      I know it can create a dummy display, but can it create a window on the real display showing the contents of the virtual display?

      That seems to be the flagship feature of DeskPad.

      • Aaron2222a day ago
        Yes. It can also do windowed mirrors of real displays. That being said, BetterDisplay is $19 USD and crams in a ton of functionality, so for those who just want a single virtual screen for screen sharing (and don't need/want anything else), DeskPad is probably the better option due to its simplicity and being free. But yeah, if you want something more advanced, BetterDisplay is great.
        • ilyagr6 hours ago
          Good to know, thanks!
    • blsva day ago
      Which feature do you use? Would like to try it as well.
      • __mharrison__a day ago
        I have a big comment around my usage of BetterDisplay in another thread.
    • mellosoulsa day 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.

  • mmastraca day 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.

  • savrajsingha day 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"
  • jameslka day 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.
    • doubleorsevena day 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.
  • shinycode16 hours ago
    Amazing tool ! I use gather.town at work because everyone works remotely and we all share our screens every day. I have multiple 4K screens and altough Gather let us zoom in, having a dedicated screen for sharing with the proper resolution is a blessing (for my co-workers) because everything is too small for them and changing resolution multiple times per day is painful. Thank you so much !
  • IronWolvea day ago
    I do this in a win VM, then I just share the VM window, and I just resize it to 1028x768. Or remote desktop into a VM, and share remote desktop.

    Works great for vendors/techs to work on upgrades, I can keep working.

    Also allows me to alt tab or minimize and not steal the mouse focus, and they cant see my screen.

  • oneeyedpigeon21 hours ago
    I had to laugh at:

    > so macOS will take care of properly arranging your windows to their previous configuration.

    That's a definition of "properly" that I'm not familiar with.

  • thomasjva day ago
    Just don't drag the DeskPad window to the virtual monitor
    • badmintonbaseba21 hours ago
      Unless you happen to be presenting on how reference counting can leak with circular references.
  • nashashmia day ago
    Windows has a similar tool. But it’s two steps.

    1. Set up a new virtual monitor (see https://github.com/itsmikethetech/Virtual-Display-Driver)

    2. See virtual monitor using google chrome desktop.

  • benjonesutaha day ago
    Here is a related project I use to share selected content (usually single windows and my iPad) on a projector while teaching: https://github.com/benjones/presenterMode/
  • wenbert21 hours ago
    It's not mentioned here yet, but since this provides some kind of virtual display, you can use this with https://deskreen.com/ - if you have an tablet that does not support sidecar then this is a viable option for an extended display. Setup is a bit of a hassle but it works.
  • spaceisballera day ago
    I like using FancyZones which is in the Microsoft PowerToys suite. That way you can snap things to a 1080p resolution part of your ultrawide screen. My other simple option is just open the laptop screen which is 1080p
  • imzadia day ago
    I need this. I have a 49" monitor and sharing the screen is such a pita
    • al_borlanda day ago
      I have a 43” and keep my laptop screen open for when I need to share my screen. The issue is when I have to share code, because my font is huge in my editor. I could scale up and down I guess, but I really don’t like messing with stuff once I have it how I like it.

      More and more I’ve gotten lazy and share my main screen. My editor is big enough for people to see, but browsers are an issue. I have less of an issue zooming those as needed.

  • pushreplya day ago
    Thank you! finally I don't have to unplug my main monitor to share with the right resolution
  • madman2ka day 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.
    • albert_ea day ago
      This is an excellent use case that I also often felt the need for.

      You can remove all the YT clutter this way, have all the controls and keyboard shortcuts, and extensions like Video Speed Controller still functional while precisely controlling the position and size of the video. Would be great for following long lectures and tutorials.

      any good solution for this for a Windows machine?

      • nikeeea day ago
        I use the pip functionality of Firefox for that. It works on every html video and ironically, you can make it full screen.
      • spaceywillya day ago
        I use the “maximize video” chrome extension which may work for you. You can click on any video player and it will make that take up the whole browser window size. So then the video size == the browser window size. I use it to panel multiple videos around my screen (mostly for watching multiple NFL games at the same time).

        I also use Better Touch Tool which supports keyboard shortcuts for arranging windows, I believe there’s a similar tool for windows. So for example if I want 4 equal sized windows (in each quadrant of the monitor) I can do it easily with keyboard shortcuts.

  • djbusbya day ago
    Lots of posts on everyone's unique method; I'll add mine.

    I'm on Xfce (X) with three monitors. When I share I can pick just the right-most. Shares everything in that panel. Just need to be careful what is on 3. Then, I zoom in the app (browser, VCCode) for viewers.

    But I like this idea of a virtual, so I don't accidentally leak a window I shouldn't.

  • jrm4a day ago
    Many have probably considered this, but just in case not, I solved this issue MANY years ago by just using virtual machines.
  • ekinertaca day 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.
  • shmoogya day 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.
  • oliviergg20 hours ago
    A great solution, but a huge headache: a window in a screen that captures the mouse when you go to the edge of the screen. I wasn't ready for that.
  • The main benefit for me with this is being able to have a separate space where I can share content when I'm on my laptop. When I'm doing so in a conference room, this is exactly where I won't have my two displays. Great stuff.
  • valunorda day ago
    Great tool I think this is heads and shoulders above other options, including Projectors from OBS since it allows me to control the ecosystem I'm sharing very tightly and cleanly. Thank you!
  • Very nice idea! It would be nice to be able to do the same on Linux and/or Windows, too!
    • bitbanga day ago
      This has been possible on Linux (Wayland + pipewire) for a couple years now.
      • eqvinoxa day ago
        It has been possible on Linux for way longer than that, Xnest dates back to when it was still XFree86 rather than Xorg. Quick googling has Xnest and Xephyr mentioned in 2012 changelogs (X11R7.7), but those aren't even "creation" changelogs. (I can't easily dig up when they were created…)
  • jbverschoor15 hours ago
    I bought an LG monitor as it has "side-by-side" split screen, but of course, it doesn't work.

    Just let me config my screen in sections at the hardware or driver level, and accept them as different monitors

    • glitchc15 hours ago
      This is a bad idea. You'll end up stuck in driver hell. Screen-splitting is best done at an OS/app level.
      • jbverschoor11 hours ago
        Doesn’t work the way I want it to work.
  • I wonder if something like this could be done on Linux with xorg hackery (probably involving xvfb?). Definitely seems handy.
    • eqvinoxa day ago
      You can just start Xephyr, it gives you an X server in a window. Needs a few lines of setup around it to get a window manager or desktop session on that window.
      • deathanatos12 hours ago
        Nested X sessions aren't quite the same as TFA's tool; you wouldn't be able, I don't think, to drag a window from one to the other. You'd need to restart a copy of anything you want to present in the nested X session.

        It could "work" in the same vein, but the UX isn't as nice as what TFA's tool is, I think.

      • badmintonbaseba21 hours ago
        Is it possible for that setup to show up as a virtual display on your main WM/DE, so you just extend to it, or does it need to run its own, separate instance? Can you drag a window from your main DE to the virtual display?
        • eqvinox18 hours ago
          With Xephyr, it's a separate instance per se. I've never tried attaching it to an existing session; this is total half-knowledge but it might have been possible with the old Xinerama protocol (which has been replaced with Xrandr). With the move to Wayland, it's all a bit of a moot point either way...

          (You can absolutely use Xephyr on a Wayland session of course, since the latter is compatible with X11 clients. But the virtual display Xephyr provides is X11.)

          • yjftsjthsd-h16 hours ago
            Many Wayland compositors can just be launched nested with no extra steps, which is approximately the same as Xephyr.
            • eqvinox16 hours ago
              I assume that approach has the same limitations as Xephyr too? I.e. independent session, need to decide upfront which to use when launching things?
              • yjftsjthsd-h16 hours ago
                AFAIK, yeah. It really is almost exactly like Xephyr, just that you don't launch a window manager into the new X server because the compositor is the display server.
  • leptonsa day 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.
    • xahrepapa day 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.

  • lee-rhapsodya day ago
    I just adjust my 4K monitor to be 1920x1080 when I need to screenshare.
    • shinycode19 hours ago
      I hate to do this, I have multiple columns in my IDE thanks to 4K and it’s a nightmare in 1920x1080
  • a day ago
    undefined
  • evanjrowleya day ago
    This is very useful, thank you.
  • swijcka day ago
    Having had to order whiteboards to airbnbs for offsites, yes this is cool!
  • speasea day ago
    Cool! I usually have to share window-by-window, this may come in handy.
  • mcphagea day ago
    As someone with an ultrawide monitor, this seems like a really neat solution. Thanks for sharing it!
  • sandosa day ago
    This has to have been made for MS teams, right? It is unusable if youre screen is too large!
  • delusionala day 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.
    • sadjada day ago
      On Linux, you can try Xephyr (https://www.freedesktop.org/wiki/Software/Xephyr/, https://wiki.archlinux.org/title/Xephyr). It's not as nice as DeskPad, but you can basically achieve the same thing.
      • arjvika day ago
        Xephyr runs a whole new X server - it's not as easy to drag and drop an application into the nested server, it has to be launched with DISPLAY=:1.
    • nixosbestosa day 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.
  • YQX819 hours ago
    Noon.
  • trabant0021 hours ago
    A bit off-topic but the number of IT workers still using small 1080p monitors in 2024 is absolutely shocking to me.

    If you are one of the "I don't want a monitor that is too big" people: a larger (30+ inch diagonal) monitor allows you to place it further from your eyes which is the number one eye health and comfort factor. So the relative size of the display does not change, you won't have to move your head to see all of it. And you can scale up your display to >1 factor so the text won't be small either for hidpi displays. There's absolutely no downside to having a large diagonal large dpi display, aside from needing a wider desk if you have a very narrow one now.

    • yjftsjthsd-h15 hours ago
      So you want me to go spend money on a fancy new monitor... because by having a big enough desk and with a lot of tweaking, I can negate the extra pixels and get back to what I have now? (A lot of tweaking also includes having to jump through hoops when doing screen shares)
    • oneeyedpigeon21 hours ago
      > aside from needing a wider desk

      And possibly a deeper one. My 24" is pushed as far back as my desk will allow and a bigger monitor would be too close to me for comfort. At least it's not 1080p, although at 11 years old, I'll be looking to upgrade it fairly soon.

  • a day ago
    undefined
  • jeanlucasa day ago
    So neat!
  • transfirea day 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.

    • rcarmoa day ago
      I just went to Preferences and set the resolution of the virtual display to 1920x1080.
      • transfirea day ago
        But doesn’t that affect ALL windows?
        • rcarmo16 hours ago
          Yes, and? You only need to move the window you want to share to that, and at that resolution, without retina, things are pretty readable.
    • intulla day ago
      I like the idea! Rooting for whoever in the universe working on it! Meanwhile, I think you could actually "mimic" this by using OBS as a virtual camera and use multiple layers to selectively share windows. You can set an output video size, and scale different layers/windows individually.