daemon1 is a background process that changes the default behaviour of macos windows management and makes it a little more intuitive (imo)
- automatically opens a new window if switched-to application has zero windows, no need for command+tab+option-command shortcut
- if switched-to application has all minimized windows, daemon1 unminimizes the last minimized one
- closing/minimizing the last window of an application hides it (performs command+tab)
daemon1 is compatible with apple m-series chips on macos 10.15 or higher
- download daemon1 executable and .plist file here
- move daemon1 executable to "/Applications" directory
- open terminal and paste
cd /Applications; chmod 755 "daemon1"
- move .plist to "~/Library/LaunchAgents"
- paste
launchctl load ~/Library/LaunchAgents/daemon1.plist
into terminal - ignore prompt "daemon1 not opened", don't close it
- go to system settings -> privacy&security -> scroll down and click "open/allow anyway"
- click "open" when prompted (again) that the application couldn't be verified
- you will be prompted to grant accessibility privilege, grant them in system settings -> privacy&security -> accessibility
- there is a possibility that you will get "There is no application set to open the document 'coreautha.bundle'." error -> ignore it
brew install daemon1
- hopefully coming soon
- if you want daemon1 to ignore some applications,
touch ignoredapplications.txt
and move it under "~/Library/daemon1", type names of applications each in new line:
stats
systempreferences
terminal
open your activity monitor, go to memory tab and type "daemon1" in the right upper corner
if you see daemon1 but it doesn't work, you are doomed (uninstall and install again)
if you don't see daemon1:
check for daemon1 in activity monitor after completing every step, you likely won't have to go through all of them
- type
launchctl start nkdm1.daemon1
in the terminal - restart your computer
- unload with
launchctl unload ~/Library/LaunchAgents/daemon1.plist
and load it back withlaunchctl load ~/Library/LaunchAgents/daemon1.plist
- change your daemon1 executable directory, update your .plist, unload with
launchctl unload ~/Library/LaunchAgents/daemon1.plist
and load back withlaunchctl load ~/Library/LaunchAgents/daemon1.plist
, then start withlaunchctl start nkdm1.daemon1
- if nothing works, please make a new issue
- paste this into the terminal:
launchctl unload ~/Library/LaunchAgents/daemon1.plist
rm ~/Library/LaunchAgents/daemon1.plist
rm /Applications/daemon1
- remove daemon1 from system settings -> privacy&security -> accessibility
daemon1 is working as a background process called "agent", which is automatically launched when you log in to your account
daemon1 encourages you to think a little differently when managing your windows
first of all, it is mainly written to meet my own requirements, which are:
- speed up command+tab application switching
- make command+w and command+m less irritating to use
- forget about command+h and command+tab+option-command
- make not quitting all of your applications a good habit
for those interested in the thinking method that guides me through this project::
- there are some applications that i don't want to quit, because they're used often [mail for example]
- when i'm done with that application i close its windows, not the whole application
- i want the application to be in the default state the next time i switch to it, not the state i stopped using it
- that’s where command+h fails to do its job - it is good when you want the app to only temporarily hide and you will be switching back to it soon, with a purpose to continue your work - which is exactly what command+tab does
- closing the last window of an application and then hiding it/switching to another application is what you want to do when you are done with the application, but at this point you have to use two shortcuts to perform one activity and you are met with another problem - switching back to that application doesn't automatically open a default window
this project has been started to address this issues and hopefully make your macos life easier
any type of pull requests are more than welcome
- when an apppication has some windows minimized and you close the last not-minimized window (which triggers app-switch), switching back to that application unminiaturizes the oldest window, not the last minimized one. i made it unminiaturize all windows, instead of the oldest, until i fix
- from time to time hiding the last application does bring the finder window to the front for some reason
this project is under gnu gplv3 license
big thanks to every contributor of swindler, this project was fucking annoying to write until i found your work guys