Skip to main content

Window Snapping Menus

Snapping menus are on by default. When you drag a window and the mouse cursor reaches an edge or corner of the screen, pause briefly and a small menu with alternative window layouts appears beside the cursor. Keep holding the window, move along the edge to select a layout, then release to apply it. You don't need any modifier keys.

You can use the default menus right away, or customize the menu for each snapping position with window-resizing actions and other BetterTouchTool actions.

Left Edge Menu

Snapping menu settings​

Snapping menus are enabled by default, so you don't need to set anything up to use the default menus. You can turn them off or back on under Settings → Window Snapping & Moving → Appearance → Show nearby snapping options while dragging (experimental). If you disabled this option earlier, it stays disabled until you turn it back on.

Window snapping itself also needs to be enabled. Screen-edge menus only appear when BetterTouchTool handles dragging to screen edges.

If macOS handles edge dragging, turn off System Settings → Desktop & Dock → Windows → Tile by dragging windows to screen edges. Choosing Use Classic BetterTouchTool Resizing in BTT doesn't change that macOS setting by itself.

You do not need to enable Snap To Windows to use menus at screen edges, including the Fill to next window option described below.

Settings

Choose a layout while dragging​

  1. Drag a window until the pointer reaches an enabled screen edge or corner. BetterTouchTool shows its usual snapping preview.
  2. Pause briefly and the snapping menu appears. In the default menu, the normal snapping option is selected at first.
  3. Keep holding the drag and move along the edge to select another option: up/down beside a left or right edge, or left/right along the top edge. You can also move directly onto an icon.
  4. Release the mouse button to apply the selected layout.

If you release before the menu appears, you get the usual quick snapping. Moving away from the snapping area closes the menu, so you can keep dragging normally. If you move past the end of the menu, the item at that end stays selected until you leave the snapping area or reach another snapping position.

The default choices depend on where you drag. For example, a left-edge menu offers the left half and the two left quarters. At the top edge of the screen, it offers the left half, the normal maximized destination, and the right half. BetterTouchTool takes your configured snapping sizes and window spacing into account.

Fill the space beside an existing window​

The default screen-edge menus can also offer Fill to next window. This uses the positions of other windows to find a useful destination.

For example, if an existing window takes up the right 35% of the screen, drag another window to the left screen edge and select Fill to next window. The dragged window fills the available space up to the existing window—approximately the remaining 65%, with your configured spacing applied. The proportions are calculated from the actual window positions.

At a screen corner, this option finds the largest available rectangle starting from that corner. More than one neighboring window can limit it.

BetterTouchTool looks at normal windows on that display that aren't covered by other app windows, and ignores the window you're dragging. A neighbor can extend under the Dock or menu bar and still count as a boundary. The new destination stays within the usable desktop area.

The automatic menu only adds this option when there's a suitable neighboring window and the result differs from its other choices. Existing custom menus keep their saved items, so to include it in one of those menus, add Fill to Next Window (Snap Menu) yourself.

Fill To Next Window

To use a window itself as a snapping target, open Settings → Window Snapping & Moving → Snap To Windows and enable Enable snapping to the edges of other windows.

While you drag, the target window can be highlighted with an outline if that setting is enabled. Moving to one of its edges or corners shows a preview and, after a short pause, a snapping menu:

  • Inside the target window, destinations divide or fill the target's rectangle when Treat the inside of the target window like its own little display is enabled. For example, the inside top-center menu offers its left half, the normal full-target destination, and its right half.
  • Outside the target window, destinations fill space beside it. Depending on the edge, you can match the target's width or height, divide that space into segments, or use the other fill mode to extend across the available screen space.

If the Option-key fill-mode toggle is enabled, holding ⌥ temporarily changes the outside fill mode. The menu's Other fill mode choice does the same without pressing a key.

Screen-edge snapping and Custom Snap Areas take precedence when you reach them.

Snap To Windows

Customize a menu​

Each screen or window snapping position can have its own menu. You set these up with triggers in BetterTouchTool's main configuration window.

  1. Select Automations & Named & Other Triggers.
  2. Choose All Apps for a shared menu. For an app-specific menu, select the app whose windows you'll drag.
  3. Add a trigger. In the Window Snapping Menus category, choose a position such as Snap Menu: Screen Left Edge or Snap Menu: Window Top Edge.
  4. BetterTouchTool automatically assigns Configure Snap Menu Items. Select that action and open its menu-item editor.
  5. Edit the menu items and their assigned actions, then click Finish Action Configuration to return to the main configuration window.

Screen triggers cover the top, left, and right edges and all four corners. Window triggers also include the bottom edge. Choose a Screen trigger for dragging to a display boundary and a Window trigger for dragging to another window's boundary. A Window trigger applies both inside and outside that target edge.

An app-specific menu takes precedence over a menu in an active Conditional Activation Group, which in turn takes precedence over All Apps. The app that counts is always the one whose window you're dragging. If no matching custom menu exists, BetterTouchTool uses the default menu.

