← Swik
Feature

Context-aware profiles: a different radial menu for home, office, and meetings

The apps you reach for at 9am on a Tuesday at the office are not the apps you reach for at 9pm on a Saturday at home. Most launchers ignore that. You get one set of shortcuts, you tune them once, and you live with the compromise — half the wedges are work apps you never want at home, and half are home apps you never want at work.

Swik handles this with profiles: separate radial menus you can switch between. The interesting part isn't that profiles exist — most launchers have something like them. The interesting part is that Swik can swap profiles for you, automatically, based on where you are and what's happening on your Mac.

The three signals

Swik watches three pieces of context to decide which profile should be active:

Wi-Fi network. Your home network and your office network have different SSIDs. Swik reads the current SSID from CoreWLAN — the same source the macOS Wi-Fi menu uses — and compares it to the trigger you set on each profile. Match → that profile is active.

Connected displays. When you plug your laptop into the monitor on your desk, the monitor announces itself with a name. Swik queries connected displays (excluding the built-in laptop screen), and a profile can be triggered when a particular external display name is present.

Time of day. A profile can be limited to a window — say 9:00 to 17:00, or 22:00 to 06:00 (overnight ranges work). When the current minute-since-midnight falls inside the window, the trigger fires.

Each profile can use any one of these or combine them. The matching is straightforward: all configured triggers must hold for a profile to be active.

How fast it reacts

Wi-Fi changes are immediate — Swik subscribes to the system's SSID-change event, so when you walk into a new network the swap happens as soon as macOS notices.

Display and time triggers are re-checked every 60 seconds, and also right after the Mac wakes from sleep. The wake-up check is the important one in practice: open the lid at your desk, the monitor reconnects, and within a couple of seconds your work profile is live before you've even brought a window forward.

If your context doesn't match any profile's triggers, Swik falls back to your default profile. There's always one menu, never a "no profile available" state.

A working setup

Here's a realistic three-profile configuration for someone splitting time between home and an office:

ProfileTriggerWhat's on the wedges
OfficeWi-Fi: "OfficeNet"
+ Display: "Studio Display"
Slack, Linear, Cursor, Figma, calendar, meeting notes
HomeWi-Fi: "HomeWifi-5G"Browser, Music, Plex, Messages, side projects, terminal
Late nightTime: 22:00–06:00Reading list, journal, screen time controls, Do Not Disturb shortcut
Default(catches everything else)A general-purpose menu — browser, mail, notes

The trigger combinations matter. The Office profile only fires when both the SSID and the monitor are right — so working from a coffee shop on office Wi-Fi (an unusual case) doesn't accidentally pull up your meeting-notes layout when you don't want it. The Home profile uses just SSID, because the home network is enough signal. Late night uses just time, and overrides whatever else is matching after 10pm.

Why this beats one big menu

You can build one menu that holds all your apps. Most people do. The problem is that the eight-or-twelve-wedge top ring is a scarce resource — every wedge you assign to "Logic Pro because I produce music sometimes" is a wedge taken from "Slack which I use a hundred times a day."

Profiles let you optimize for the current moment instead of the entire month. Each profile's top ring is filled with the eight most-used apps for that context. Logic Pro lives on the Late Night profile, where it's a top wedge. Slack lives on the Office profile, where it's also a top wedge. Same wedge, different app, picked automatically by where you are.

The math is brutal here: a top-ring wedge is somewhere around 10x faster to reach than a sub-menu wedge. Anything you can promote to the top ring saves you that 10x every time you use it. Profiles are the mechanism that lets you promote eight different things in eight different contexts.

The "I don't want auto-switching right now" case

Sometimes you want to override. You're at the office but doing personal work; you want the Home profile. Swik exposes a manual profile picker in the menu bar — pick one and that profile sticks until the next context change.

This is the right model. Auto-switching is a default; manual override is always available. You don't end up arguing with your launcher.

What it doesn't do

Two things deliberately not in scope:

No location services. Swik never asks for Location Services permission. "Where am I" is answered by Wi-Fi SSID and which monitor is connected — both already available without a permission prompt, both more reliable than GPS for desktop work, both more privacy-respecting.

No app-foreground triggers. A profile won't switch because Figma came to the front. That sounds useful in theory but is a usability disaster in practice — your menu changes shape from under you while you're using it. The signals Swik uses (network, monitor, time) change rarely enough that the swap feels like the room changing, not the menu changing.

Setting it up

  1. Open Swik settings and create a new profile. Build it the way you want a single radial menu — apps, sub-menus, shortcuts.
  2. In the profile's settings, add a trigger. Pick a Wi-Fi SSID, an external display name, a time window, or any combination.
  3. Mark one profile as the default. That's the fallback when nothing matches.
  4. Save. Walk into the room that matches a trigger. The profile is live.

You don't need to think about it again. The next time you change rooms, plug in a monitor, or push past 10pm, your menu rearranges itself for what you're about to do.

That last sentence is the whole pitch. A menu that's always right for the moment, without you having to remember to switch it.

Frequently asked questions

What kinds of context can trigger a profile switch?

Three signals: the Wi-Fi network you're connected to (SSID), the external displays connected to your Mac (by name), and the time of day (a start–end window in 24-hour time, supports overnight ranges). A profile can use any one or any combination of these as its trigger.

How quickly does Swik notice a context change?

Wi-Fi changes are picked up immediately via a system event subscription — Swik re-evaluates as soon as macOS reports the SSID changed. Display and time changes are checked once a minute, and also re-evaluated whenever your Mac wakes from sleep so plugging in a monitor on the desk swaps your profile within seconds.

Does Swik need my location?

No. Swik never asks for Location Services or any kind of GPS data. The "where am I" question is answered by Wi-Fi SSID and which monitor is connected — both already known to macOS, no permission prompt needed. Time triggers are local clock only.

What happens if no profile matches the current context?

Swik falls back to whichever profile you've marked as the default. Profiles with explicit triggers only become active when their conditions are met; the default catches everything else. You can also manually override at any time from the menu bar — auto-switching resumes the next time the context changes.

Swik — a radial menu for macOS

One menu for home, one for the office, one for late nights — all switching automatically. Free for five wedges, $9 one-time for unlimited.

Download for macOS