Skip to content

Repository files navigation

Main Menu

A fully accessible desktop application launcher with speech output and a BrailleNote-inspired function key interface.

Features

  • 20 built-in plugins: Audio Recorder, Books, Calculator, Contacts, Dictionary, Email, Files, Help, News, Notes, Podcasts, Radio, Settings, Telegram, Timer, To-Do, Translator, Weather, Wikipedia, YouTube Player
  • Category navigation: Left/Right to switch categories, Up/Down to browse items
  • Type-to-filter: Start typing to search plugins by name
  • Full speech output (SAPI via Windows TTS)
  • Function key shortcuts (F1-F12) for all common actions
  • Ctrl+F: Read any foreground window via UI Automation
  • Ctrl+O: System menu — battery status, shutdown, restart, sleep, network info, disk space, and more
  • Setup wizard on first run with rate, volume, speech toggles
  • All controls accessible: focus tracking, text character echo, screen reader friendly

Requirements

Installation

git clone https://github.com/yourusername/main-menu.git
cd main-menu
pip install -r requirements.txt
python main.py

Usage

Key Action
Left / Right Switch plugin category
Up / Down Select plugin
Enter Open plugin
F1 Help
F2 Settings (rate, volume, speech)
F3 Read current screen
F4 Announce time and date
F5 Reload plugins
F6 About
F7 / F8 Volume up / down
F9 / F10 Speech speed up / down
F11 Toggle speech on/off
F12 Quit
Ctrl+F Read any foreground window
Ctrl+O System menu
Escape Clear filter or quit
Type any letters Filter plugins by name

Project Structure

main-menu/
  main.py              # Entry point, UI, navigation
  voice.py             # TTS engine (SAPI)
  accessible.py        # Focus tracking and accessibility helpers
  audio.py             # Sound effects manager
  plugin_manager.py    # Auto-discovers plugins
  settings.json        # User preferences (ignored by git)
  sounds/              # Audio files
  plugins/             # All 20 plugins

Accessibility

This app is designed for blind and low-vision users. NVDA and other screen readers should not interact with the app — all speech is handled internally via SAPI. The app uses Qt's accessibility API to announce control names, types, and values on focus, and announces each typed character in text fields.

About

main menu is a interface for windows

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages