Giter Site home page Giter Site logo

aerial-desktop / aerial_desktop Goto Github PK

View Code? Open in Web Editor NEW
50.0 10.0 4.0 9.06 MB

Macintosh Application installs Aerial ScreenSaver and sets as a Desktop Background. πŸš€ 🎩

Shell 100.00%
screensaver desktop-background desktop startup mac mac-osx

aerial_desktop's Introduction

(NOTE) This project is no longer being maintained. Apple changed window management since HighSierra OS.

If your operating system is HighSierra or newer install instructions should default to a deprecated version.

If your operating system is Sierra or lower install instructions will provide the full experience.

screencast

Screen Saver to Desktop Background on Startup

Only for Macintosh Computers, enjoy.
If you can think of a better name please let me know.

Completely open source so feel free to contribute to or learn from project development.

Now supporting Battery Monitoring:

For people with laptops.

  1. Application will only run if computer is at '20%' or 'charging' πŸ€“
  2. A single notification will tell the user to plug in their computer. 😘

Most stable when installing for current user instead of across all users.

Installation (no programming experience needed)

  1. Click here to Download
  2. Unzip the downloaded file.
  3. hold "ctrl" and Open Installer and confirm installation.
    note: after installing ... program runs at startup or waking from sleep.

Installation (for inquisitive programmers.)

  1. git clone https://github.com/MichaelDimmitt/Aerial_Desktop.git;
  2. cd Aerial_Desktop;
  3. open .hide/bin/Installer.app #Application will default to Aerial ScreenSaver
  4. Syntax for additional screensavers.
    open .hide/bin/Installer.app --args StarWarsScroll
    note: Uninstall with "open .hide/bin/Stop.app"

Usage:

Setting the program as your Desktop Background can be toggled after installation with "Start.app and "Stop.app" ... implementing "Stop.app" will leave "Aerial" as your default screensaver. This app can support other Screensavers as Backgrounds. If you would like that email me at [email protected] or open an issue.

Adjusting Aerial Settings

  1. Open System Preferences -> Desktop & Screen Saver -> Screen Saver
  2. Choose Aerial and click on Screen Saver Options to select your settings.
  3. Location Labels not installed by default, check "Show Label for Location" in Screen Saver Options.

screen saver options

Uninstallation

  • Open .hide/bin/Stop.app to uninstall.
  • Right-click on the Aerial screen saver in System Preferences and select Delete "Aerial".
  • Or delete the file(s) directly. macOS can store screen savers in two locations. /Library/Screen Savers and /Users/YOURUSERNAME/Library/Screen Savers. Check both locations for a file called "Aerial.saver" and delete any copies you find.

Aerial Installed by default with project.

If you only want Aerial as a screensaver without the desktop change, simply open Uninstall.app
and you are done! The afterward uninstall steps are for removing the Aerial Screensaver.

To find more information on Aerial navigate to: https://github.com/JohnCoates/Aerial


Note:

The screensaver engine takes your default screensaver to project as a desktop background.

Community

  • Found a bug? Open an issue. Try to be as specific as possible.
  • Have a feature request? Open an issue. Tell me why this feature would be useful, and why you and others would want it.

Contribute

I appreciate all pull requests.

Useful Links

When I wanted the screensaver as a desktop background these were the windows to the solution.

techradar_article_By_MacLife_Set_Screen_Saver_as_Desktop_Background

When I wanted the change to happen when the computer woke from sleep:

https://nathangrigg.com/2012/07/schedule-jobs-using-launchd https://github.com/MichaelDimmitt/mac_plist_launch_agent

License

MIT License

aerial_desktop's People

Contributors

michaeldimmitt 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aerial_desktop's Issues

Constant popup on iMac

The program runs but I keep getting a popup box saying the following: β€œAerial Desktop: something went wrong, contact michael; did some bad programming.” The message would go away and then comes back and so on. When I click on the message it would open up Script Editor but nothing else.

Still to be done:

  1. https://github.com/JohnCoates/Aerial local install is breaking but across all users works on my environment mac OS sierra 10.12.4 (open an issue)
  2. removal across all users is not working because it needs permissions
    (in the current script ... sudo is not able to prompt.)

Error, contact Michael

Hello, i installed it on Mojave and everything is did was throw up error to contact you and uninstall due to rapid sleep i didn't do

planning structure rework for aerial_desktop

resolved structure change:

install ... has 2 main controllers
uninstall ... has 2 main controllers
launch_agent, screensaver... have their own files and requisite controllers.
notifications ... has its own controller and methods.
check ... dumb only has methods

Full Program Map

app/install/installer_controller.rb
  app/screensaver/screensaver_controller.rb  
    bin/Aerial.saver
  app/notifications/notification_controller.rb
  app/launch_agent/launch_agent_controller.rb
    app/launch_agent/com.example.hello.plist
    app/launch_agent/.tmp has ... com.example.hello.plist
    bin/screensaver_engine.sh
app/install/start_controller.rb
  app/notifications/notification_controller.rb
    app/check/check_screensaver
    app/check/check_launch_agent
    both.. abstract down to: app/check/check -- passed in as parameters from other files.
  app/launch_agent/launch_agent_controller.rb
    app/launch_agent/com.example.hello.plist
    app/launch_agent/.tmp has ... com.example.hello.plist
    bin/screensaver_engine.sh

app/uninstall/uninstall_controler.rb
  app/launch_agent/unstage_launch_agent.sh
  app/not_sure/remove_aerial.sh     
app/uninstall/stop_controller.rb
  app/launch_agent/unstage_launch_agent 

current structure
bin/screensavers, bin/applications, app/install, app/uninstall, app/images
"bin" contains controllers that use install and uninstall.

proposal structure change 1:
bin/same, app/install, app/uninstall, app/dumb_stage_things_like_LA, app/launch_agent_actions "bin" contains controllers that use install and uninstall that use reusable dumb things.
also separating out: Launch Agent, MenuBar, screensaver engine

proposal structure change 2: (possible alternative?)
controller -> actions using components/controller-> subcontroller -> actions using components

Ensure wifi connection before performing wifi actions.

Ensure wifi connection before performing wifi actions.
Otherwise operate offline.

solution:

if curl --silent --head https://github.com/michaeldimmitt/aerial_desktop;  
  then echo Internet status: OK; 
  else echo Internet status: ERROR; 
fi | tail -n 1

Application will prompt user if it finds a new release than project currently displays

Application will prompt user if it finds a new release than project currently displays.

github.com/MichaelDimmitt/Aerial_Desktop/pull/37

The pull request will be merged into master when 3 things are achieved:

  1. Backdoor, putting computer to sleep twice in less than two minutes shuts off launch agent.
  2. High Sierra working in degraded fashion #38
  3. Application will prompt user if it finds a new release than project currently displays. #39
  4. Add Install window allow user to choose normal or menubar implementation. #40

Programmer Agnostic Implementation in the Works

Going to build a simple install uninstall GUI in ruby using "shoes" that runs via an executable ruby application. End result, users will download the zip file, click to open the .app inside and click either install or uninstall. No terminal necessary.

need cool Logos

changing Install and Uninstall to four distinct features. Each needs a logo.

  1. Install with ScreenSaver Aerial

  2. Install without ScreenSaver Aerial

  3. Enable

  4. Disable

  5. Uninstall

note: renaming suggestions appreciated.

  1. Feature names
  2. Overall Repo Names

Installing and Uninstalling really quickly:

Bug, Test Coverage.
I need to find property tests through barrage testing.

possibilities for this issue:

  1. rm -rf race condition
  2. adaptive wait first.
    a) test coverage candidate.

battery_percentage only show notification once.

Bash script implementation. For quickly updating master branch.

Only show notification once.

Current issue is that the launch agent monitors every five seconds.

However, I only want to display a notification the one time that it is shut off.

Possible solution: failures of unload launchctl do not trigger.

possibly consult Jacob Menke about this @MenkeTechnologies.

Probably easier to perform in ruby but need the bash implementation for a quick fix before the porting the code over to ruby kicks in.

Not working with macOS High Sierra

After upgrading to macOS High Sierra, program is not working anymore. Installation seems to go without a hitch but nothing happens after startup or waking from sleep.

High Sierra working in degraded fashion as a window.

Currently Implemented, you can check out branch macintosh_version_checking
This weekend I will attach an executable app for non programmers to download the updated Aerial Desktop.

Previous to High Sierra Work.
High Sierra working in degraded fashion as a window.

github.com/MichaelDimmitt/Aerial_Desktop/pull/37

The pull request will be merged into master when 3 things are achieved:

  1. Backdoor, putting computer to sleep twice in less than two minutes shuts off launch agent.
  2. High Sierra working in degraded fashion #38
  3. Application will prompt user if it finds a new release than project currently displays. #39
  4. Add Install window allow user to choose normal or menubar implementation. #40

degraded_high_sierra_example

Application Steals Focus From Other Windows

When I leave this desktop background running for long periods of time, it seems to start stealing focus away from other applications that I am currently using. It also seems like the frequency of focus stealing increases over time.

It was stealing focus from whatever my active application was literally every 5 - 10 seconds before I turned the desktop background off.

Discussion: applescript ... or bash script ... or ruby implementation?

I can put a shell script implementation fairly easily.
what needs testing:
Need to test on mac computers that do not have ruby environment installed.
If ruby environment is required for current implementation.
I am going to rewrite the code into a bash script because I want all mac users to be able to use it.

Add Install window allow user to choose normal or menubar implementation.

Add Install window allow user to choose normal or menubar implementation.

github.com/MichaelDimmitt/Aerial_Desktop/pull/37

The pull request will be merged into master when 3 things are achieved:

  1. Backdoor, putting computer to sleep twice in less than two minutes shuts off launch agent.
  2. High Sierra working in degraded fashion #38
  3. Application will prompt user if it finds a new release than project currently displays. #39
  4. Add Install window allow user to choose normal or menubar implementation. #40

CPU/RAM usage monitoring, (Disable for minute or longer)

This program does not take up a huge amount of consumption.
Watching a youtube video on chrome is more expensive.

However, When you are running a heavy application like a video game you may want Aerial_Desktop to auto disable itself. No worries application will soon be monitoring that condition.

CPU usage, Disable for minute (however long)
or Ram Cache
Until overall CPU usage or battery consumption drops down to a manageable level.

The next comment will have initial plan.

Labels Not Showing

Labels don't show on my 15" 2015 Retina Screen with MacOS 10.12.4. I've uninstalled and reinstalled multiple times. I can select the checkbox but it doesn't do anything when I save or change screensavers.

In search of Feedback

1) The current release v2.0, starts an app called DesktopBackgroundChanger.
I am able to hide the app. Is it better to keep app visible enabling a user can quit out at any time?
Also having the app visible allows user to validate app multiple instances of same app is not running.

note: DesktopBackgroundChanger will end if computer is put to sleep or restarted.

If the application was hidden, the quickest way to end the background task
would be to restart computer or put computer to sleep.

2) Any Ideas on how to improve the readme would be appreciated. (feedback)
3) Other additional feedback appreciated.
4) Any ideas for repo name improvement? Think "JohnCoates/Aerial" repo as an example.

Clock sits on top of display when added to a screen saver

Expected Result - when selecting to show with clock, the clock sits as part of the desktop.

Actual Result - The clock sits on top of all windows.

image
With this option selected, the clock is expected to be part of the desktop (similar to the label which appears in the bottom left corner.

The clock sits on top:

image

Planning the Final touches

  1. update all forks, contemplate changing program structure. #14

  2. extensible to many screensavers.

  3. add menubar.

  4. explore possibility of making youtube playlist screensaver

  5. check ... a yosemite operating system. do we restore defaults by deleting plist? #4 #12

  6. Convert away from the Installer exe used for zipped files (non programmer installation).
    Not an issue for the programmer installation.

  7. Put forth better UI when shoes4 packaging is improved. (pending shoes4 ruby project)

  8. Monitor process ID of Aerial.saver so that ten second guess is no longer needed.
    would be monitored by a new shell script which would then execute install driver.



  9. Automatic move to "Applications" and notify user of all actions with notification.

  10. fix Aerial_Desktop when they have zipped multiple times on a mac.

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.