Skip to content

Add vertical bar support for left/right screen edges#7

Open
krank56 wants to merge 3 commits intoJean-Tinland:mainfrom
krank56:feature/vertical-bars
Open

Add vertical bar support for left/right screen edges#7
krank56 wants to merge 3 commits intoJean-Tinland:mainfrom
krank56:feature/vertical-bars

Conversation

@krank56
Copy link
Copy Markdown

@krank56 krank56 commented Feb 5, 2026

Summary

  • Add left and right bar positions alongside existing top/bottom bars
  • Implement vertical layouts for all widgets with compact text formats
  • Add orientation-aware graph drawing (bottom-to-top for vertical bars)

Changes

  • Core: Add left/right cases to BarPosition enum with isVertical property
  • Window: Calculate frames for vertical bars using configurable barWidth setting
  • Layout: Add AdaptiveStack helper and WidgetOrientation environment value
  • Widgets: All widgets adapt layouts based on orientation (VStack for vertical)
  • Settings: Add left/right bar toggles and bar width slider (40-300px)

Test plan

  • Enable left or right bar from Settings > Layout
  • Add various widgets and verify they display vertically
  • Adjust bar width in Appearance settings
  • Test with multiple displays

Add support for placing bars on the left and right edges of displays,
complementing the existing top/bottom positions. Vertical bars use a
configurable width (40-300px) and adapt widget layout to flow vertically.

- Add .left/.right cases to BarPosition with isVertical property
- Add leftBar/rightBar to DisplayConfiguration
- Add barWidth setting for vertical bar width
- Update BarWindow frame calculation for vertical positioning
- Add WidgetOrientation environment for orientation-aware widgets
- Update BarView with VStack layout for vertical bars
- Add vertical bar toggles and preview in Layout settings
- Add barWidth slider in Appearance settings
- Add AdaptiveStack helper for orientation-aware layouts
- Update BaseWidgetView with vertical mode constraints and clipping
- Make data widgets use compact text in vertical mode:
  - DateWidget: "Thu 5" format
  - TimeWidget: "HH:mm" format
  - WifiWidget: icon only
  - WeatherWidget: hide location
  - KeyboardWidget: 3-char abbreviation
- Update Yabai widgets for vertical layout:
  - SpacesWidget: VStack for spaces
  - SpaceView: VStack with label above icons
  - ProcessWidget: icons only, no text
  - OpenedAppsView: VStack, max 3 icons
- All widgets now fit within narrow vertical bars
- Add vertical drawing mode to GraphView (bottom-to-top)
- Update CPU, GPU, NetStats, and DiskActivity widgets with vertical layouts
- CPU widget shows icon and percentage only in vertical mode
- Other graph widgets show compact stats above vertical graphs
@krank56 krank56 force-pushed the feature/vertical-bars branch from 3e3aefe to b84de6f Compare February 6, 2026 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant