- 📋 Overview
- ⚡ Easy Install
- ✨ Features
- 🎬 Demo Gallery
- 🚀 Installation
- 🔧 Usage
- 📁 Data Storage
- 🛠️ Building from Source
- 📊 Project Structure
- 🤝 Contributing
- ❓ FAQ
- ✨ Why You'll Love Magic 8-Ball Plugin
- 📄 License
- 🙏 Acknowledgements
- 🛠️ Implementation Details
Magic 8-Ball is a plugin for Microsoft PowerToys Run that brings the classic fortune-telling toy to your keyboard. Simply type magic
followed by a yes-or-no question to receive a mystical response directly from your PowerToys Run interface.
Quick Installation Steps:
1. Download using the button above
2. Extract to %LOCALAPPDATA%\Microsoft\PowerToys\PowerToys Run\Plugins\
3. Restart PowerToys
4. Start using with Alt+Space
then type magic
- 🎱 Classic Magic 8-Ball Experience - Ask yes-or-no questions and receive fortune-telling responses
- 🧠 Smart Biased Responses - Optional sentiment analysis to provide more relevant answers
- 🎬 Animated Shaking Effect - Watch the Magic 8-Ball shake before revealing your answer
- 🔊 Sound Effects - Hear the Magic 8-Ball shake when asking a question
- 🖼️ Visual Magic 8-Ball Window - See your response appear in a dedicated window with a visual Magic 8-Ball
- 😀 Response Type Indicators - Responses are categorized with emojis as positive, negative, or neutral
- ⚙️ Customizable Settings - Enable or disable animations, sound effects, and biased responses
- 🌓 Theme Support - Works with both light and dark PowerToys themes
- 🔄 Ask Again - Easily ask the same question again for a different response
- 🎨 Beautiful UI - Elegant popup window with modern design that works like a mini fortune-telling toy
- Microsoft PowerToys installed
- Windows 10 or later
- Download the latest release from the Releases page
- Extract the ZIP file to:
%LOCALAPPDATA%\Microsoft\PowerToys\PowerToys Run\Plugins\
- Restart PowerToys
- Open PowerToys Run and type
magic
to access the plugin
- Open PowerToys Run (default: Alt + Space)
- Use the following commands:
Command | Description | Example |
---|---|---|
magic |
Show Magic 8-Ball instructions | magic |
magic <question> |
Ask a yes-or-no question | magic Will I win the lottery? |
- Press Enter on a question to get a random response
- Press Ctrl + Enter to get a biased response based on your question
- Right-click on a question for additional options
- Click "Ask Again" in the Magic 8-Ball window to get another response
- Customize plugin settings in PowerToys Settings
The Magic 8-Ball plugin stores the following settings locally:
- Animation preference (enabled/disabled)
- Sound effects preference (enabled/disabled)
- Biased responses preference (enabled/disabled)
All settings are stored securely in the PowerToys settings file.
-
Clone the repository:
git clone https://github.com/ruslanlap/PowerToysRun-Magic8Ball.git
-
Open the solution in Visual Studio 2022 or later
-
Build the solution:
dotnet build Magic8Ball/Magic8Ball.sln
-
Run the build-and-zip script to create installation packages:
./build-and-zip.sh
Magic8Ball/
├── Community.PowerToys.Run.Plugin.Magic8Ball/
│ ├── Images/ # Plugin icons and animations
│ ├── Sounds/ # Sound effects
│ ├── Main.cs # Main plugin logic
│ ├── Magic8BallResultWindow.xaml # Magic 8-Ball window
│ ├── plugin.json # Plugin metadata
│ └── ...
├── Services/
│ ├── EightBallApiService.cs # API service for responses
├── Models/
│ ├── EightBallResponse.cs # Response data model
└── Magic8Ball.sln # Solution file
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
Please make sure to update tests as appropriate.
- ruslanlap - Project creator and maintainer
Does the plugin require internet access?
The plugin works best with internet access to fetch responses from the 8Ball API, but it also has a built-in fallback system that works offline.
How do I enable or disable animations?
Open PowerToys Settings, navigate to PowerToys Run > Plugins > Magic 8-Ball, and toggle the "Enable animations" option.
What's the difference between regular and biased responses?
Regular responses are completely random. Biased responses analyze your question to provide more contextually relevant answers based on the sentiment of your question.
Can I customize the responses?
Not in the current version, but this is planned for a future update.
Why does the plugin need sound permissions?
The plugin uses sound effects to enhance the Magic 8-Ball experience. You can disable these in the settings if preferred.
- Fun Distraction: Take a break and consult the Magic 8-Ball for life's important (or not so important) decisions
- Keyboard-Centric: Perfect for keyboard power users
- Customizable: Set your preferred animation and sound settings
- Fast: Instant access to fortune-telling wisdom
- Beautiful: Clean, modern UI that matches PowerToys style
- Resource-Efficient: Lightweight with minimal system impact
- Nostalgic: Brings back the classic Magic 8-Ball experience in a modern way
This project is licensed under the MIT License - see the LICENSE file for details.
- Microsoft PowerToys team for the amazing launcher
for providing the fortune-telling API
- All contributors who have helped improve this plugin
The Magic 8-Ball plugin is built using:
- C# and .NET
- WPF for the UI components
- HttpClient for API communication
- System.Text.Json for JSON parsing
- Task-based asynchronous pattern for non-blocking operations
The plugin implements several PowerToys Run interfaces:
IPlugin
- Core plugin functionalityIDelayedExecutionPlugin
- Support for delayed executionIContextMenu
- Right-click context menuIDisposable
- Resource cleanupISettingProvider
- Settings management
- Custom response sets
- Multiple language support
- More animation options
- History of past questions and answers
- Sharing responses with friends
- Advanced question analysis
- Voice input for questions
- Voice output for responses
- Custom themes for Magic 8-Ball window