nightshift

A CLI for configuring "Night Shift" on macOS 🌕🌖🌗🌘🌑

This crate also doubles as a Rust library. 🦀

Why?

The "Night Shift" feature on macOS is a convenient, first party alternative to the more feature-rich f.lux®. However, as of now, there is no way to programmatically configure Night Shift (without entering the system preferences GUI).

This nightshift CLI aims to enable such access via a few simple commands. (Or, alternatively, via library access for other Rust tools.)

Installing

Set up Rust/Cargo and install from crates.io by running:

cargo install nightshift

Or clone this repo and install from the local path:

cargo install --path .

Usage

First, make sure you are running macOS Sierra or newer.

Command-Line Interface

Turn Night Shift on (until tomorrow/sunrise):

nightshift on

Turn Night Shift off:

nightshift off

Set color temperature (a number from 0 to 100):

nightshift temp 70

Rust API

In addition to a CLI, nightshift can be pulled-in as a dependency for other Rust crates:

nightshift = "0.0.2"

Here's an example fn that toggles Night Shift off, changes the color temperature preference, and then toggles the feature back on:

```rust extern crate nightshift;

use nightshift::NightShift;

fn main() { let nightshift = NightShift::new(); nightshift.off().unwrap(); nightshift.settemp(70).unwrap(); night_shift.on().unwrap(); } ```

Todo:

Contributing

Thanks To:

License

nightshift is released under the MIT License.