Skip to content

FunctionalHacker/lqsd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LiQuid Screen Dim

A simple utility which dims your screen. It saves the previous brightness too, so you can restore to the point before dimming.

This is useful if you are running a standalone screen locking setup like swayidle/swaylock. Check out my configuration files for an example use case.

Usage

USAGE:
    lqsd [FLAGS] [OPTIONS]

FLAGS:
    -d, --dim            Dims the screen to idle level set in configuration
    -r, --resume         Sets the backlight to the value it was before dimming
        --copy-config    Copies the default config file to $XDG_CONFIG_HOME/lqsd
    -h, --help           Prints help information
    -V, --version        Prints version information

OPTIONS:
    --config <FILE>      Sets a custom config file

The configuration file resides at ~/.config/lqsd/config.toml. To copy the default configuration file in place, you can use --copy-config.

In the configuration file you can set the following values:

Key Explanation Default

resume_file

The location where the previous brightness is saved

/tmp/lqsd-resume

idle_level

The minimum brightness that will be dimmed to. Can be a value between 0-100

0

dim_speed

This sets the "sleep time" between each backlight command. It’s in milliseconds

50

resume_speed

Same as dim_speed, but for the resume operation -r

25

Installation

Dependencies

The only external dependency is light.

Building

Clone this repository and run cargo build --release inside the project to compile a static binary.

Arch Linux

So far, I have only packaged this for Arch Linux. Packages are in AUR.

To install it, use your favorite AUR helper, yay for example:

yay -S lqsd

Select if you want to [1] build from source [2] install a precompiled binary:

:: There are 2 providers available for lqsd:
:: Repository AUR
    1) lqsd 2) lqsd-bin

Enter a number (default=1):

Releases

Release notes and binaries can be found either in My Git server or GitHub.

Why Rust?

I wanted start a small project to learn Rust. Before lqsd, I was using this script and figured, why not rewrite it in Rust.

Mirrors

This repository lives at My Git server, but it is also mirrored to GitHub and GitLab