Skip to content

Instantly share code, notes, and snippets.

@philsnow
philsnow / walkthrough.md
Last active January 6, 2026 00:13
Another way to manually add another site to Firefox Multi-Account Containers

Another way to manually add another site to Firefox Multi-Account Containers

Multi-Account Containers and Temporary Containers are great extensions for a great browser. I get really frustrated when I can't make them work together the way I want, though.

The most common problem I have is when some site redirects through a bunch of subdomains (usually during login). Because of Temporary Containers, each redirect opens in a new tab+container which doesn't bring cookies from the other container, and the login flow breaks.

If the resulting page leaves you on the subdomain that broke the flow, you can use the menu to add another "always open in container" rule, but if it didn't (because on error the site redirects you to the first subdomain or somewhere else), you can't use that menu. Some people have found workarounds that work for them (like [changing `networ

@philsnow
philsnow / _readme.md
Created March 15, 2023 18:13
Switching spaces in Hammerspoon, without showing the Mission Control UI

Wherein I continue to try to recreate my long-loved but long-lost Linux window manager UX.

Switching spaces in Hammerspoon, without showing the Mission Control UI

The bits of MacOS that handle space naming and switching (Mission Control? Dock.app?) aren't publicly consumable / there isn't a public API for them. That sucks because it leads to workarounds, some of them harmful, like the (otherwise-fantasic) yabai needing SIP to be disabled for full functionality (it's in the very name, "yabai" means dangerous).

In Hammerspoon it works differently. For several of its operations, hs.spaces brings up the Mission Control UI and then scrapes its accessibility axuielements, then interacts with those. This works and I appreciate that I don't have to disable SIP... but it's slow and causes distracting stuff to briefly appear on the screen.

I miss how instantaneous switching workspaces is in XMonad, ion3, pretty much

@philsnow
philsnow / _summary.md
Created June 1, 2024 06:41
MacOS plist oddity

Disclaimer/preface: I don't know all that much about MacOS.

Why are my MacOS backups so large?

I was investigating why my Time Machine (and later, borgbackup'ed tmutil localsnapshots) incremental backups were larger than I expected -- around 1-7 GB worth of changes per day.

I found this out after I had set up Time Machine backups to a TrueNAS CORE machine and had set up regular snapshots of the Time Machine ZFS dataset:

# zfs list -t snapshot -o space -r /mnt/vault/delorean/philsnow | head
@philsnow
philsnow / _summary.md
Last active June 18, 2024 02:46
simple app-agnostic window switcher in hammerspoon

What

This is just a simple switcher that lets you cycle through recently-used windows on the current workspace, regardless of what app they are from.

It uses Hammerspoon. It's set to bind to option-tab so that I can still use the native/default cmd-tab switcher.

@philsnow
philsnow / aerospace_switcher.lua
Created September 8, 2025 20:52
Hammerspoon cmd-tab replacement that shows only windows on the current/focused aerospace workspace
--[[ This is largely copypasta from Hammerspoon's hs.window.switcher
( https://github.com/Hammerspoon/hammerspoon/blob/master/extensions/window/window_switcher.lua )
The bits where it actually integrates with Aerospace are the
refresh_current_workspace_windows function and the workspace_window_filter.
]]--
local M = {}
local current_workspace_windows = {}