A minimal Firefox theme installer written with Python.
Key Features • Screenshots • Build For Testing • Download • Folder Structure • License
- Cross platform
- Custom theme support
- Theme preview before installation
- Custom script loader support
You can download the latest installable version of Firefox Theme Installer for Windows and Linux (I add the MacOS path but I didn't test it because I don't have a MacOS device).
When you install a Firefox theme, the app checks for the presence of userChrome.css
or userContent.css
files. If either of these files is found, the app will copy all associated files and directories from the location of the userChrome.css
or userContent.css
file. If neither file is found, the app will return an error message: No theme data or userChrome.css found
.
All themes installing with the app are stored in the themes
directory. This folder under the cache directory. If you want to remove a theme, you can do it from the app or manually delete the theme folder from the themes
directory. Here is the directory of the cache directory.
To test and build the app, check the test guide.
If you encounter any issues or have suggestions for improvements, please feel free to open an issue on our GitHub Issues page. We welcome contributions and feedback from the community to make this project better.
- Search Existing Issues: Before opening a new issue, please check if the issue has already been reported.
- Create a New Issue: If your issue is not listed, create a new issue and provide detailed information.
- Title: A clear and descriptive title.
- Description: A detailed description of the issue, including steps to reproduce, expected behavior, and actual behavior.
- Screenshots: If applicable, include screenshots to help illustrate the issue.
- Environment: Specify the environment in which the issue occurs (e.g., OS, Python version, etc.).
We also welcome feature requests! If you have an idea for a new feature or an improvement, please open an issue and label it as a feature request. Provide as much detail as possible to help us understand your suggestion.
Thank you for helping us improve Firefox Theme Installer!
We welcome contributions from the community to help improve Firefox Theme Installer. If you would like to contribute, please follow these steps:
- Fork the Repository: Click the "Fork" button in the upper right corner of the repository.
- Clone the Repository: Clone the forked repository to your local machine.
- Create a New Branch: Create a new branch for your contribution.
- Make Changes: Make your changes to the codebase. If you are adding a new language check the adding a new language guide.
- Commit Changes: Commit your changes with a descriptive commit message.
- Push Changes: Push your changes to your forked repository.
- Create a Pull Request: Create a pull request to the main repository with your changes.
🗃
├── 🗎 readme.md
├── 🗎 LICENSE
├── 🖿 assets
│ └── 🖻 Preview images
└── 🖿 src
├── ⚙️ app.py
├── 🖿 assets
│ ├── 🖻 block_spinner.gif
│ ├── 🖻 firefox.ico
│ └── 🖻 Other assets
├── 🖿 core
│ ├── 🖿 component_tools
│ │ ├── 🗎 preview_theme.py
│ │ ├── 🗎 special_input_functions.py
│ │ └── 🗎 thread_manager.py
│ ├── 🖿 data_tools
│ │ ├── 🗎 get_folder_locations.py
│ │ ├── 🗎 get_os_properties.py
│ │ ├── 🗎 get_theme_data.py
│ │ ├── 🗎 image_loader.py
│ │ ├── 🗎 language_manager.py
│ │ └── 🗎 load_json_data.py
│ ├── 🖿 file_utils
│ │ ├── 🗎 detect_and_download_files.py
│ │ ├── 🗎 file_actions.py
│ │ └── 🗎 get_the_theme_files.py
│ └── 🖿 window_tools
│ └── 🗎 center_window.py
├── 🖿 data
│ ├── 🖿 language
│ │ └── 🗎 Language Data Files (json)
│ ├── 🖿 online
│ │ └── 🗎 fx-autoconfig.json
│ └── 🖿 static
│ ├── 🖿 components
│ │ ├── 🖿 inputs_and_checkboxes
│ │ │ └── 🗎 data.py
│ │ └── 🖿 navigation_buttons
│ │ └── 🗎 data.py
│ ├── 🗎 global_data.py
│ └── 🗎 os_properties.py
└── 🖿 UI
├── 🖿 components
│ ├── 🗎 create_detect_installed_theme.py
│ ├── 🗎 create_header.py
│ ├── 🗎 create_inputs_and_checkboxes.py
│ ├── 🗎 create_navigation_button.py
│ └── 🗎 set_window_icon.py
├── 🖿 modals
│ ├── 🗎 info_modals.py
│ ├── 🗎 theme_detail_modal.py
│ └── 🗎 theme_modal.py
└── 🖿 pages
├── 🗎 home_page.py
├── 🗎 install_page.py
├── 🗎 remove_page.py
└── 🗎 status_page.py
Firefox Theme Installer is licensed under the MIT License.