Skip to content

Elektroney/Hotwheel

Repository files navigation

drawing

Hotwheel - Additional Context Menu with Modular Plugin Support

Hotwheel is a tool designed to generate a circular context menu, offering modular plugin support. The interface showcases plugins organized in a circular layout, allowing users to execute them by simply moving the mouse toward the relevant segment.
The intend of this project is to increase productivity, as I feel like this is an crucial missing interaction in my workflow.

Installation 🛠️

To get started with Hotwheel, follow these simple steps:

  1. Download the latest release.
  2. Change the activation key to your liking in settings.py
  3. Run the run.vbs script.

How to Use - Demo

To utilize Hotwheel's functionality, follow these simple steps:

  1. Press your activation key
  2. Move your mouse cursor in the direction of the desired function.
  3. Release your activation key or mouse button to complete the process.
  4. The plugins __Execute__: function will get called.

Installing a Plugin

  1. Extract the Plugin: If the plugin is in a compressed format (like a zip file), extract its contents to get the plugin folder.

  2. Copy the Plugin: Copy the entire folder of the plugin.

  3. Paste into the "plugins" Folder: Navigate to the root directory of the Hotwheel project and locate the "plugins" folder. Paste the copied plugin folder into this directory.

  4. Adjust the index file If you want to have the plugin appear at a different place on the hotwheel UI change the number inside the index file inside the folder of your plugin incase it doesn't exist create it and change the number to your liking

Writing a Plugin

Creating a new plugin for Hotwheel is straightforward. Use the provided example plugin as a template, with the following key functions:

  • __init__: This function is called upon starting the program.
  • __Execute__: This function is triggered when the plugin is selected in the context menu.

After a plugin is executed, the user interface reloads, and any changes made to the ContextElement are applied.

To install a package for use in your plugin, execute the following command:

.\bin\python.exe -m pip install --target=.\plugins\libs\ PackageName

If you think your plugin could be usefull to others don't hesitate to share it
Remember to upload the libs folder along with your plugin when sharing.

Customization

Adjusting the placement of a plugin in the context menu is possible by changing the number in the index file in the plugin's folder. The wheel's origin point is set at 90°. For additional customization options, refer to the settings.py file.

Todo 📝

🔲Better looking UI with animations
🔲Better development qol for installing packages and shipping it as one
🔲Linux Support 🐧 (Shouldn't be to hard)

Support the Project

"Buy Me A Coffee"