Skip to content

Support automatic panel detection for screenshot tools like ShareX #656

Description

@horhulenko

Is your feature request related to a problem? Please describe.
When taking screenshots of HAL with tools like ShareX, only the entire main window is detected, rather than individual internal panels or views.

Describe the solution you'd like
Allow screenshot tools like ShareX to automatically recognize and snap to individual panels inside HAL so users can capture specific areas with a single click.

Describe alternatives you've considered
Manually drawing and cropping the selection box around a panel every time.

Additional context
Makes documenting and sharing specific views from HAL much faster.

Activity

  1. joern274 commented on Oct 23, 2026

    @joern274
    Contributor

    I strongly advise to dismiss this feature request and will close this issue unless new arguments emerge in the discussion.

    It looks like the request asks for specific interaction/sharing geometry information between Qt Widgets and ShareX. These kind of bridges may exist (e.g. UIA) but only for generic Windows Apps and not under WSL. If we would ever consider explicit screenshot support it must work under Ubuntu (spectacle?!?) as well. Is there anything like a common standard to support screenshot tools on all supported platforms? Not that I’ve heard of it.

    The most simple way to make repeated screenshots from a single widget like View Manager is to undock the widget so it becomes the active window. Personally I use the rectangle selection from spectacle a lot. Once the rectangle is selected all subsequent shots will assume the same geometry, so just pressing the [print] button will do the job.

    I am pretty sure that there will be AI driven screenshot tools in the near future which will identify a region of interest by themselves.

  2. horhulenko commented on Oct 25, 2026

    @horhulenko
    Author

    It looks like the request asks for specific interaction/sharing geometry information between Qt Widgets and ShareX. These kind of bridges may exist (e.g. UIA) but only for generic Windows Apps and not under WSL.

    ShareX doesn't use UIA at all, it just walks the window tree with EnumWindows / EnumChildWindows (source). Dialogs like the grouping content window are top-level windows, so ShareX already finds them everywhere, WSL included. The docked panels are drawn by Qt as "alien" widgets without a window of their own, so there is nothing to find.

    Qt has a switch for exactly that, QT_USE_NATIVE_WINDOWS=1. With a project open, HAL's main window goes from 0 native child windows to 152, and ShareX snaps straight onto the panels.

    Under WSL the switch can't help. Linux ends up with 205 windows, but WSLg hands Windows a single msrdc.exe window per top-level window and nothing inside it. So "not under WSL" is true, and no HAL code will change that, which is why I made HAL run natively on Windows instead (#677).

    The most simple way to make repeated screenshots from a single widget like View Manager is to undock the widget so it becomes the active window. Personally I use the rectangle selection from spectacle a lot. Once the rectangle is selected all subsequent shots will assume the same geometry. so just pressing the [print] button will do the job.

    The issue asks for something that recognizes panels and snaps to them automatically. Undocking by hand and a tool that remembers the last rectangle are both great answers, just to a different question.

    I am pretty sure that there will be AI driven screenshot tools in the near future which will identify a region of interest by themselves.

    Probably. Meanwhile Windows has known where every window is for 40 years, HAL just has to run natively and stop hiding them.

  3. added theissue type on Oct 25, 2026
  4. joern274 commented on Oct 25, 2026

    @joern274
    Contributor

    OK, i might have misunderstood your feature request. So it is not about a convenient way to make docking panel screenshots under all platforms we offer support for but about supporting a feature which in practice only benefits native MS-Windows builds?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussion neededNeed to wait until discussion is resolved

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions