A simple utility that listens for changes to the desired colour temperature and changes the light/dark mode OS theme accordingly.
auto-theme.webm
Use the install.sh script directly, or look at the contents to inspire a manual alternative...
| const { createReadStream, createWriteStream } = require('fs'); | |
| const { pipeline } = require('stream'); | |
| const csv = require('csv-parser'); | |
| const exchangeRatesUrl = 'https://api.exchangerate.host'; | |
| async function getExchangeRate(date) { | |
| const response = await fetch(`${exchangeRatesUrl}/convert?from=GBP&to=EUR&date=${date}`); | |
| const { result } = await response.json(); | |
| return result; |
| const strip = obj => Object | |
| .fromEntries( | |
| Object | |
| .entries(obj) | |
| .filter(([k]) => !/^(?:_|[Rr]e[sq]|.*Symbol).*$/.test(k)) | |
| .map(([k, v]) => [k, v instanceof Object ? strip(v) : v]) | |
| ) |