Code Monkey home page Code Monkey logo

blugon's Introduction

blugon

A simple and configurable Blue Light Filter for X

AUR License

blugon is a simple and fast Blue Light Filter, that is highly configurable and provides a command line interface. The program can be run just once or as a daemon (manually or via systemd). There are several different backends available. blugon calculates the screen color from your local time and configuration.

blugon-comparison blugon-simulation

Comparison to other Blue Light Filters

blugon's main feature is the ability to control gamma values or color temperature at specific times of day.

blugon Redshift f.lux
written in Python C closed source
interface CLI CLI or GUI GUI
timing configuration user defined day and night day and night
gamma configuration RGB values or temperature temperature temperature
brightness configuration none none none

Usage

You can start blugon from the command line:

blugon

To run it in the background just use:

(blugon&)         # to start
killall blugon    # to stop

To run blugon with systemd you can enable the service as user:

systemctl --user enable blugon.service

You can use the current-mode to manually control color temperature (with keybinds for example; doesn't need daemon):

blugon --setcurrent="+600"    # for more blue
blugon --setcurrent="-600"    # for more red

For further help you can use the -h flag or the more intensive man-page:

man blugon

Options:

  • -o or --once to apply gamma values of the current time
  • -S or --setcurrent to set or change the current color temperature
  • -s or --simulation to quickly simulate the configuration for the whole day
  • -f or --fade to fade in screen color on startup
  • -i [secs] or --interval=[secs] to set time between refreshes
  • -c [path] or --configdir=[path] to specify configuration directory
  • -b [backend] or --backend=[backend] to choose the backend for communication with X

available backends:

  • xgamma - most compatible, requires optional dependency
  • scg - best result
  • tty - to run blugon on your TTY

Configuration

Examples for configurations can be found in /usr/share/blugon/configs/.

To use the default configuration as a template you can use:

mkdir -p ~/.config/blugon/
cp /usr/share/blugon/configs/default/gamma ~/.config/blugon/gamma
blugon --printconfig > ~/.config/blugon/config

Dependencies

  • python
  • libx11
  • libxrandr

optional:

  • xorg-xgamma as backend

Install

ArchLinux

There is an AUR-Package.

Nix

You can use the derivation from this nix-expression in nixpkgs.

from source

If you are on Linux you can build and install:

make
make install    # as root

To change the target directory of the installation use the following and change /usr/local to the desired directory:

make PREFIX=/usr/local
make install PREFIX=/usr/local

Configuration is supposed to be done after installing.

Contributing

Feel free to Fork, create Issues and make Pull Requests.

I am looking forward to finding Package Maintainers and will happily accept improvements in the source code.

blucontrol

A lot of functionality is being rewritten in blucontrol. If you have some Haskell knowledge feel free to try it out.

What it provides is fully functional, just the documentation is lacking.

blugon's People

Contributors

badeaffe avatar jumper149 avatar r-burns avatar temporaryrespite avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.