Skip to content

Commit dda4f5c

Browse files
talesamclaude
andcommitted
merge: resolve conflicts keeping local changes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2 parents c5ef3eb + 741cd73 commit dda4f5c

2,885 files changed

Lines changed: 165944 additions & 14133 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/translate-and-build-package.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
build:
1717
runs-on: ubuntu-latest
1818
steps:
19-
- uses: actions/checkout@v4
19+
- uses: actions/checkout@v3
2020
- name: If Template exit
2121
shell: bash
2222
run: |
@@ -58,7 +58,6 @@ jobs:
5858
mv big-auto-translator/gettext_po_generator_github.sh .
5959
sudo cp -f big-auto-translator/openai-translate.js /usr/local/lib/node_modules/attranslate/dist/services/openai-translate.js
6060
gitfolder=$(echo ${{ github.repository }} | rev | cut -d "/" -f1 | rev)
61-
export OriginalLang=pt-BR
6261
bash gettext_po_generator_github.sh $gitfolder
6362
6463
- name: Update github

.gitignore

Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
6+
# Distribution / packaging
7+
.Python
8+
build/
9+
develop-eggs/
10+
dist/
11+
.eggs/
12+
share/python-wheels/
13+
*.egg-info/
14+
.installed.cfg
15+
*.egg
16+
MANIFEST
17+
18+
# PyInstaller
19+
# Usually these files are written by a python script from a template
20+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
21+
*.manifest
22+
*.spec
23+
24+
# Installer logs
25+
pip-log.txt
26+
pip-delete-this-directory.txt
27+
28+
# Unit test / coverage reports
29+
htmlcov/
30+
.tox/
31+
.nox/
32+
.coverage
33+
.coverage.*
34+
.cache
35+
nosetests.xml
36+
coverage.xml
37+
*.cover
38+
*.py,cover
39+
.hypothesis/
40+
.pytest_cache/
41+
cover/
42+
43+
# Translations (compiled files only)
44+
*.mo
45+
46+
# Django stuff:
47+
*.log
48+
local_settings.py
49+
db.sqlite3
50+
db.sqlite3-journal
51+
52+
# Flask stuff:
53+
instance/
54+
.webassets-cache
55+
56+
# Scrapy stuff:
57+
.scrapy
58+
59+
# Sphinx documentation
60+
docs/_build/
61+
62+
# PyBuilder
63+
.pybuilder/
64+
target/
65+
66+
# Jupyter Notebook
67+
.ipynb_checkpoints
68+
69+
# IPython
70+
profile_default/
71+
ipython_config.py
72+
73+
# pyenv
74+
# For a library or package, you might want to ignore these files since the code is
75+
# intended to run in multiple environments; otherwise, check them in:
76+
# .python-version
77+
78+
# pipenv
79+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
80+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
81+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
82+
# install all needed dependencies.
83+
#Pipfile.lock
84+
85+
# UV
86+
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
87+
# This is especially recommended for binary packages to ensure reproducibility, and is more
88+
# commonly ignored for libraries.
89+
#uv.lock
90+
91+
# poetry
92+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
93+
# This is especially recommended for binary packages to ensure reproducibility, and is more
94+
# commonly ignored for libraries.
95+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
96+
#poetry.lock
97+
98+
# pdm
99+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
100+
#pdm.lock
101+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
102+
# in version control.
103+
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
104+
.pdm.toml
105+
.pdm-python
106+
.pdm-build/
107+
108+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
109+
__pypackages__/
110+
111+
# Celery stuff
112+
celerybeat-schedule
113+
celerybeat.pid
114+
115+
# SageMath parsed files
116+
*.sage.py
117+
118+
# Environments
119+
.env
120+
.venv
121+
env/
122+
venv/
123+
ENV/
124+
env.bak/
125+
venv.bak/
126+
127+
# Spyder project settings
128+
.spyderproject
129+
.spyproject
130+
131+
# Rope project settings
132+
.ropeproject
133+
134+
# mkdocs documentation
135+
/site
136+
137+
# mypy
138+
.mypy_cache/
139+
.dmypy.json
140+
dmypy.json
141+
142+
# Pyre type checker
143+
.pyre/
144+
145+
# pytype static type analyzer
146+
.pytype/
147+
148+
# Cython debug symbols
149+
cython_debug/
150+
151+
# PyCharm
152+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
153+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
154+
# and can be added to the global gitignore or merged into this file. For a more nuclear
155+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
156+
#.idea/
157+
158+
# Ruff stuff:
159+
.ruff_cache/
160+
161+
# PyPI configuration file
162+
.pypirc
163+
164+
# Project-specific
165+
.audit
166+
.mypy_cache
167+
.pytest_cache
168+
.serena
169+
tests
170+
driver-verify
171+
ruff.toml
172+
PLANNING.md

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 Community Big
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 169 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,174 @@
1-
# biglinux-driver-manager
2-
Show hardware informantion and install drivers
1+
<p align="center">
2+
<img src="usr/share/icons/hicolor/scalable/apps/big-driver-manager.svg" alt="Big Driver Manager" width="128" height="128">
3+
</p>
34

