Loop’s keyboard shortcuts system allows you to resize and move windows without touching your mouse. You can assign custom keybinds to any window action and configure how the trigger key behaves.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/mrkai77/loop/llms.txt
Use this file to discover all available pages before exploring further.
Trigger Key
The trigger key is the modifier key you hold down to activate Loop. By default, Loop uses the Fn (Function) key.- Fn (Function)
- Control (⌃)
- Option (⌥)
- Command (⌘)
- Shift (⇧)
- Any combination of modifier keys
Setting the Trigger Key
- Open Settings → Keybinds
- Click on the Trigger Key field
- Press the key(s) you want to use
- The trigger key is immediately active
Trigger Key Settings
Treat Left and Right Keys Differently
When enabled, Loop distinguishes between left and right modifier keys:Trigger Delay
Add a delay (in seconds) before the trigger key activates Loop:Double-Click to Trigger
Require double-clicking the trigger key to activate Loop:Middle-Click to Trigger
Activate Loop by middle-clicking on a window:Use the trigger delay setting for middle-click activation:
Keybind Configuration
Keybinds are custom keyboard shortcuts that trigger specific window actions. Access keybind configuration in Settings → Keybinds.Adding a Keybind
- Click the Add button
- Select the window action from the dropdown
- Click the keybind field
- Press your desired key combination
- Optionally name the action
Keybind Format
Keybinds use the trigger key plus additional keys: Format:Trigger Key + Key(s)
Examples:
Fn + H→ Left HalfFn + L→ Right HalfFn + K→ Top HalfFn + J→ Bottom HalfFn + F→ FullscreenFn + M→ MaximizeFn + C→ Center
Removing Keybinds
- Select one or more keybinds in the list
- Click Remove or press
Delete
Keybind Storage
Keybinds are stored as an array ofWindowAction objects:
source/Loop/Extensions/Defaults+Extensions.swift:71
Available Actions
You can assign keybinds to any of the following action categories:General
- Fullscreen
- Maximize
- Almost Maximize
- Maximize Height
- Maximize Width
- Fill Available Space
- Center
- MacOS Center
- Minimize
- Minimize Others
- Hide
Halves
- Top Half
- Bottom Half
- Left Half
- Right Half
- Horizontal Center Half
- Vertical Center Half
Quarters
- Top Left Quarter
- Top Right Quarter
- Bottom Left Quarter
- Bottom Right Quarter
Horizontal Thirds
- Right Third
- Right Two Thirds
- Horizontal Center Third
- Left Two Thirds
- Left Third
Vertical Thirds
- Top Third
- Top Two Thirds
- Vertical Center Third
- Bottom Two Thirds
- Bottom Third
Horizontal Fourths
- First Fourth
- Second Fourth
- Third Fourth
- Fourth Fourth
- Left Three Fourths
- Right Three Fourths
Screen Switching
- Next Screen
- Previous Screen
- Left Screen
- Right Screen
- Top Screen
- Bottom Screen
Size Adjustment
- Larger
- Smaller
- Scale Up
- Scale Down
Shrink
- Shrink Top
- Shrink Bottom
- Shrink Right
- Shrink Left
- Shrink Horizontal
- Shrink Vertical
Grow
- Grow Top
- Grow Bottom
- Grow Right
- Grow Left
- Grow Horizontal
- Grow Vertical
Move
- Move Up
- Move Down
- Move Right
- Move Left
Focus
- Focus Up
- Focus Down
- Focus Right
- Focus Left
- Focus Next in Stack
Stash
- Stash
- Unstash
More
- Initial Frame (restore original size)
- Undo (undo last action)
- Custom (create custom positions)
- Cycle (cycle through multiple actions)
source/Loop/Window Management/Window Action/WindowDirection.swift:75
Cycles
Cycle actions allow you to rotate through multiple window positions with the same keybind.Creating a Cycle
- Add a new keybind
- Select Cycle as the action type
- Choose which actions to include in the cycle
- Assign a keyboard shortcut
- Name your cycle (e.g., “Work Layout Cycle”)
Cycle Behavior
Always start cycles from first itemReset to the first action in the cycle instead of resuming from where you left off:
Hold Shift while triggering a cycle to go backwards through the actions:
This option is only available when Shift is not part of your trigger key.
Example Cycles
Multi-Monitor Cycle- Left half on current screen
- Right half on current screen
- Maximize on next screen
- Left two-thirds
- Center
- Right two-thirds
- Center at 80% size
- Maximize
- Almost maximize
Bypass Trigger Key
Individual actions can bypass the trigger key requirement:true, the action will execute immediately when you press just the keybind, without holding the trigger key.
Repeating Actions
Certain actions can be repeated by holding down the keybind:source/Loop/Window Management/Window Action/WindowAction.swift:159
Repeatable actions:
- Size adjustments (larger, smaller, grow, shrink)
- Move actions
- Focus actions
- Undo
Trigger Key + Keybind to repeatedly apply the action.
Default Keybinds
Loop ships with a set of default keybinds for common actions. These are defined in:Hidden Trigger Settings
Trigger Key Timeout
Automatically close Loop if no action is taken within a specified time:0 (default) to disable. Time is in seconds.
Reset with:
Best Practices
Ergonomic Keybinds
Assign frequently-used actions to easily accessible keys:- Use home row keys (A, S, D, F, J, K, L) for primary actions
- Reserve number keys for specific layouts
- Use arrow keys for directional actions
Logical Grouping
Group related actions together:- H/J/K/L - Vim-style directional movement
- 1/2/3 - Different monitor layouts
- Q/W/E - Quarter positions
Avoid Conflicts
Ensure your keybinds don’t conflict with:- System shortcuts
- Application-specific shortcuts
- Other utility apps
Use Descriptive Names
Name custom actions and cycles clearly:- ✅ “Code Editor Layout”
- ✅ “Meeting Notes Position”
- ❌ “Custom 1”
- ❌ “Cycle 2”
Keybind Preview
When you select a keybind in the settings, Loop shows a live preview of what the action will do. This helps you verify the action before saving.source/Loop/Settings Window/Settings/Keybinds/KeybindsConfigurationView.swift:167