Display Hot Keys - Instantly apply display settings with hot keys!
-
jon-mil-92
- Posts: 20
- Joined: 14 May 2024, 07:28
- Contact:
Re: Display Hot Keys - Instantly apply display settings with hot keys!
It's been a while since I posted here! Display Hot Keys has come a long way. I updated the OP. To see changes, visit the "Releases" page on GitHub: https://github.com/jon-mil-92/DisplayHotKeys/releases
Creator / developer of Display Hot Keys: https://jon-mil-92.github.io/DisplayHotKeys/
Instantly apply display settings with user-defined hot keys!
Instantly apply display settings with user-defined hot keys!
-
jon-mil-92
- Posts: 20
- Joined: 14 May 2024, 07:28
- Contact:
Re: Display Hot Keys - Instantly apply display settings with hot keys!
A new release is up!
Creator / developer of Display Hot Keys: https://jon-mil-92.github.io/DisplayHotKeys/
Instantly apply display settings with user-defined hot keys!
Instantly apply display settings with user-defined hot keys!
- Chief Blur Buster
- Site Admin
- Posts: 12302
- Joined: 05 Dec 2013, 15:44
- Location: Toronto / Hamilton, Ontario, Canada
- Contact:
Re: Display Hot Keys - Instantly apply display settings with hot keys!
Thank you for continuing to actively maintain this utility!
I admit I haven't tried it recently, but you might have added it already: A hot key that displays the current mode on all displays simultaneously as a temporary overlay popup (monitor number, resolution, refresh rate, bits per pixel, hdr on/off, etc). Make the resolution and refresh rate the biggest text.
Basically like a temporary OSD status message that appears on all displays simultaneously. Whether as big transparent text (like an onscreen menu), or a small dialog at the corner of the monitor.
Sometimes I lose track of which is which, especially when unplugging/plugging a new monitor automatically changes the refresh rate of all displays, as Windows just simply loves to do. Gaming laptop lid opens/close is another wrinkle. The misfortune of everybody who plays with high-Hz multimonitor.
I admit I haven't tried it recently, but you might have added it already: A hot key that displays the current mode on all displays simultaneously as a temporary overlay popup (monitor number, resolution, refresh rate, bits per pixel, hdr on/off, etc). Make the resolution and refresh rate the biggest text.
Basically like a temporary OSD status message that appears on all displays simultaneously. Whether as big transparent text (like an onscreen menu), or a small dialog at the corner of the monitor.
Sometimes I lose track of which is which, especially when unplugging/plugging a new monitor automatically changes the refresh rate of all displays, as Windows just simply loves to do. Gaming laptop lid opens/close is another wrinkle. The misfortune of everybody who plays with high-Hz multimonitor.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on: BlueSky | Twitter | Facebook
Forum Rules wrote: 1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
2. Please report rule violations If you see a post that violates forum rules, then report the post.
3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!
-
jon-mil-92
- Posts: 20
- Joined: 14 May 2024, 07:28
- Contact:
Re: Display Hot Keys - Instantly apply display settings with hot keys!
That's a good idea! I can look into this. I think I'm going to be creating some sort of additional settings menu at some point, and that could be an option in there.Chief Blur Buster wrote: ↑21 Aug 2026, 02:06Thank you for continuing to actively maintain this utility!
I admit I haven't tried it recently, but you might have added it already: A hot key that displays the current mode on all displays simultaneously as a temporary overlay popup (monitor number, resolution, refresh rate, bits per pixel, hdr on/off, etc). Make the resolution and refresh rate the biggest text.
Basically like a temporary OSD status message that appears on all displays simultaneously. Whether as big transparent text (like an onscreen menu), or a small dialog at the corner of the monitor.
Sometimes I lose track of which is which, especially when unplugging/plugging a new monitor automatically changes the refresh rate of all displays, as Windows just simply loves to do. Gaming laptop lid opens/close is another wrinkle. The misfortune of everybody who plays with high-Hz multimonitor.
Creator / developer of Display Hot Keys: https://jon-mil-92.github.io/DisplayHotKeys/
Instantly apply display settings with user-defined hot keys!
Instantly apply display settings with user-defined hot keys!
-
bobbie424242
- Posts: 15
- Joined: 08 Dec 2025, 10:34
Re: Display Hot Keys - Instantly apply display settings with hot keys!
As a Java developer, I am curious to know why this project uses JNI rather than JNA for native API calls ?
Great to see Swing + FlatLAF put to good use in 2026 !
Great to see Swing + FlatLAF put to good use in 2026 !
-
jon-mil-92
- Posts: 20
- Joined: 14 May 2024, 07:28
- Contact:
Re: Display Hot Keys - Instantly apply display settings with hot keys!
Hey thanks! There are actually many reasons I did not, and could not, use JNA for this project. I'll go ahead and list some of them:bobbie424242 wrote: ↑23 Aug 2026, 08:50As a Java developer, I am curious to know why this project uses JNI rather than JNA for native API calls ?
Great to see Swing + FlatLAF put to good use in 2026 !
- Some of the APIs that I needed to use are not exposed with JNA, such as the DPI scaling API and the DXGI API.
- I have logic for retaining the user's intended display arrangement when changing display settings (Windows does not do this), and this is better suited in native code.
- I have native threads calling back to the Java code, and this works better with JNI.
- I need this implementation to be very performant because it is latency-sensitive, and JNA adds overhead.
Creator / developer of Display Hot Keys: https://jon-mil-92.github.io/DisplayHotKeys/
Instantly apply display settings with user-defined hot keys!
Instantly apply display settings with user-defined hot keys!
-
bobbie424242
- Posts: 15
- Joined: 08 Dec 2025, 10:34
Re: Display Hot Keys - Instantly apply display settings with hot keys!
Thank you for the elaborate explanation.
-
yulorien
- Posts: 4
- Joined: 16 Sep 2026, 05:37
Re: Display Hot Keys - Instantly apply display settings with hot keys!
On the all-displays mode overlay — one thing worth getting right if you build it: EnumDisplaySettings hands you dmDisplayFrequency as a DWORD, so it arrives already rounded to an integer. 59.94 comes back as 59 or 60 depending on the driver, never as 59.94, and 119.88 lands on 119 or 120. Those NTSC-fractional modes are exactly the ones people lose track of, so an OSD built on DEVMODE would stay quiet about the case it is most wanted for.
QueryDisplayConfig avoids that. DISPLAYCONFIG_PATH_TARGET_INFO.refreshRate is a DISPLAYCONFIG_RATIONAL, so 60000/1001 and 60/1 stay distinct instead of both collapsing to 60. Cheap to render as either the exact fraction or a two-decimal figure, and it is already per-target, which fits the all-monitors-at-once layout being asked for.
One caveat for the UI wording: that is still the nominal mode, not measured output. The panel's real rate drifts off the mode's rational, which is the reason Blur Busters' own RefreshRateCalculator estimates Hz from VSYNC timestamps rather than asking the OS. For a "which monitor am I looking at" overlay the nominal rational is the right call — just worth not letting it read as a measurement.
QueryDisplayConfig avoids that. DISPLAYCONFIG_PATH_TARGET_INFO.refreshRate is a DISPLAYCONFIG_RATIONAL, so 60000/1001 and 60/1 stay distinct instead of both collapsing to 60. Cheap to render as either the exact fraction or a two-decimal figure, and it is already per-target, which fits the all-monitors-at-once layout being asked for.
One caveat for the UI wording: that is still the nominal mode, not measured output. The panel's real rate drifts off the mode's rational, which is the reason Blur Busters' own RefreshRateCalculator estimates Hz from VSYNC timestamps rather than asking the OS. For a "which monitor am I looking at" overlay the nominal rational is the right call — just worth not letting it read as a measurement.
-
jon-mil-92
- Posts: 20
- Joined: 14 May 2024, 07:28
- Contact:
Re: Display Hot Keys - Instantly apply display settings with hot keys!
Hey! I was able to implement this. It's similar to what you wanted, but ultimately how I would like it to be for the initial implementation. I will likely tweak this for future releases based on feedback. I'll also make the display info overlay configurable so the timeout, location, etc. can be changed.Chief Blur Buster wrote: ↑21 Aug 2026, 02:06Thank you for continuing to actively maintain this utility!
I admit I haven't tried it recently, but you might have added it already: A hot key that displays the current mode on all displays simultaneously as a temporary overlay popup (monitor number, resolution, refresh rate, bits per pixel, hdr on/off, etc). Make the resolution and refresh rate the biggest text.
Basically like a temporary OSD status message that appears on all displays simultaneously. Whether as big transparent text (like an onscreen menu), or a small dialog at the corner of the monitor.
Sometimes I lose track of which is which, especially when unplugging/plugging a new monitor automatically changes the refresh rate of all displays, as Windows just simply loves to do. Gaming laptop lid opens/close is another wrinkle. The misfortune of everybody who plays with high-Hz multimonitor.
Here are the user release notes for v4.3.0:
This minor release adds a display info overlay, an Additional Settings window, and a Close to Tray option.
New Features
- Added a Display Info Overlay that briefly shows each display's applied resolution, refresh rate, DPI scale, scaling mode, and orientation in its top-right corner, matching the current theme.
- Added an Autoshow Info Overlay option that shows the overlay whenever a hot key slot is applied or the display configuration changes.
- Added a Show Info Overlay hot key that shows the overlay on demand.
- Added an Additional Settings window, opened from the main window or from the new Settings item in the system tray menu.
- Added a Close to Tray option that sends the app to the system tray instead of exiting when its window is closed (requires Minimize to Tray to be enabled).
- Run on Startup and Minimize to Tray are now switches in the Additional Settings window instead of buttons in the main window.
- The DPI Scale column now comes before the Scaling Mode column.
- Hot keys are now shown in an outline that highlights while a new hot key is being recorded.
- The About window has been redesigned into Version, Developer, and Donate sections.
- Confirmation prompts now have centered messages and buttons.
- Notices now use an OK button, and the Run on Startup notice is now centered on the app window.
- The app now also detects refresh rate and scaling mode changes made outside the app.
Creator / developer of Display Hot Keys: https://jon-mil-92.github.io/DisplayHotKeys/
Instantly apply display settings with user-defined hot keys!
Instantly apply display settings with user-defined hot keys!
-
jon-mil-92
- Posts: 20
- Joined: 14 May 2024, 07:28
- Contact:
Re: Display Hot Keys - Instantly apply display settings with hot keys!
Version 4.3.1 Release Notes:
- The DPI Scale drop-down now shows each value as a percentage (such as 150%), and is wider so every value fits at any display scaling.
- The Display Info overlay is now larger, with its settings laid out in aligned columns, the values in bold, and a line separating the display header from its settings.
- The Display Info overlay now shows the DPI scale as a percentage, matching the DPI Scale drop-down.
- The Display Info overlay now stays on screen for 6 seconds instead of 5, giving more time to read it.
Creator / developer of Display Hot Keys: https://jon-mil-92.github.io/DisplayHotKeys/
Instantly apply display settings with user-defined hot keys!
Instantly apply display settings with user-defined hot keys!
