It’s difficult to focus nowadays with all the information overflow. There are social networks ranging from personal social networks to “productivity” social networks. Most are just distracting.

So, How do we regain the lost focus !! Here comes our saviours, Content blockers - Blocking distracting websites and applications. SelfControl and Focus are my picks for content blockers in macOS. Even though they share goal, They work differently.

SelfControl App

SelfControl is a simple but powerful blocker. From their homepage,

SelfControl is an OS X application which blocks access to mail servers and websites for a predetermined period of time. It can not be undone by the app or by a restart–you must wait for the timer to run out.

We could also load previously created block lists, allowing to switch between block lists. You can also reconfigure maximum block period and duration of each interval by modifying default values for SelfControl app through Terminal.

Following configuration sets maximum block length to 7 days and block interval to 3 hours. Mind, time should be in minutes.

➜ defaults write -app SelfControl MaxBlockLength -int 10080
➜ defaults write -app SelfControl BlockLengthInterval -int 180

Disabling SelfControl

CAUTION : This is a hack, run at own risk.

If you read description about SelfControl. They don’t want to allow disable SelfControl once it’s started and they’ve made it difficult. Hey, eople give up easily on productivity. That’s not always the case, There might be cases like incorrect timer or switching to unintended lists.

I dig up ways to disable to SelfControl. Removing app is a risky choice, Might result SelfControl in unstable state and permanent blocking. Found a simple way to disable SelfContol.

Just change your system time. Looks like, SelfControl depends on system time. So modifying it allowed SelfControl to complete blocking, Then revert back to correct time. Developers are trying to find better way to set timer.

Side effects

Modifying system time may cause unintended effects, Like below,

  • 100’s of future notifications pouring in.
  • Scheduled tasks will run.
  • Abnormal results in ac

This trick is old and might be removed in near future. Do at your own risk.

Focus App

I’ve tried with multiple apps for macOS to block websites and applications. Focus does the job better and simpler. Focus can block both websites and applications also support schedules. Ah.. Making block much simpler.

Disabling Focus app in Enforce mode

Focus has a strict mode to enforce timers and schedules preventing user from interrupt blocking. There is always a way to kill productivity.

Focus app depends on launch agents. Focus app creates a launch agent at ~/Library/LaunchAgents/Focus.plist. This file instructs mac to run app in background on load. Launch agents can be controlled using launchctl.

So, We disable Focus app by unloading it from running launch agents using following command in Terminal,

➜ launchctl unload ~/Library/LaunchAgents/Focus.plist

If you don’t like long paths and want to keep things simpler, Use Lunchy, Ruby wrapper around launchctl . With Lunchy, You can disable Focus app with

➜ lunchy stop Focus