OLEDShift logo

OLEDShift Marko19907

Use this command to install OLEDShift:
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

Rust Cargo build

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

Limitations

Versions
1.1.2
Website