OLEDShift Marko19907
winget install --id=Marko19907.OLEDShift -e
One of the main ideas behind this program is to be as minimal as possible and to use as little resources as possible so that it can run in the background with minimal impact on the system. It uses less than 2MB of RAM on my system, launch time is nearly instant.
OLEDShift is a system tray utility designed to help preserve OLED displays by automatically moving windows around the screen to prevent burn-in. This tool is particularly useful for users with OLED monitors or devices, as it helps extend the lifespan of their screens without requiring significant system resources.
Key Features:
- Minimal resource usage: Operates with under 2MB of RAM and nearly instant launch time.
- Cross-platform compatibility: Built using Rust with support for both x86_64 and ARM64 architectures.
- Low overhead design: Utilizes the Win32 API for efficient window management and NWG (Native Windows GUI) for a lightweight graphical interface.
Audience & Benefit:
Ideal for users with OLED displays who want to protect their screens from burn-in without impacting system performance. OLEDShift provides an effective way to extend the lifespan of OLED screens through consistent, automated window movement.
OLEDShift can be installed via winget, ensuring easy setup and integration into your workflow.
README
OLEDShift
A small system tray utility that moves around the windows on your screen. It's useful for OLED screens, where you want to move around the windows often to prevent burn-in and extend the lifespan of the display.
One of the main ideas behind this program is to be as minimal as possible and to use as little resources as possible so that it can run in the background with minimal impact on the system. It uses less than 2MB of RAM on my system, launch time is nearly instant.
The Win32 API is used to move the windows and Native Windows GUI (NWG) is used for the GUI as a Rust wrapper around the GUI part of the Win32 API.
Usage
GitHub Releases [Recommended]
You can download the latest release from GitHub Releases. This is the preferred method.
GitHub Actions
The program is built automatically on every push and the executables are uploaded as artifacts, these builds are not guaranteed to be stable or functional, they expire after 90 days, and you might need to be logged in to GitHub to download them.
If you're struggling to find the artifacts here on GitHub, you can download the latest build of the main branch from nightly.link for x86_64 here and for ARM64 here.
One can also fork the repository and run the workflow manually to build the program. None of these options require you to have anything installed on your machine.
Building from source locally
You can build the program from source by running the following command on a Windows machine:
cargo build --release --target x86_64-pc-windows-msvc
or for ARM64:
cargo build --release --target aarch64-pc-windows-msvc
If everything goes well, the executable will be located in the target/release
directory.
Prerequisites
- Rust 1.7.0 or later
- Windows 11 SDK
- MSVC toolchain
Follow the Rust installation guide to install the prerequisites.
Known issues
- The dialog doesn't have an icon
- The dialog also doesn't allow keyboard input
- The ARM64 build was not tested on an actual WOA machine, but it should work