Skip to main content

Biblioteca Python para criar menus DropList interativos com atalhos de teclado + scroll do mouse

Project description

🎯 PyHub DropList

Python Version License

Biblioteca Python moderna para criar menus DropList interativos acionados por atalhos de teclado + scroll do mouse. Acesso instantâneo a suas ações favoritas sem tirar as mãos do teclado! 🚀

💡 Conceito DropList

O DropList é um padrão de interação inovador que combina:

  • Tecla Modificadora (Ctrl, Alt, Shift) + Scroll do Mouse
  • Menu contextual aparece instantaneamente na posição do cursor
  • Navegação rápida com scroll ou setas
  • Execução imediata com Enter ou click

🎮 Exemplo: Ctrl + Scroll → Menu de desenvolvimento aparece → Scroll para navegar → Enter para executar

✨ Features

  • 🎯 DropLists personalizáveis com atalhos inteligentes
  • 🖱️ Integração teclado + mouse para máxima eficiência
  • Menus contextuais rápidos que aparecem no cursor
  • 🎨 Interface moderna com PyQt5 e temas escuros
  • ⚙️ Configuração flexível via JSON ou código
  • 🔄 Recarregamento dinâmico sem reiniciar
  • 📝 Logging integrado para debugging
  • 🛡️ Tratamento robusto de erros

🚀 Instalação Rápida

# Clona o repositório
git clone https://github.com/coimbrox/pyhub-shortcut.git
cd pyhub-shortcut

# Instala dependências
pip install keyboard mouse pyqt5

# Instala em modo desenvolvimento
pip install -e .

🎮 Uso Rápido - DropList

from pyhub_shortcut.droplist_manager import DropListManager, DropListAction

# Cria ações para o menu
dev_actions = [
    DropListAction("🌐 GitHub", "start https://github.com", "🌐"),
    DropListAction("💻 VS Code", "code .", "💻"),
    DropListAction("📁 Explorer", "explorer .", "📁"),
]

# Cria e configura o manager
manager = DropListManager()
manager.register_droplist("ctrl", dev_actions, "development")
manager.start()

# Agora use: Ctrl + Scroll para ver o menu!

📖 Uso Detalhado

Exemplo Completo

# Executa exemplo completo
python examples/droplist_demo.py

Controles disponíveis:

  • Ctrl + Scroll → Menu de Desenvolvimento
  • Alt + Scroll → Menu de Produtividade
  • Shift + Scroll → Menu de Utilitários

🎛️ Configuração

As configurações são salvas em ~/.pyhub_shortcut/config.json:

{
  "actions": [
    {
      "label": "Abrir Google",
      "command": "start https://www.google.com",
      "hotkey": "ctrl+1"
    },
    {
      "label": "VS Code",
      "command": "code .",
      "hotkey": "ctrl+2"
    }
  ]
}

📁 Estrutura do Projeto

pyhub_shortcut/
├── __init__.py          # API principal
├── config.py            # Configurações básicas (legacy)
├── config_manager.py    # Gerenciador moderno de configurações
├── core.py              # Core básico (legacy)
├── core_improved.py     # Core melhorado com logging
├── ui.py                # Interface PyQt
└── cli.py               # Interface de linha de comando

🔧 Exemplos Avançados

# Exemplo básico
python examples/demo.py

# Exemplo avançado com configuração personalizada
python examples/demo_advanced.py --advanced

🛠️ Dependências

  • keyboard - Para captura de atalhos globais
  • mouse - Para detecção de scroll e posição do cursor
  • PyQt5 - Para interface gráfica moderna

📋 To-Do / Roadmap

  • ✅ Sistema básico de DropList com atalhos + scroll
  • ✅ Interface PyQt5 moderna e responsiva
  • ✅ Múltiplos DropLists com teclas diferentes
  • 🔄 Sistema de plugins para ações customizadas
  • 🎨 Temas personalizáveis (claro/escuro/custom)
  • 📱 Interface gráfica para gerenciamento de DropLists
  • 🔧 Suporte a scripts Python como ações
  • 👥 Profiles de usuário e configurações
  • 🌍 Suporte multiplataforma (Linux/macOS)
  • 🔗 Integração com bandejas do sistema
  • 📊 Analytics de uso e ações mais utilizadas

🤝 Contribuindo

Contribuições são bem-vindas! Por favor:

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📄 Licença

Distribuído sob a licença MIT. Veja LICENSE para mais informações.

👨‍💻 Autor

Gabriel Coimbra


Gostou do projeto? Deixe uma estrela!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyhub_droplist-0.1.0.tar.gz (22.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyhub_droplist-0.1.0-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file pyhub_droplist-0.1.0.tar.gz.

File metadata

  • Download URL: pyhub_droplist-0.1.0.tar.gz
  • Upload date:
  • Size: 22.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for pyhub_droplist-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ab2a6fdb695fc77f37fb87825948c167c5856f418b12b260d0489482a36c8aa0
MD5 50ed7ca1b4902628b797d8f14d7d50f7
BLAKE2b-256 547ea18453a5848405aa39668ce969793fd273d135b2931d678b00de827862c8

See more details on using hashes here.

File details

Details for the file pyhub_droplist-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pyhub_droplist-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for pyhub_droplist-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cbbb3650da3ac41079268827ef995b7ddc109883e61c2de2099d528865a188b8
MD5 d8af6eede188fcd7bfe7187a337505f6
BLAKE2b-256 569ef5a382931da40db0f2afa1f19b4dac10b86f5c4464bf7546eb9acdb93bbf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page