What's new
Version 1.0.14
WebP saving actually works now, and the save pipeline and Options dialog get a few rough edges smoothed off.
- Saving as
WEBP now produces a real file on Windows. The format was offered in Options before, but the image plugin it needs wasn't in the download, so a WebP capture quietly wrote nothing; that plugin is now bundled and WebP screenshots save correctly. - Options only offers formats it can actually write: any image format your build has no encoder for is now greyed out with a tooltip explaining why, instead of appearing to work and then producing no file.
- The status no longer sticks on “processing”. If post-capture optimisation couldn't run, the state used to hang there; the screenshot still saved, but the app looked stuck. It now settles correctly whether or not optimisation runs.
- An empty or out-of-range format or naming value in the settings now falls back to a sensible default, instead of leaving the Options combo blank.
- Cancelling “Save as” no longer starts the optimiser on a file that was never written — backing out of the dialog simply stops.
- Housekeeping: configuring a hotkey no longer prints debug lines to the console at launch.
Version 1.0.13
A small fixes release from an external review of the 1.0.12 source. Nothing here changes how DuskScreen is used.
- Screenshot numbering no longer skips ahead: a file whose name happened to wrap around the naming prefix (something like
2screenshot.5.png beside your normal screenshot.3.png) could make DuskScreen read a number that was never there and jump the next capture far past where it should be — in that example, 26 instead of 4. Numbering now matches names where it actually places them, and what remains has to be a number and nothing else. Most folders were never affected; it took digits on both sides of the prefix to trigger. - The window now shows when a capture is in progress: the title and tray tooltip used to update only after a capture finished, so the “processing” state never appeared. It does now — most visibly while the window picker waits for you to choose a window.
- Cancelling “Save as” no longer starts the optimiser: with PNG optimisation on, dismissing the dialog used to run optipng against a file the cancelled save never created (harmless, but pointless). Cancelling now simply stops.
- Housekeeping: several deprecated Qt calls in the Windows-specific code were replaced, and a flood of compiler warnings in the hotkey key map was silenced — the Windows build now produces one warning instead of roughly four hundred. No behaviour changes.
Version 1.0.12
Two changes to what happens after you press the shortcut: no more pause while the file is written, and much smaller JPEGs.
- DuskScreen used to stop responding while it encoded and wrote the image — noticeable on a large or multi-monitor desktop, and worse at higher resolution. That now happens in the background, so the app stays responsive and captures taken in quick succession no longer queue up behind each other.
- The default JPEG quality was 100, a poor setting for screenshots: it spends a lot of space suppressing artifacts that are already invisible one step down. New screenshots use quality 90 instead — roughly a third of the file size, and half the time to write. Checked by magnifying rendered text 4× against quality 100: indistinguishable. This only affects new installations; if you have ever touched the Quality slider your setting is left alone, and anyone who wants the old behaviour can set it back to 100.
Version 1.0.11
One visible fix in the window picker; the rest is internal work with no effect on how DuskScreen behaves.
- When you drag the window picker over a window, a long title used to be cut short with nothing to show it had been shortened — you couldn't tell whether you were seeing the whole name or just the start, which matters when several windows begin with the same words. Long titles now end in
..., and more of the title is read before it is shortened, at a consistent point. - Under the hood: the single-instance component (the part that hands a second launch's command line to the running copy) was an old modified copy of a third-party library; it has been replaced with the current upstream release, with DuskScreen's own tweaks moved into DuskScreen's code. Passing
--screen, --area and --quit to a running instance works exactly as before. Also: a dead function parameter removed, a static-analysis configuration added, and a batch of small modernisations to code the Qt 6 port left behind.
Version 1.0.10
Performance work on the two places DuskScreen actually does continuous work, plus internal cleanup.
- Dragging an area selection used to redraw the entire desktop on every mouse move — tens of megabytes per frame on a large or multi-monitor display, for a change confined to the selection edges. It now redraws only the part that changed. Most noticeable at high resolution.
- The Options window no longer stalls while typing in the Filename field: it used to re-scan the whole screenshots folder after every keystroke (to work out the preview's next number). It now waits for a brief pause and updates once.
- Internal cleanup: a large amount of unreachable code removed, including Qt 6-port leftovers that pretended to drive the Windows taskbar progress indicator (and a latent crash they carried); the screenshot-completion path is also simplified.
Version 1.0.9
Mostly area-capture fixes, plus a few smaller ones.
- The area accept/reject (✓ / ✗) buttons are now laid out in a compact box next to the selection, instead of floating at the wrong size across the screen with the box left empty.
- Pressing
F5 to refresh the frozen desktop no longer locks the interface for a fifth of a second — and the refresh is more reliable (the overlay itself could previously end up in the refreshed image). - Pressing a capture hotkey while the area selector is open no longer screenshots the selector or opens a second one; capture requests are ignored during selection.
- Screenshot numbering: the “ (2)” suffix is now the first free number, instead of being derived from unrelated similarly-named files (a folder with
shot.7.png used to jump to shot. (8).png). - The main window is no longer left in the wrong state after a capture when the “hide while capturing” setting is changed mid-session. Also fixed: a small memory leak on each second launch, and a failed save being reported twice internally.
Version 1.0.8
The largest bug-fix release so far — fifteen issues, including a crash and two security fixes.
- Window captures leaked a Windows graphics handle each; over a long session that could make captures and DuskScreen's own windows stop drawing until restart.
- Punctuation hotkeys (e.g.
Ctrl+-, Ctrl+/) never fired — they registered the numeric-keypad key instead of the one you pressed. - The sound cue never played unless DuskScreen was launched from its own folder; now it works from a shortcut or at login.
- “Run at startup” wrote an unquoted program path on Windows (an unsafe-path hazard); now quoted. It also never worked on Linux — fixed.
--quit started DuskScreen instead of quitting when nothing was running.- PNG screenshots are ~12% smaller (compression had been effectively disabled), area selections are no longer a pixel short at 125% / 150% scaling, and “Save as” no longer produces
screenshot.1.png.png. - Also: a window-picker crash on an uncovered monitor coordinate, a corrupted-settings
%1 filename, unreported folder-creation failures, several internal leaks, and (Linux) correct application-icon parsing in the picker.
Version 1.0.7
The update check works again, and the window picker is more reliable.
- The built-in update check had been quietly broken — whether it ran depended on the day of the year it last ran, so many installs stopped checking entirely. It now reads this project's GitHub releases directly (no separate update server), prompts with the version and a link when a newer one exists, and lets you skip a version or turn checks off. Nothing is downloaded for you.
- Window picker: it could capture a different window than the one you released over, or occasionally the whole desktop instead of a window (mostly affected the Linux build).
- Under the hood, the update check no longer leaks memory each run and can't hang when the network is down.
Existing installs on 1.0.6 or earlier may never prompt about this release, because the old check was broken. From 1.0.7 on it works normally.
Version 1.0.6
Four bug fixes — one was quietly breaking captures over long sessions.
- Window captures (Active Window / Pick Window) leaked a Windows graphics handle each; over a long session that could make captures and DuskScreen's own windows stop drawing until restart. Fixed — the count no longer climbs.
- Two capture hotkeys pressed within ~1/3 second could make the second use the first's mode, and could leave DuskScreen stuck hiding itself twice a second, taking no screenshots until restarted. Each capture now keeps its own settings.
- “Save as” no longer produces
screenshot.1.png.png. - Area captures are no longer a pixel short on scaled displays (125% / 150%).
Version 1.0.5
Failed screenshots are now reported instead of silently swallowed.
- A capture that couldn't be taken (target window closed mid-grab, the system refused the request) was internally treated as if you had cancelled it, so no error appeared — the screenshot just never arrived. Failures now show the error message; deliberately cancelling stays silent. If screenshots have been working for you, 1.0.5 looks identical to 1.0.4.
- Groundwork only: the source tree now builds and runs on Linux (Qt 5-only APIs ported to Qt 6, no crash on Wayland). This is not Linux support and there is no Linux download — capture, hotkeys and the window picker don't yet work there. Windows is unaffected.
Version 1.0.4
Maintenance release — two small correctness fixes.
- Fixed an out-of-bounds read in the hotkey library's key-sequence lookup (latent; not reachable from DuskScreen itself).
- The area-mode help banner's height is now rounded rather than truncated — cosmetic, up to 1 pixel.
Nothing else changed. If 1.0.3 is working for you, there is no urgency to update.
Version 1.0.3
The mouse pointer is no longer included in area captures.
- Area mode froze the pointer into the shot at the position it had when the capture was triggered, not where you selected. Whole-screen and window captures are unchanged.
Version 1.0.2
Bug-fix release.
- Fixed the black square drawn around the mouse cursor in captures.
- Fixed a handle leak in the cursor capture path.
Version 1.0.1
Maintenance release.
- Fixed two memory leaks (the Options-dialog menu and the tray menu).
Version 1.0.0
First DuskScreen release — a modern Qt 6 fork of Lightscreen.
- Whole-screen, area, and window capture — straight to disk.
- Global hotkeys and system-tray operation.
- PNG / JPG / BMP, optional cursor capture and optipng.
Home