Skip to content

Screenshot system#547

Open
dasafe wants to merge 6 commits into
Detanup01:devfrom
dasafe:screenshot-system
Open

Screenshot system#547
dasafe wants to merge 6 commits into
Detanup01:devfrom
dasafe:screenshot-system

Conversation

@dasafe

@dasafe dasafe commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

1. Screenshot hotkey — Press F12 to take a screenshot. The game window is captured before the overlay renders, then saved as PNG. The hotkey uses rising-edge detection with a 1-second cooldown to avoid accidental duplicates.

2. Screenshot gallery — Browse all screenshots from the overlay main menu. Thumbnails load lazily, sorted by date. Click a thumbnail to open a preview with Prev/Next navigation, Pin, Crop, and Delete buttons. Multi-select works with Shift (range) and Ctrl (toggle). Deleting removes the file and any associated metadata.

3. Pinned screenshots — Pin any screenshot to create a floating window. Drag, resize, and adjust opacity while the overlay is open. When the overlay closes, pinned windows become click-through so they don't block your game. Close pins individually with the X button or all at once from the gallery.

4. Crop tool — Crop a screenshot before pinning it from the preview, or crop an existing pinned screenshot.

5. Settings:

  • [overlay::hotkeys] → screenshot_combo — hotkey to take a screenshot (default: f12)
  • [overlay::appearance] → Notification_Duration_Screenshot — notification duration in seconds (default: 1.0)

@ndiruhniu

ndiruhniu commented Jun 14, 2026

Copy link
Copy Markdown

Do we really need this? Anyone can just press Print Screen.

Don't you think that's too much for a simple overlay - I mean, now we have an entire gallery and we can crop images right in it, wtf? Weren't you the one who wrote recently:

the overlay is just a utility that you tab into for 5 seconds. We don't need embedded icon fonts, background effects, or animations.

The overlay should be Lightweight, Unobtrusive, Functional-first and Consistent.

@dasafe

dasafe commented Jun 14, 2026

Copy link
Copy Markdown
Contributor Author

I think that's a fair question, but I don't see this as comparable to icon fonts, animations, or visual effects.

Print Screen captures the entire desktop and is external to the overlay. This feature is specifically about workflow integration: capturing the game window, organizing screenshots, quickly pinning reference images, and keeping everything accessible without leaving the game.

They support the core use case of taking and using screenshots, which was already planned for implementation by others before I did. A screenshot hotkey by itself would immediately create a file-management problem, which is why the gallery exists. Likewise, pinning and cropping are extensions of the same workflow rather than unrelated features.

This PR is intended to add utility around screenshots.

That said, if the consensus is that the screenshot hotkey is useful but the gallery/pinning/cropping features are too much, I'm open to discussing scope and splitting functionality into separate PRs.

@ndiruhniu

Copy link
Copy Markdown

Print Screen captures the entire desktop and is external to the overlay. This feature is specifically about workflow integration: capturing the game window, organizing screenshots, quickly pinning reference images, and keeping everything accessible without leaving the game.

They support the core use case of taking and using screenshots, which was already planned for implementation by others before I did. A screenshot hotkey by itself would immediately create a file-management problem, which is why the gallery exists. Likewise, pinning and cropping are extensions of the same workflow rather than unrelated features.

Don't you think none of this should be tied to the overlay? Users should handle screenshots themselves and use programs designed for that, in a pinch they can use Alt+PrintScreen (it captures the active window).

In short, I think this is unnecessary, redundant functionality. Curious what others will say about this.

@ndiruhniu

Copy link
Copy Markdown

I checked the screenshot feature. It looks better than I expected, but a bug appeared right away — there's a color issue. I don't know how the screenshot is taken, but in many games the colors are completely messed up:

Pressing F12 (your pull request):
test

Pressing Print Screen (system):
test1

@ndiruhniu

Copy link
Copy Markdown

And a small request: could you make it so the screenshots folder isn't created needlessly? At the moment it appears even if no screenshots have been taken.

@dasafe

dasafe commented Jun 14, 2026

Copy link
Copy Markdown
Contributor Author

I checked the screenshot feature. It looks better than I expected, but a bug appeared right away — there's a color issue. I don't know how the screenshot is taken, but in many games the colors are completely messed up:

Pressing F12 (your pull request): test

Pressing Print Screen (system): test1

I guess that the game's backbuffer writes semi-transparent alpha values which were being preserved in the saved 4-channel (RGBA) PNG and it's making the screenshots look washed out or greyed-out. I've forced the screenshot's alpha channel to 255 (fully opaque) during the format conversion.

None of my games have that problem, so you'll have to test it.

@ndiruhniu

Copy link
Copy Markdown

Fixed

- Format: %a_%b_%d_%H_%M_%S_%Y -> %Y-%m-%d_%H-%M-%S (sorts correctly, locale-independent)
- Replace 'Refresh' button with 'Open Folder' in gallery (ShellExecuteW/xdg-open/open)
@qingchunnh

Copy link
Copy Markdown
Contributor

This is just a personal suggestion
Could you add an option to disable this feature? I use the NVIDIA app for screenshots, and I don't want the screenshot feature to be always on.

@NicknineTheEagle

Copy link
Copy Markdown
Collaborator

This is just a personal suggestion Could you add an option to disable this feature? I use the NVIDIA app for screenshots, and I don't want the screenshot feature to be always on.

I do believe you can just set screenshot_combo parameter to an empty value.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants