TypeSteps lives in your macOS menu bar, providing instant access to statistics and controls without cluttering your workspace.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/FALAK097/typesteps/llms.txt
Use this file to discover all available pages before exploring further.
Menu bar label
The menu bar shows real-time information:Active tracking
Shows
keyboard icon with today’s keystroke countPaused
Shows
keyboard.badge.ellipsis icon when tracking is pausedMenu contents
Click the menu bar icon to access the dropdown menu:Quick statistics
- Today’s keystroke count
- This week’s total
- This month’s total
Pause/Resume tracking
The button label toggles between “Pause Tracking” and “Resume Tracking” based on current state.
⌘⇧P (Command + Shift + P)
When paused:
- Keystroke counting stops immediately
- Menu bar icon changes to paused state
- Background tracking remains inactive until resumed
Open Dashboard
⌘D (Command + D)
Opens the main TypeSteps window with full statistics and visualizations.
Dashboard features
Dashboard features
The dashboard provides:
- Interactive charts (hourly, daily, weekly, monthly)
- Consistency heatmap
- Top applications with icons
- Productivity milestones
- Theme customization
- Data export/import
- WakaTime integration
Open at Login
Uses macOS ServiceManagement framework to properly register as a login item. Changes take effect immediately.
Quit TypeSteps
⌘Q (Command + Q)
Completely exits TypeSteps. All statistics are saved automatically before quitting.
Keyboard shortcuts summary
Pause/Resume
⌘⇧P — Toggle tracking on/offOpen Dashboard
⌘D — Show main windowQuit
⌘Q — Exit applicationMenu structure
The complete menu hierarchy:MenuBarExtra implementation
TypeSteps uses SwiftUI’sMenuBarExtra for native menu bar integration:
MenuBarExtra advantages
MenuBarExtra advantages
Real-time updates
The menu bar interface uses SwiftUI’s reactive properties:- New keystrokes are tracked
- Tracking is paused/resumed
- The day/week/month changes
StorageManager uses
@Published properties, so any changes immediately reflect in the menu bar without manual refreshing.Integration with Dashboard
The menu bar and dashboard window communicate seamlessly:Opening the dashboard
- Brings TypeSteps to the foreground
- Opens or focuses the dashboard window
- Maintains menu bar presence
Onboarding flow
- Shows the menu bar immediately
- Opens the dashboard window
- Displays onboarding overlay
- Requests Accessibility permission
Application activation policy
.regular activation policy, which:
- Shows in the Dock when dashboard is open
- Appears in Command-Tab switcher
- Displays normal application windows
- Maintains menu bar presence
Why not .accessory?
Why not .accessory?
While
.accessory would hide TypeSteps from the Dock, using .regular provides better user experience:- Users can easily find and focus the dashboard
- Standard window management works as expected
- Command-Tab switching is more intuitive
- About panel and menus work normally