Skip to content

wesellis/browser-profile-icons

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Browser Profile Icon Generator v3.0

A comprehensive tool for creating custom icons for browser profiles in Chrome, Edge, and Firefox.

Python License Stars Last Commit


Screenshot

Browser Profile Icon Generator


What is This?

A comprehensive solution for managing browser profiles with custom icons. Includes both a desktop application and browser extensions for Chrome, Edge, and Firefox.

Features

Desktop Application (ProfilePop)

  • 🎨 Icon Generation: Create custom profile icons with text, colors, and shapes
  • 🖌️ Multiple Shapes: Circle, rounded, square, hexagon, badge styles
  • 🎨 Rich Color Palette: 20+ pre-defined colors with gradient support
  • ✨ Visual Effects: Shadows, glow, borders, and opacity controls
  • 📁 Multi-Browser Support: Chrome, Edge, Firefox, Brave, Opera, Vivaldi, Safari
  • 🔧 Cross-Platform: Windows, macOS, and Linux support
  • 💾 Export/Import: Save and restore profile configurations
  • 📦 Icon Templates: 59+ pre-designed templates for common use cases

Browser Extensions

Chrome Extension (Manifest V3)

  • ✅ Profile management and quick switching
  • ✅ Keyboard shortcuts (Alt+P, Ctrl+Shift+1/2/3)
  • ✅ Import/Export profiles
  • ✅ Custom icons and colors
  • ✅ Context menu integration
  • ✅ Notifications
  • ✅ Search and filter profiles
  • ✅ Template gallery (59+ templates)

Firefox Extension (Manifest V2)

  • ✅ Full Firefox compatibility
  • ✅ Profile switching and management
  • ✅ Keyboard shortcuts
  • ✅ Export/Import functionality
  • ✅ Settings page
  • ✅ Welcome screen
  • ✅ Search and filter
  • ✅ Template gallery

Edge Extension (Manifest V3)

  • ✅ Microsoft Edge compatibility
  • ✅ Same features as Chrome extension
  • ✅ Edge-specific optimizations

What's New in v3.0

Major Improvements

  • 🎯 Complete Firefox Support: Full-featured Firefox extension
  • 🚀 Simplified Extensions: Removed incomplete Pro features, focused on core functionality
  • 📚 Icon Template Library: 59+ pre-designed templates across 11 categories
  • 🌐 Edge Support: Dedicated Microsoft Edge extension
  • Test Suite: Comprehensive pytest test coverage
  • 🧹 Code Cleanup: Removed non-functional cloud sync and payment code
  • 🔍 Search & Filter: Search profiles by name in all extensions
  • 🎨 Template Gallery: Browse and use templates by category
  • 📦 Web Store Ready: Pre-built packages for Chrome, Firefox, and Edge stores

Icon Template Categories (59 Templates)

  • Professional & Business (Work, Development, Admin, Testing, Coding, Meetings, Project, etc.)
  • Personal Use (Shopping, Travel, Health, Fitness, Food, Family, Pets, etc.)
  • Education & Learning (School, Research, Courses, Tutorials, Languages)
  • Entertainment & Games (Gaming, Music, Video, Sports, Streaming, Podcasts, Books, Movies)
  • Creative & Design (Photography, Design, Creative, Writing, Blogging, Portfolio)
  • Social Media (Discord, Reddit, Twitter/X, Social)
  • Business (Marketing, Sales, Store, Inventory, Support)
  • Productivity & Tools (Email, Cloud, News)
  • Finance & Investments (Finance, Crypto, Stocks)
  • Medical & Legal (Medical, Legal)
  • General Purpose

Installation

Desktop Application

# Clone the repository
git clone https://github.com/wesellis/browser-profile-icons.git
cd browser-profile-icons

# Install dependencies
pip install -r requirements.txt

# Run the application
python ProfilePop_Modern.py

Browser Extensions

Chrome

  1. Open Chrome and go to chrome://extensions
  2. Enable "Developer mode"
  3. Click "Load unpacked"
  4. Select the chrome-extension folder

Firefox

  1. Open Firefox and go to about:debugging#/runtime/this-firefox
  2. Click "Load Temporary Add-on"
  3. Navigate to firefox-extension folder
  4. Select manifest.json

Edge

  1. Open Edge and go to edge://extensions
  2. Enable "Developer mode"
  3. Click "Load unpacked"
  4. Select the edge-extension folder

Usage

Desktop App: Creating Profile Icons

  1. Select Browser: Choose your browser from the sidebar
  2. Customize: Pick colors, shapes, and effects in the right panel
  3. Generate: Click "Generate All Icons" to create icon files
  4. Create Shortcuts: Optional - create desktop shortcuts with custom icons

Browser Extensions: Managing Profiles

  1. Add Profile: Click "+ Add Profile" and enter a name
  2. Switch Profile: Click on any profile to switch
  3. Edit: Click the edit button to rename
  4. Export: Save profiles to JSON for backup
  5. Import: Restore profiles from JSON file

Using Icon Templates

from icon_templates import get_template, get_templates_by_category

# Get a specific template
work_template = get_template("work")
print(f"{work_template['icon']} {work_template['name']} - {work_template['color']}")

# Get all professional templates
professional = get_templates_by_category("professional")

# Search for templates
dev_templates = search_templates("development")

Project Structure

browser-profile-icons/
├── ProfilePop.py              # Original desktop app
├── ProfilePop_Modern.py       # Modern UI version
├── icon_templates.py          # Template library (NEW)
├── chrome-extension/          # Chrome extension (Simplified)
├── firefox-extension/         # Firefox extension (NEW)
├── edge-extension/            # Edge extension (NEW)
├── test_icon_templates.py     # Template tests (NEW)
├── test_profilepop_basic.py   # App tests (NEW)
├── pytest.ini                 # Test configuration (NEW)
├── requirements.txt           # Python dependencies
├── build_modern.py            # Build script
└── README.md                  # This file