4-
#EN
5-
Interface to manage drivers and firmware, it has an automatic detection system and dozens of options for installation.
5+
<h1 align="center">Big Driver Manager</h1>
66

7-
It also includes an interface to show complete system information. And we can export the information into a .html file that can be easily shared across support groups.
7+
<p align="center">
8+
A modern graphical tool for managing Linux kernels and Mesa video drivers on Arch-based systems.
9+
</p>
810

9-
#PT
10-
Interface para gerenciar drivers e firmwares, possui sistema de detecção automática e dezenas de opções para instalação.
11+
<p align="center">
12+
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT"></a>
13+
<img src="https://img.shields.io/badge/Python-3.10%2B-3776AB?logo=python&logoColor=white" alt="Python 3.10+">
14+
<img src="https://img.shields.io/badge/GTK-4.0-4A86CF?logo=gtk&logoColor=white" alt="GTK 4.0">
15+
<img src="https://img.shields.io/badge/Adwaita-1.0-4A86CF" alt="Adwaita">
16+
<img src="https://img.shields.io/badge/Platform-Arch%20Linux-1793D1?logo=archlinux&logoColor=white" alt="Arch Linux">
17+
<img src="https://img.shields.io/badge/Translations-29%20languages-green" alt="29 Languages">
18+
</p>
1119

12-
Também inclui uma interface para mostrar informações completas do sistema. E podemos exportar as informações em um arquivo .html que pode ser compartilhado facilmente em grupos de suporte.
20+
---
1321

14-
![01](https://user-images.githubusercontent.com/6098501/178169427-13847f26-cb62-4280-badc-d2f6150df0be.jpeg)
15-
![02](https://user-images.githubusercontent.com/6098501/178169430-621bbd33-257f-4564-8382-e56679031d08.jpeg)
16-
![03](https://user-images.githubusercontent.com/6098501/178169431-1dec65f5-0291-43b0-b6c4-4a18bf339f47.jpeg)
17-
![04](https://user-images.githubusercontent.com/6098501/178169432-b5c3382b-770c-4bfa-8944-7d8534d10606.jpeg)
22+
## Overview
23+
24+
**Big Driver Manager** is a GTK4/Adwaita desktop application designed for [BigLinux](https://www.biglinux.com.br/) and other Arch-based distributions. It provides an intuitive graphical interface for two critical system management tasks:
25+
26+
- **Kernel Management** — Install, remove, and switch between available Linux kernels with full visibility into version, type (LTS, RT, Xanmod), and current usage status.
27+
- **Mesa Video Driver Management** — Switch between Mesa driver variants (Stable, Amber, TKG-Stable, TKG-Git) with automated conflict resolution and clear risk descriptions.
28+
29+
## Screenshots
30+
31+
> *Application uses system accent colors and follows GNOME/Adwaita design guidelines.*
32+
33+
## Features
34+
35+
### Kernel Management
36+
- View all installed kernels with version details
37+
- Identify the currently running kernel at a glance
38+
- Browse and install available kernels from the repository
39+
- Safely remove unused kernels with confirmation dialogs
40+
- Badge indicators for **LTS**, **RT**, and **In Use** status
41+
42+
### Mesa Video Driver Management
43+
- Switch between four Mesa driver variants:
44+
- **Stable** — Official Mesa release (Recommended)
45+
- **Amber** — Classic OpenGL for legacy hardware
46+
- **TKG-Stable** — Custom performance-patched build
47+
- **TKG-Git** — Bleeding-edge development version
48+
- Automatic conflict resolution during driver switching
49+
- Clear risk labels: *Recommended*, *Legacy*, *Performance*, *DEV*
50+
51+
### User Experience
52+
- Modern GTK4/Adwaita interface with dark theme support
53+
- System accent color integration on tab buttons
54+
- Asynchronous data loading with spinner indicators
55+
- Real-time terminal output during operations
56+
- Progress tracking for install/remove operations
57+
- Toast notifications for user feedback
58+
59+
### Internationalization
60+
- Full translation support via GNU gettext
61+
- **29 languages** included: Bulgarian, Czech, Danish, German, Greek, English, Spanish, Estonian, Finnish, French, Hebrew, Croatian, Hungarian, Icelandic, Italian, Japanese, Korean, Dutch, Norwegian, Polish, Portuguese, Brazilian Portuguese, Romanian, Russian, Slovak, Swedish, Turkish, Ukrainian, and Chinese
62+
63+
## Architecture
64+
65+
```
66+
usr/share/big-driver-manager/
67+
├── main.py # Application entry point
68+
├── core/
69+
│ ├── constants.py # App metadata and configuration
70+
│ ├── base_manager.py # Base class for system managers
71+
│ ├── kernel_manager.py # Kernel detection and operations
72+
│ ├── mesa_manager.py # Mesa driver switching logic
73+
│ ├── package_manager.py # Pacman wrapper for package operations
74+
│ ├── exceptions.py # Custom exception classes
75+
│ └── logging_config.py # Logging setup
76+
├── ui/
77+
│ ├── application.py # Adw.Application subclass
78+
│ ├── window.py # Main window with tab navigation
79+
│ ├── base_page.py # Base page with shared UI patterns
80+
│ ├── kernel_page.py # Kernel management interface
81+
│ ├── mesa_page.py # Mesa driver management interface
82+
│ └── progress_dialog.py # Operation progress dialog
83+
├── utils/
84+
│ └── i18n.py # Internationalization setup
85+
└── assets/
86+
└── css/
87+
└── style.css # Application stylesheet
88+
```
89+
90+
## Requirements
91+
92+
| Dependency | Version | Purpose |
93+
|---|---|---|
94+
| Python | ≥ 3.10 | Runtime |
95+
| GTK | 4.0 | UI toolkit |
96+
| libadwaita | ≥ 1.0 | Adwaita widgets and styling |
97+
| pacman || Package management (Arch Linux) |
98+
| pkexec || Privilege escalation for system operations |
99+
100+
### Python Packages
101+
102+
- `PyGObject` — GObject Introspection bindings for GTK4 and Adwaita
103+
104+
## Installation
105+
106+
### From BigLinux Repository
107+
108+
```bash
109+
sudo pacman -S big-driver-manager
110+
```
111+
112+
### From Source
113+
114+
```bash
115+
# Clone the repository
116+
git clone https://github.com/communitybig/big-driver-manager.git
117+
cd big-driver-manager
118+
119+
# Run directly (requires dependencies installed)
120+
python usr/share/big-driver-manager/main.py
121+
```
122+
123+
### Building the Package
124+
125+
```bash
126+
cd pkgbuild
127+
makepkg -si
128+
```
129+
130+
## Usage
131+
132+
Launch from your application menu or via terminal:
133+
134+
```bash
135+
big-driver-manager
136+
```
137+
138+
> **Note:** Kernel and driver operations require administrator privileges. The application uses `pkexec` to request elevated permissions when needed.
139+
140+
## Translation
141+
142+
Translation files are located in the `locale/` directory. To contribute a new translation:
143+
144+
1. Copy the template file:
145+
```bash
146+
cp locale/big-driver-manager.pot locale/<lang_code>.po
147+
```
148+
2. Translate the `msgstr` entries in the new `.po` file
149+
3. Compile the translation:
150+
```bash
151+
msgfmt locale/<lang_code>.po -o usr/share/locale/<lang_code>/LC_MESSAGES/big-driver-manager.mo
152+
```
153+
154+
## Contributing
155+
156+
Contributions are welcome! Please feel free to submit a Pull Request.
157+
158+
1. Fork the repository
159+
2. Create your feature branch (`git checkout -b feature/my-feature`)
160+
3. Commit your changes (`git commit -m 'Add my feature'`)
161+
4. Push to the branch (`git push origin feature/my-feature`)
162+
5. Open a Pull Request
163+
164+
## License
165+
166+
This project is licensed under the **MIT License** — see the [LICENSE](LICENSE) file for details.
167+
168+
## Credits
169+
170+
Developed by the [BigLinux Team](https://www.biglinux.com.br/) and the [Community Big](https://github.com/communitybig) contributors.
171+
172+
<p align="center">
173+
<sub>Made with ❤️ for the BigLinux community</sub>
174+
</p>

0 commit comments

Comments
 (0)