Keep Configure Snap Menu Items as the action on the Snap Menu trigger. Add the actions you want to run to the individual menu items inside its editor.

Automations Named Other Triggers

Arrange the items and assign actions​

A new menu starts with the default options for its position, including their assigned actions. You can:

  • Drag items into a different order, including before or after Normal snap.
  • Rename or delete default items.
  • Add items with standard window actions, such as Maximize Window Left, quarter or third sizes, or Move / Resize Window to Custom Position and Size.
  • Replace an item's action, or add more actions to its sequence.
  • Assign your own image or SF Symbol. Otherwise, items with a recognized resizing action get a layout preview icon, which is also shown beside the item in the editor.

The item order in the editor is the order shown in the menu: top to bottom for a vertical menu, or left to right for a horizontal one. The item whose only action is Apply Normal Snap for Current Position (Snap Menu) is selected when the menu first appears, even if you rename it. If you delete that item, replace its action, or add other actions to its sequence, the first available item becomes the initial selection.

For a simple starting point, customize the top screen-edge menu to contain Left half, Normal snap, Right half, and a new Left third item. Assign a left-third resizing action to the new item and drag it into the position where you want it to appear.

Menus show up to 24 items. If they don't all fit along the screen edge, you see the items around the initially selected one. Use ordinary menu items: snapping menus don't support submenus, separators, or script-generated menu contents. You can still assign a script action to an item, and it runs on release.

Custom Snapping Menu Items

Actions run when you release​

An item's actions run when you release the dragged window, never just because you hover over its icon. Built-in window-moving and resizing actions act on the window you're dragging. A script that picks its own window still controls its own target.

A single supported resizing action can show a destination preview. Use Move / Resize Window to Custom Position and Size (Custom Move/Resize) when you need a size or position beyond the standard layouts. For a straightforward screen-edge preview, target one window and use a monitor reference on the same display where you're dragging, without cycling or restore toggles.

You can also give an item an action sequence—for example, resize the window and then run another action—or use an item just to run an action. Sequences and actions without a predictable destination may show an action icon instead of a resize preview. They still run on release.

Actions that follow the current snapping position​

Standard window actions select a named layout, such as a screen half or third. The following actions instead use the screen, target window, and snapping position that opened the menu. This lets an item keep its meaning when the target window moves or the menu opens on another display.

All names below have the suffix (Snap Menu) in the action picker.

ActionBehavior
Apply Normal Snap for Current PositionApplies the usual destination for the screen or window edge/corner that opened the menu, respecting the current snapping settings. Use this for a Normal snap item.
Fill to Next WindowAt a screen edge or corner, fills the available space up to a suitable neighboring window. Works with Snap To Windows disabled. A simple item using this action is omitted when no suitable destination is available.
Snap to Upper / Left Segment of TargetAt another window's left/right edge, chooses the upper segment; at its top/bottom edge, the left segment. At the inside top-center position, this is the target window's left half.
Snap to Unsplit Target EdgeUses the undivided destination at the target-window edge instead of one of its upper/lower or left/right segments.
Snap to Lower / Right Segment of TargetAt another window's left/right edge, chooses the lower segment; at its top/bottom edge, the right segment. At the inside top-center position, this is the target window's right half.
Snap to Opposite Segment of TargetChooses the other end of the current target-window edge when the menu opened near a corner. From the middle of an edge, chooses its upper or left segment.
Use Other Fill Mode Beside TargetAt an outside window edge, switches between matching the target's width/height and using the full available screen extent. It follows the current fill mode, including a temporary Option-key change.

The five target-window actions require a Window snapping position. Use Other Fill Mode Beside Target also requires an outside edge. Unavailable destinations are left out of simple resize menus.

These actions only work in the context of a snapping menu. If you assign them directly to a regular keyboard shortcut or gesture, they do nothing. For standalone shortcuts, use the usual window-moving and resizing actions.

If a menu or item is missing​

  • No screen-edge menu: Check Enable window snapping and the nearby-options setting, and turn off macOS's Tile by dragging windows to screen edges option. Pause briefly at an enabled snapping edge or corner while holding the drag.
  • No menu at another window: Enable Snap To Windows and check that you are at the target window's edge. For menus inside its boundary, also enable Treat the inside of the target window like its own little display.
  • No Fill to next window item: There must be a suitable neighbor that leaves enough space. In an automatic menu, a destination identical to another choice does not get a duplicate item. In an existing custom menu, add the action yourself.
  • An app-specific menu is not used: Configure it for the app whose window you are dragging, and check that its trigger and preset are enabled. If there is no app-specific menu, BetterTouchTool checks active Conditional Activation Groups and All Apps before using the defaults.
  • An item has no size preview: Check its assigned action. A compound sequence, conditional action, or action that does not describe a supported window destination can still run when you release, without a rectangle preview.

To go back to the automatic menu for a position, disable or remove the applicable Snap Menu: … triggers, including any overrides in All Apps or active Conditional Activation Groups. Removing every item from an active custom menu leaves that menu empty; it does not restore the default items.