Awesome Open Source
Awesome Open Source

himawari-bg

Set the latest image from Himawari 8 as your desktop background.

npm travis standard

About

Himawari 8 is a geostationary weather satellite deployed by the Japan Meteorological Agency. It takes photographs of Earth every 10 minutes.

himawari-bg is a command line program that lets you set the latest image from the Himawari 8 geostationary satellite as your desktop background.

Desktop Version

This project is now available as a menubar app that automatically sets your background every ten minutes for maximum freshness! Please see hi8 for more info.

Install

Warning: requires ⚡️ magick ⚡️

If you have homebrew installed, you can use that to quickly install imagemagick and graphicsmagick. The rest of the program can be easily installed with npm.

brew install imagemagick
brew install graphicsmagick
npm install --global himawari-bg

Note: This is alpha quality! Tested only on OSX.

Usage

Command Line

You can run himawari-bg on the command line after it's been installed globally with npm.

If you run himawari-bg with no arguments, it will download the latest image from Himawari-8 and set it as your desktop background.

👉 You have to set the background color of your desktop to black manually if you want it to look as cool as possible.

There are some options available if you'd like to go further:

Usage: himawari-bg [options]

    --outfile, -o         Location to save image. (default: ~/Pictures/himawari-images/$TIMESTAMP.jpg)
    --zoom, -z            The zoom level of the image. Can be 1-5. (default: 2)
    --date, -d            Time of the picture desired. Can also be "latest". (default: "latest")
    --infrared, -i        Capture picture on the infrared spectrum. (default: false)
    --parallel, -p        Parallelize downloads for increased speeds (can be CPU intensive). (default: true)
    --version, -v         Show version information.
    --help, -h            Show help.

Node.js

himawari-bg can also be used programmatically as a node module:

npm install himawari-bg

Here is an example of how it works in node:

var bg = require('himawari-bg')

bg({
  /**
   * The location to save the resulting image.
   * Default: `~/Pictures/himawari-images/${Date.now()}.jpg`
   * @type {String}
   */
  outfile: '/path/to/output/earth.jpg',

  /**
   * The time of the picture desired. If you want to get the latest image, use 'latest'.
   * Default: 'latest'
   * @type {String|Date}
   */
  date: 'latest', // Or new Date() or a date string

  /**
   * The zoom level of the image. Can be 1-5 (default: 2)
   * Each zoom level requires more images to be downloaded and therefore stitched
   * together. Higher zoom yields a higher resolution image.
   * Default: 2
   * @type {Number}
   */
  zoom: 2,

  /**
   * If set to true, an image on the infrared light spectrum will be generated
   * Default: false
   * @type {Boolean}
   */
  infrared: false
})

Acknowledgements

Thanks to celoyd for the inspiring glittering.blue and jakiestfu for creating himawari.js.

Addendum

It turns out himawari.js was inspired by this gist by MichaelPote which basically does the exact same thing as himawari-bg except in a Windows Powershell environment. So I unwittingly made something inspired by something that was inspired by something that does what I did. Internet! ¯\_(ツ)_/¯

Additional Resources

Here are some useful links if you're interested in learning more about the Himawari 8 satellite.

Official

Related Projects

Contributing

Contributions welcome! Please read the contributing guidelines before getting started.

License

ISC


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
javascript (68,100) 
desktop (281) 
wallpaper (63) 
satellite (51) 
background (46) 
earth (22) 

Find Open Source By Browsing 7,000 Topics Across 59 Categories

Advertising 📦 10
All Projects
Application Programming Interfaces 📦 124
Applications 📦 192
Artificial Intelligence 📦 78
Blockchain 📦 73
Build Tools 📦 113
Cloud Computing 📦 80
Code Quality 📦 28
Collaboration 📦 32
Command Line Interface 📦 49
Community 📦 83
Companies 📦 60
Compilers 📦 63
Computer Science 📦 80
Configuration Management 📦 42
Content Management 📦 175
Control Flow 📦 213
Data Formats 📦 78
Data Processing 📦 276
Data Storage 📦 135
Economics 📦 64
Frameworks 📦 215
Games 📦 129
Graphics 📦 110
Hardware 📦 152
Integrated Development Environments 📦 49
Learning Resources 📦 166
Legal 📦 29
Libraries 📦 129
Lists Of Projects 📦 22
Machine Learning 📦 347
Mapping 📦 64
Marketing 📦 15
Mathematics 📦 55
Media 📦 239
Messaging 📦 98
Networking 📦 315
Operating Systems 📦 89
Operations 📦 121
Package Managers 📦 55
Programming Languages 📦 245
Runtime Environments 📦 100
Science 📦 42
Security 📦 396
Social Media 📦 27
Software Architecture 📦 72
Software Development 📦 72
Software Performance 📦 58
Software Quality 📦 133
Text Editors 📦 49
Text Processing 📦 136
User Interface 📦 330
User Interface Components 📦 514
Version Control 📦 30
Virtualization 📦 71
Web Browsers 📦 42
Web Servers 📦 26
Web User Interface 📦 210