Code Monkey home page Code Monkey logo

sunscreen's Introduction

Sunscreen is a fun, lightweight application that changes your desktop wallpaper based on sunrise and sunset. Simply drag and drop your favorite wallpapers into Sunscreen's preferences, and it'll do the rest.

Sunscreen supports giving five different periods of the day their own wallpaper. You can individually customize the wallpaper that will be used during sunrise, morning, afternoon, sunset, and nighttime.

If you want to skip a period and leave the wallpaper alone, you can simply leave one of those periods empty. For example, if you leave Afternoon empty, the wallpaper for Morning will also be used for Afternoon.

Sunscreen is completely unobtrusive and stays out of your way. It runs solely in your menu bar, leaving your Dock without any extra clutter.

License

Sunscreen is licensed under The MIT License. You are free to download the source code and build a binary using Xcode. However, if you enjoy using the app, please consider purchasing it on the App Store for a dollar.

sunscreen's People

Contributors

davidcelis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

sunscreen's Issues

Extract location delegate to its own class

Probably not the best practice to have the StatusMenuController be the CLLocationDelegate. The functionality that grabs the current location to pass to the API should really be in its own class. I could probably just name it something like class CurrentLocation and expose a public instance method called fetch().

Show an NSAlert if Location Services were disabled or denied

Instead of just using NSLog to output to the console, the user should get an NSAlert if they disabled Location Services or denied SunPaper access to their location. Preferably, that NSAlert should have a button to open System Preferences for them so they can fix it.

Allow user to enter a location

If the user doesn't have network connectivity, we can't get their current location using Location Services. There could be other reasons the user would want to enter a location anyway, so we should provide a text preference allowing them to enter a location.

App status

Hi,

I'm a user and supporter of this app since 2017. I'm planning on moving to an M1 mac. Is there any information about the compatibility or development? Looks like the app has been abandoned, it's no longer available in the App Store neither.

Add README

Once SunPaper is ready for use, add a README that at least points to the Mac App store and has some instructions on how to build it.

Tests

Since this is my first time using XCode or writing Swift or writing an OS X App, I have no idea how to to write tests for this sort of application yet. I feel okay about that right now, but sometime soon, add Unit and UI tests.

Calculate Sunrise/Sunset times on our own

There's a formula out there to calculate, based on coordinates, the various times of day when the sun will hit certain degrees below or above the horizon. Thankfully, I found a JavaScript implementation that includes varieties of the constants I'll need for civil twilight, sunrise, noon, and sunset:

http://suncalc.net/scripts/suncalc.js

It'd be nice to translate this into Swift and not have to make an HTTP call to api.sunrise-sunset.org

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.