{"id":16777290,"url":"https://github.com/spantaleev/redshift-scheduler","last_synced_at":"2026-01-03T10:17:28.240Z","repository":{"id":7196553,"uuid":"8500725","full_name":"spantaleev/redshift-scheduler","owner":"spantaleev","description":"Rule-based screen temperature changer (based on redshift)","archived":false,"fork":false,"pushed_at":"2023-11-13T08:22:39.000Z","size":58,"stargazers_count":26,"open_issues_count":1,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-23T05:43:35.540Z","etag":null,"topics":["color-temperature","eye-care","eye-strain","gamma-ramps","night","night-mode","redshift","screen-brightness"],"latest_commit_sha":null,"homepage":"","language":"Vala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spantaleev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-03-01T12:11:26.000Z","updated_at":"2024-06-20T13:38:27.000Z","dependencies_parsed_at":"2022-08-24T20:01:28.138Z","dependency_job_id":null,"html_url":"https://github.com/spantaleev/redshift-scheduler","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spantaleev%2Fredshift-scheduler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spantaleev%2Fredshift-scheduler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spantaleev%2Fredshift-scheduler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spantaleev%2Fredshift-scheduler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spantaleev","download_url":"https://codeload.github.com/spantaleev/redshift-scheduler/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243918630,"owners_count":20368745,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["color-temperature","eye-care","eye-strain","gamma-ramps","night","night-mode","redshift","screen-brightness"],"created_at":"2024-10-13T07:24:15.647Z","updated_at":"2026-01-03T10:17:28.212Z","avatar_url":"https://github.com/spantaleev.png","language":"Vala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Redshift Scheduler\n\n**redshift-scheduler**, as the name implies is a scheduler program for [redshift](http://jonls.dk/redshift/).\n\nRedshift adjusts the color temperature of your screen according to your surroundings (meaning according to the time of day and your location).\nThis may help your eyes hurt less if you are working in front of the screen at night.\n\nHowever, not everyone has the same day-schedule and likes their screen \"turning red\" at ~17:00 in the afternoon.\n\n\n--------------------\n\n\n## What does it do?\n\nRead the description over at [redshift's page](http://jonls.dk/redshift/) for an introduction to the general idea of \"screen temperature changing\".\n\nYou can then determine whether **redshift** is good enough for you, or you need the advanced control that **redshift-scheduler** offers.\n\n\n--------------------\n\n\n\n## What problems with redshift does this fix?\n\n**redshift-scheduler** addresses the following problems with the way **redshift** works:\n\n1. No sane control over the screen temperature over the day\n    - **redshift** uses the time of day and your location to \"magically\" determine a temperature value (which you might not *always* like)\n    - **redshift-scheduler** gives you a way configure the exact temperature and temperature transitions at any time of the day\n\n2. No control over how gradually the temperature changes\n    - **redshift**'s temperature transitions are somewhat fast (strikingly visible and thus, annoying)\n    - **redshift-scheduler**'s temperature transitions can be very gradual (invisible to the user)\n\n\n--------------------\n\n\n\n## How does it work?\n\n**redshift-scheduler** uses a configuration file that specifies a number of rules.\nRules define time periods within the day and their corresponding temperature (or temperature transition).\n\nGenerally, rules state something like this:\n\n - from 11:00 to 18:00, I'd like the maximum screen temperature (6500K)\n - from 18:00 to 20:00, I'd like a gradual decrease from 6500K to 5000K\n - from 20:00 to 23:30, I'd like a gradual decrease from 5000K to 4500K\n - etc.\n\nTo learn more, see the sample/default rules file (in the ``resources/`` directory).\n\n**redshift-scheduler** calculates the temperature at any given moment of the day and periodically invokes **redshift** to apply it.\nTherefore, you need **redshift** installed as well.\n\n\n--------------------\n\n\n## Installation\n\n### Packages\n\nA package for [ArchLinux](http://archlinux.org/) is available [here](https://aur.archlinux.org/packages/redshift-scheduler/).\nContributions, so that packages for other distros can be made, are always welcome.\n\n\n### Manual Installation\n\n**redshift-scheduler** is written in [Vala](https://live.gnome.org/Vala) and compiles to native code.\n\nBuild from source (requires: ``vala``, ``glib2`` and ``libgee``):\n\n    ./build.sh\n\nThe ``redshift-scheduler`` executable would appear in the newly created ``build/`` directory.\nCopy the ``redshift-scheduler`` executable file anywhere you'd like.\n\nCopy the default rules file (``resources/rules.conf.dist``) to ``~/.config/redshift-scheduler/rules.conf``.\n\nCopy the desktop file (``resources/redshift-scheduler.desktop``) to ``~/.local/share/applications/``.\nThis will allow to add the tool as a startup item using e.g. the [GNOME Tweak Tool](https://wiki.gnome.org/Apps/GnomeTweakTool)\n\nMake sure you have [redshift](http://jonls.dk/redshift/) installed, as **redshift-scheduler** depends on it.\n\n\n### For distro packagers\n\nA package would:\n\n - build the executable and stage it for copying to ``/usr/bin/`` or some other such location\n - stage ``resources/rules.conf.dist`` (the default config) for copying to ``/usr/share/redshift-scheduler/rules.conf.dist``\n - stage ``resources/redshift-scheduler.desktop`` (the desktop file) for copying to ``/usr/share/applications/``\n\nDependencies:\n\n - [Vala](https://live.gnome.org/Vala)\n - glib2\n - [Libgee](https://live.gnome.org/Libgee)\n - the ``redshift`` binary on the path\n\n\n--------------------\n\n\n## Usage\n\nThe program is meant to start and run with user privileges.\nYou can set it up to start on desktop environment start-up (with ``gnome-session-properties``, ``xfce4-session-settings``, etc.)\n\nThe first time you can run ``redshift-scheduler`` from the command-line.\nDuring that first start, ``~/config/redshift-scheduler/rules.conf`` will be created, based on the default configuration at ``/usr/share/redshift-scheduler/rules.conf.dist``.\n\n**redshift-scheduler** runs during the day and controls the screen temperature according to the rules in ``~/config/redshift-scheduler/rules.conf``.\n\nRules can be customized to your liking. Rule changes take effect immediately (without needing a program restart).\n\n\n\n## Ideas/future developments\n\n- The ability to temporarily disable temperature changes (\"stop for 1 hour\", etc.)\n\n- A GUI tray program that allows certain features of **redshift-scheduler** to be controlled with the mouse (disabling temporarily, showing the current temperature)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspantaleev%2Fredshift-scheduler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspantaleev%2Fredshift-scheduler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspantaleev%2Fredshift-scheduler/lists"}