Skip to main content

Overview

Halves and quarters provide the most common split-screen window positioning patterns. These actions position windows in exact fractions of the available screen space.

Halves

Defined in the static halves array (line 76):

Edge Halves

WindowDirection
Positions window on the left half of the screen.Raw Value: "LeftHalf"URL Scheme: loop://LeftHalfFrame Values: CGRect(x: 0, y: 0, width: 0.5, height: 1.0) (line 118)Visual:
WindowDirection
Positions window on the right half of the screen.Raw Value: "RightHalf"URL Scheme: loop://RightHalfFrame Values: CGRect(x: 0.5, y: 0, width: 0.5, height: 1.0) (line 116)Visual:
WindowDirection
Positions window on the top half of the screen.Raw Value: "TopHalf"URL Scheme: loop://TopHalfFrame Values: CGRect(x: 0, y: 0, width: 1.0, height: 0.5) (line 115)Visual:
WindowDirection
Positions window on the bottom half of the screen.Raw Value: "BottomHalf"URL Scheme: loop://BottomHalfFrame Values: CGRect(x: 0, y: 0.5, width: 1.0, height: 0.5) (line 117)Visual:

Center Halves

WindowDirection
Positions window in the horizontal center, 50% width.Raw Value: "HorizontalCenterHalf"URL Scheme: loop://HorizontalCenterHalfFrame Values: CGRect(x: 0.25, y: 0, width: 0.5, height: 1.0) (line 119)Visual:
Behavior:
  • 25% margin on left and right
  • Full height
  • Perfectly centered horizontally
Note: Identified by willCenter property (line 97)
WindowDirection
Positions window in the vertical center, 50% height.Raw Value: "VerticalCenterHalf"URL Scheme: loop://VerticalCenterHalfFrame Values: CGRect(x: 0, y: 0.25, width: 1.0, height: 0.5) (line 120)Visual:
Behavior:
  • 25% margin on top and bottom
  • Full width
  • Perfectly centered vertically
Note: Identified by willCenter property (line 97)

Quarters

Defined in the static quarters array (line 77):
Each quarter occupies exactly 25% of the screen space (50% width × 50% height).

topLeftQuarter

WindowDirection
Positions window in the top-left quarter of the screen.Raw Value: "TopLeftQuarter"URL Scheme: loop://TopLeftQuarterFrame Values: CGRect(x: 0, y: 0, width: 0.5, height: 0.5) (line 122)Visual:

topRightQuarter

WindowDirection
Positions window in the top-right quarter of the screen.Raw Value: "TopRightQuarter"URL Scheme: loop://TopRightQuarterFrame Values: CGRect(x: 0.5, y: 0, width: 0.5, height: 0.5) (line 123)Visual:

bottomLeftQuarter

WindowDirection
Positions window in the bottom-left quarter of the screen.Raw Value: "BottomLeftQuarter"URL Scheme: loop://BottomLeftQuarterFrame Values: CGRect(x: 0, y: 0.5, width: 0.5, height: 0.5) (line 125)Visual:

bottomRightQuarter

WindowDirection
Positions window in the bottom-right quarter of the screen.Raw Value: "BottomRightQuarter"URL Scheme: loop://BottomRightQuarterFrame Values: CGRect(x: 0.5, y: 0.5, width: 0.5, height: 0.5) (line 124)Visual:

Complete Layout Visualization

All Halves

All Quarters

Usage Examples

Split Screen Workflow

Quad Layout

Centered Presentation

Radial Menu Behavior

All halves and quarters have radial menu angles, appearing as directional options in the radial interface:
  • Left/Right/Top/Bottom Halves: Appear at cardinal directions
  • Quarters: Appear at diagonal angles
  • Center Halves: Appear at cardinal directions with centering indicator

Thirds & Fourths

More precise positioning options

General Actions

Maximize and centering actions

Size Adjustment

Fine-tune window sizes

WindowDirection Overview

Complete action reference