Skip to content

abdxdev/Context-Menu-Plugin-Manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Context Menu Plugin Manager

screenshot_1 screenshot_2 screenshot_3

This project manages context menu plugins to extend functionality in various directories. It allows dynamic addition and removal of context menu items using Python scripts.

Features

  • Plugin Development: Easily create plugins with metadata and functionality.
  • Dynamic Menu Modification: Add or remove context menu items on the fly.
  • Extensible: Customize and extend functionality by creating new plugins.
  • Generate Plugin using AI: Generate a plugin using AI to automate the process.
  • Drag and Drop: Drag and drop files to add plugins to the context menu.
  • Configuration: Configure plugins with parameters to customize behavior.
  • Customization: Customize the appearance of the application with themes.

Installation

First make sure you have Python 3.13.1 or above installed. If not, you can download it from here.

  1. Clone the repository:

    git clone https://github.com/abdxdev/Context-Menu-Plugin-Manager.git
    
  2. Go inside the repository:

    cd Context-Menu-Plugin-Manager
    
  3. Create a virtual environment

    python -m venv .venv
    
  4. Activate the virtual environment

     .venv\Scripts\activate
    
  5. Install the requirements

    pip install -r requirements.txt
    
  6. Run the program

    python src/app.py
    

Creating a Plugin

This is a template plugin to help you get started with creating your own plugins.

Usage for Plugin Development

The driver function receives two arguments:

  • items: A list of strings representing the selected folders/files.
  • params: A dictionary containing the configuration parameters.

You can access the configuration parameters in the 'Configure Plugin' tab.

Example

# The `driver` function is the entry point for the Python script.
# Only this line of code is required to create a plugin
def driver(items: list[str] = [], params: dict = {}):

    # Example code to print the items and params
    print("Folders/Files:")
    for item in items:
        print(item)
    print("Params:")
    for key, value in params.items():
        print(f"{key}: {value}")

    # Keep the console open by waiting for user input
    input("Press Enter to exit")


# Only here for testing purposes. 
# This block is not executed when triggered as a plugin
if __name__ == "__main__":
    params = {
        "param1": "value1",
        "param2": "value2",
    }
    driver(["file1.txt", "file2.txt"], params)

License

This project is licensed under the BSD License.

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests to improve this project.

Credits

Big thanks to these awesome creators!

About

Manage context menu plugins to extend functionality in various directories using Python scripts. :p0:s3

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages