Skip to content

biglinux/biglinux-welcome

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BigLinux Welcome

image

FeaturesInstallationProject StructureTranslationsContributingLicense

GTK4 Python 3.10+ Adwaita License GPL 28 Languages


About

BigLinux Welcome is a guided setup and feature discovery application for BigLinux. It launches on the first login to help users configure their new system, choose a default browser, discover built-in tools, and connect with the community — all through a clean, modern GTK4/libadwaita interface.

Features

  • Step-by-step guided setup — walks the user through essential configuration pages
  • Browser selection & install — choose from 10 supported browsers; install missing ones with real-time progress
  • KDE Connect integration — QR codes for quick mobile pairing (Android & iOS)
  • Driver & hardware tools — quick access to driver manager, kernel manager, and hardware info
  • Feature discovery — introduces BigLinux-exclusive tools (Big Store, WebApps, Noise Reduction, OCR, and more)
  • Community & donation links — forum, YouTube, Telegram, and donation page
  • Autostart control — checkbox to enable/disable the app on login via systemd user service
  • Keyboard & screen reader accessible:focus-visible indicators and ARIA roles for Orca compatibility
  • YAML-driven pages — add, remove, or reorder pages by editing a single pages.yaml file
  • Internationalized — 28 languages with automated translation pipeline via GitHub Actions

Installation

From BigLinux repositories (recommended)

sudo pacman -S biglinux-welcome

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-welcome/
├── usr/
│   ├── bin/
│   │   └── biglinux-welcome              # launcher script
│   ├── lib/systemd/user/
│   │   └── biglinux-welcome.service      # autostart unit
│   └── share/
│       ├── applications/
│       │   └── org.biglinux.welcome.desktop
│       ├── biglinux/welcome/
│       │   ├── main.py                   # entry point
│       │   ├── app.py                    # Adw.Application + CSS
│       │   ├── window.py                 # main window & navigation
│       │   ├── widgets.py                # custom GTK4 widgets
│       │   ├── utils.py                  # shared utilities
│       │   ├── style.css                 # Adwaita-based styles
│       │   ├── pages.yaml                # page definitions
│       │   ├── translatable_strings.py   # auto-generated for gettext
│       │   ├── scripts/                  # shell helpers
│       │   └── image/                    # SVG icons per category
│       ├── icons/hicolor/scalable/apps/
│       │   └── biglinux-welcome.svg
│       └── locale/                       # compiled .mo translations
├── locale/                               # source .po translation files
├── pkgbuild/
│   ├── PKGBUILD                          # Arch package build
│   └── biglinux-welcome.install          # post-install hooks
├── generate_strings.py                   # extracts translatable strings from YAML
├── tests/                                # unit tests (pytest)
└── .github/workflows/
    └── translate-and-build-package.yml   # CI: auto-translate & build

Translations

The project supports 28 languages with an automated translation pipeline:

  1. Translatable strings are extracted from pages.yamltranslatable_strings.py
  2. Source strings are collected into locale/biglinux-welcome.pot
  3. A GitHub Actions workflow auto-translates into all target languages
  4. Compiled .mo files are deployed under usr/share/locale/

Supported languages: Bulgarian, Czech, Danish, German, Greek, English, Spanish, Estonian, Finnish, French, Hebrew, Croatian, Hungarian, Icelandic, Italian, Japanese, Korean, Dutch, Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, Swedish, Turkish, Ukrainian, Chinese.

Adding a new language

  1. Create a new .po file in locale/ (e.g., locale/vi.po)
  2. The CI pipeline will handle translation and compilation automatically

Development

Running locally

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

Running tests

pip install pytest
python -m pytest tests/ -v

Code quality

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

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 the tests (python -m pytest tests/ -v)
  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

Stars

Watchers

Forks

Packages

 
 
 

Contributors