Long story short, this is related to keeping focus when you're working as a freelancer, with the same laptop used for work and personal life.<p>There's a simple solution that has been working well for me for years: have 2 local accounts on the machine, with everything separated, even different visual themes (like, bright for personal time, grey for professional time), and a different base color, e.g. blue and green.<p>On principle the pro account has no login on any of the websites where I have a personal account and vice versa. Same for e-mails.<p>That way, when on the pro account, no personal notification, only professional stuff, and vice versa. Has been helping me being concentrating on pro stuff for the last 4 years.<p>To be precise, the separation is not totally strict, but it does not have to be 100% to be effective. Visual theme and only relevant notifications make a big part of the benefit.
I'd like something I could use to lock me out of everything but a whitelisted set of programs & websites for a set period of time.<p>I can't tell you what a relief it would be to have little choice but to focus on work tasks instead of get distracted.<p>Sure, I would need to have the key to the lock in case I really needed it, but it would need to be something mildly time consuming, like answering a set of relatively simple math problems that would still take a few minutes to do them all even with a calculator, to stop casual alt-tab to random distractions.
Not exactly the same use case but there's also `at` for generic one-time scheduling. For example, to send a notification at a specific time you can use:<p><pre><code> echo "notify-send 'Tea is ready'" | at 15:30
</code></pre>
To view and edit your currently scheduled jobs there are `atq` and `atrm`.