biglinux-session-and-themes is the heart of the BigLinux user experience. It governs how the KDE Plasma session initializes, how themes are applied across different toolkits (Qt, GTK), and how hardware-specific configurations (like audio and display profiles) are managed.
It ensures that the first time a user logs in, their environment looks and feels exactly as they configured it during installation.
The initialization process ensures a seamless handover from the installer to the user session:
graph LR
A[User Login] --> B[startkde-biglinux]
B --> C{First Login?}
C -->|Yes| D[Read /etc/big-default-config/]
D --> E[Apply Language & Keyboard]
D --> F[Apply Theme & Layout]
D --> G[Configure JamesDSP]
D --> H[Apply ICC Profile]
E --> I[Create Flag File]
F --> I
G --> I
H --> I
I --> J[Plasma Session]
C -->|No| J
Settings are sourced from the following files, populated by the installer:
| File | Description |
|---|---|
big_language |
System Locale (e.g., pt_BR.UTF-8) |
big_keyboard |
X11 Keyboard Layout |
big_desktop_theme |
Selected Visual Theme |
big_desktop_changed |
Desktop Layout Preset |
big_enable_jamesdsp |
Audio Enhancement Flag |
biglinux-session-and-themes/
├── pkgbuild/ # Arch Linux packaging files
├── locale/ # Translations
└── usr/
├── bin/
│ ├── startkde-biglinux # Main session bootstrapper
│ ├── big-theme-plasma # Plasma theme applicator
│ ├── big-theme-apps # Universal app themer (GTK/Qt)
│ ├── big-wallpaper-random # Smart wallpaper rotation
│ └── detect_window_monitor # Multi-monitor heuristic
├── lib/systemd/ # User services
└── share/biglinux/ # Assets and configs
The primary entry point. It orchestrates the setup of:
- Language: Exports
$LANGand$LC_*. - Input: Configures keyboard layouts via
setxkbmap. - Visuals: Triggers theme scripts.
- Hardware: Activates ICC profiles and audio processing.
The consistency engines. They synchronize:
- Plasma: Color schemes, window decorations, icons, quarks.
- Applications: GTK2/3/4 themes, Qt5/6 styles, and Kvantum themes.
A smart wallpaper manager that:
- Selects high-quality backgrounds from the system pool.
- Validates contrast for readability.
- Respects light/dark mode preferences.
BigLinux offers professionally curated styling options:
| Preset | Vibe | Primary Palette |
|---|---|---|
| Classic | Clean, traditional | Blue / White |
| Dark | Modern, professional | Slate Gray / Blue |
| Breeze | Stock KDE look | Breeze Defaults |
| Custom | User defined | Mixed |
cd pkgbuild
makepkg -siIsolate and test specific components:
# Apply "Dark" theme preset
big-theme-plasma "BigLinux Dark"
# Sync application themes
big-theme-apps
# Force wallpaper rotation
big-wallpaper-randomplasma-workspace,plasma-frameworkkvantum,qt5-base,qt6-basegtk3,gtk4
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a feature branch (
git checkout -b feature/amazing-feature). - Commit your changes (
git commit -m 'Add amazing feature'). - Push to the branch (
git push origin feature/amazing-feature). - Open a Pull Request.
Distributed under the GPL-3.0 License. See LICENSE for more information.
Made with 💚 by the BigLinux Team