Requirements

Desktop App

  • Python 3.7+
  • customtkinter
  • Pillow (PIL)
  • tkinter

Browser Extensions

  • Chrome 90+ / Edge 90+ (Chromium-based)
  • Firefox 57+

Development

  • pytest (for running tests)

Testing

# Run all tests
pytest

# Run specific test file
pytest test_icon_templates.py

# Run with verbose output
pytest -v

# Run only unit tests
pytest -m unit

Contributing

Contributions welcome! Priority areas:

  1. Additional icon templates
  2. UI/UX improvements
  3. More tests
  4. Documentation

Troubleshooting

Issue Solution
Extension not loading Check manifest.json for errors, ensure Developer mode is enabled
Icons not generating Ensure browser is closed during icon generation
Permission errors Run as administrator on Windows
Import fails Check JSON file format matches export format

Known Limitations

What Works ✅

  • Desktop icon generator with all features
  • Chrome/Edge extensions with profile management
  • Firefox extension with full functionality
  • Icon template library with 26+ templates
  • Export/Import in all extensions
  • Keyboard shortcuts
  • Cross-platform support (Windows/Mac/Linux)

What Doesn't Work ❌

  • Cloud synchronization (removed - was non-functional)
  • Pro features/payment system (removed - was incomplete)
  • Safari extension (Safari has restrictions)
  • Automatic profile detection (browser APIs limited)

Roadmap

v3.0 Completed Features ✅

  • ✅ Firefox extension (Manifest v2)
  • ✅ Icon template library (59 templates)
  • ✅ Test suite (50+ tests)
  • ✅ Edge extension support
  • ✅ Simplified, focused extensions
  • ✅ Comprehensive documentation
  • ✅ Search and filter in extensions
  • ✅ Template gallery with 11 categories
  • ✅ Web store submission packages

Optional Future Work 🔮

  • Desktop app template integration
  • Expand to 100+ templates
  • Template auto-update system
  • Visual template creator
  • Local sync between browsers
  • Web store publication

License

MIT License - See LICENSE for details.

Acknowledgments

  • Python tkinter and customtkinter for GUI
  • Pillow for image processing
  • Mozilla/Chrome/Edge extension APIs

Project Status

Completion: 100%v3.0 FINAL Release

What Works Now

Desktop Application:

  • ✅ Full-featured Python GUI (ProfilePop_Modern.py)
  • ✅ Icon generation with 5 shape options
  • ✅ 20+ color palette with gradients
  • ✅ Visual effects (shadow, glow, border, opacity)
  • ✅ Multi-browser support (6+ browsers)
  • ✅ Cross-platform (Windows/Mac/Linux)
  • ✅ Settings persistence
  • ✅ Export/Import profiles

Browser Extensions:

  • ✅ Chrome extension (Manifest V3)
  • ✅ Firefox extension (Manifest V2) - NEW
  • ✅ Edge extension (Manifest V3) - NEW
  • ✅ Profile management
  • ✅ Quick switching (keyboard shortcuts)
  • ✅ Export/Import functionality
  • ✅ Settings page
  • ✅ Context menu integration

Development:

  • ✅ Icon template library (59 templates) - NEW
  • ✅ Test suite (pytest - 50+ tests) - NEW
  • ✅ Clean codebase (removed non-functional features)
  • ✅ Comprehensive documentation
  • ✅ Web store submission packages - NEW

Completed Features

Core Features (100%):

  • ✅ Desktop icon generator
  • ✅ Chrome, Firefox, Edge extensions
  • ✅ 59+ icon templates
  • ✅ Search and filter
  • ✅ Template gallery with categories
  • ✅ Export/Import
  • ✅ Keyboard shortcuts
  • ✅ Test suite (50+ tests)
  • ✅ Web store packages

Future Enhancements (Optional):

  • 🔮 Desktop app template gallery integration
  • 🔮 More templates (target: 100+)
  • 🔮 Auto-update system
  • 🔮 Custom template creator tool
  • 🔮 Browser extension sync (local)

What Changed in v3.0

Removed (Non-Functional):

  • ❌ Cloud sync (fake API calls removed)
  • ❌ Pro features/payment (incomplete licensing removed)
  • ❌ Analytics tracking (unused code removed)

Added (Fully Functional):

  • ✅ Firefox extension (complete implementation)
  • ✅ Icon template library (59 templates, 11 categories)
  • ✅ Test suite (50+ comprehensive tests)
  • ✅ Edge extension (dedicated support)
  • ✅ Simplified, focused feature set
  • ✅ Search and filter functionality
  • ✅ Template gallery with category browsing
  • ✅ Web store submission packages

Current Status

v3.0 is 100% COMPLETE! 🎉

All planned features are fully implemented:

  • ✅ Desktop app with full icon generation
  • ✅ Three browser extensions (Chrome, Firefox, Edge)
  • ✅ 59 icon templates across 11 categories
  • ✅ Template gallery with search and category filtering
  • ✅ Search functionality in all extensions
  • ✅ Export/Import with keyboard shortcuts
  • ✅ 50+ comprehensive tests
  • ✅ Web store submission packages ready
  • ✅ Complete documentation

The tool is production-ready and fully functional! All core features work reliably, and the codebase is clean and well-tested. Any future work is optional enhancement rather than completion.


Author: Wesley Ellis Website: wesellis.com GitHub: wesellis/browser-profile-icons

Note: This is a personal project for productivity. Core features are stable and tested. Use at your own discretion.

About

Desktop app and browser extensions for creating custom browser profile icons

Topics

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors