Skip to content

biglinux/biglinux-browser-selector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BigLinux Browser Selector

image

FeaturesInstallationProject StructureContributingLicense

GTK4 Python 3.10+ Adwaita License GPL


About

BigLinux Browser Selector is a modern, GTK4-based application for BigLinux that allows users to choose and install their preferred web browser with an intuitive interface. It features real-time installation progress, integrated installer support, and accessibility for screen readers.

Features

  • Modern GTK4/libadwaita interface — Clean, native look and feel
  • Browser selection & install — Choose from 10 supported browsers; install missing ones with real-time progress display
  • Real-time installation feedback — Live log output during browser installation
  • Set default browser — Configure your chosen browser as the system default
  • Accessibility support — Screen reader compatible with ARIA roles and focus indicators
  • Multiple installation sources — Supports both native packages and Flatpak installations

Installation

From BigLinux repositories (recommended)

sudo pacman -S biglinux-browser-selector

Manual build (Arch-based distros)

cd pkgbuild
makepkg -si

Dependencies

Package Purpose
gtk4 UI toolkit
python Runtime (≥ 3.10)
python-yaml YAML page configuration
python-gobject GTK4 Python bindings
polkit Privilege elevation
zenity Auxiliary dialogs

Project Structure

biglinux-browser-selector/
├── usr/
│   ├── bin/
│   │   └── biglinux-browser-selector     # launcher script
│   ├── share/
│   │   ├── applications/
│   │   │   └── org.biglinux.browser-selector.desktop
│   │   ├── browser_selector/
│   │   │   ├── main.py                   # entry point
│   │   │   ├── app.py                    # Adw.Application + CSS
│   │   │   ├── window.py                 # main window & browser logic
│   │   │   ├── widgets.py                # custom GTK4 widgets (BrowserCard, InstallPanel)
│   │   │   ├── utils.py                  # shared utilities
│   │   │   ├── style.css                 # Adwaita-based styles
│   │   │   ├── pages.yaml                # browser configuration
│   │   │   └── scripts/
│   │   │       ├── browser.sh            # browser management script
│   │   │       └── browserInstall.sh     # installation script (runs as root)
│   │   └── icons/hicolor/scalable/apps/
│   │       └── biglinux-browser-selector.svg
├── pkgbuild/
│   ├── PKGBUILD                          # Arch package build
├── README.md
└── LICENSE

Supported Browsers

  • Brave
  • Chromium
  • Chrome (Google)
  • Falkon
  • Firefox
  • Librewolf
  • Opera
  • Vivaldi
  • Edge (Microsoft)
  • Zen Browser

Each browser supports both native package installation and Flatpak variants where available.

Development

Running locally

cd usr/share/biglinux/browser_selector
python main.py

Code quality

pip install ruff
ruff check usr/share/biglinux/browser_selector/
ruff format usr/share/biglinux/browser_selector/

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Make your changes
  4. Run tests and code quality checks
  5. Commit and push
  6. Open a Pull Request

Community

License

This project is licensed under the GPL license. See the PKGBUILD for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors