oled_shmoled

Crates.iooled_shmoled
lib.rsoled_shmoled
version0.2.1
sourcesrc
created_at2020-12-11 09:34:00.427045
updated_at2021-11-14 02:42:32.628564
descriptionOLED displays don't have backlights but it'd be nice if we could pretend they do on Linux!
homepagehttps://github.com/NickGeek/oled-shmoled
repositoryhttps://github.com/NickGeek/oled-shmoled.git
max_upload_size
id321796
size61,917
Nick Webster (NickGeek)

documentation

README

OLED Shmoled

OLED displays don't have backlights but it'd be nice if we could pretend they do on Linux!

This program aims to be very light weight and configurable. The easiest way to use it would be to make it run on startup. The only external dependency is xrandr.

Install

You can get an x86_64 Linux (ELF) binary from the releases page.

Alternatively, the program is available on the AUR and on crates.io via cargo install oled_shmoled.

Usage

$ oled_shmoled --help
OLED shmoled 0.1.0
Nick Webster <nick@nick.geek.nz>

USAGE:
    oled_shmoled [OPTIONS] <monitor-ident>

ARGS:
    <monitor-ident>    The xrandr identifier for the display

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
        --base-path <base-path>
            The base path for the backlight files [default: /sys/class/backlight/intel_backlight]

        --current-brightness-file <current-brightness-file>
            The name of the file containing the current backlight state [default: brightness]

        --max-brightness-file <max-brightness-file>
            The name of the file identifying the maximum brightness of the system [default:
            max_brightness]
$ xrandr
Screen 0: minimum 8 x 8, current 4608 x 4752, maximum 32767 x 32767
eDP1 connected primary 3840x2160+266+2592 (normal left inverted right x axis y axis) 340mm x 190mm
# ...etc...
$ oled_shmoled eDP1
Watching /sys/class/backlight/intel_backlight for backlight changes…

The easiest way to use OLED Shmoled is to run that last command at start-up. This can be done by running it in an .xinitrc or a systemd job.

On window managers like i3 you can add the following to your i3 configs to get the brightness keys working:

bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 5
bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 5

Build instructions

$ git clone https://github.com/NickGeek/oled-shmoled oled_shmoled
$ cd oled_shmoled
$ cargo build --release
Commit count: 42

cargo fmt