- New Features: - Enhancements: Added confirmation of battery charge limit management and configuration support. - Bug Fixes:
120 lines
2.4 KiB
Markdown
120 lines
2.4 KiB
Markdown
# lapctl
|
|
|
|
**lapctl** is an upcoming command-line utility written in Rust for managing laptop hardware features on Linux.
|
|
|
|
It aims to provide a simple and unified interface for controlling hybrid GPU modes, battery charging limits, and other laptop power features directly from the terminal.
|
|
|
|
---
|
|
|
|
## Planned Features
|
|
|
|
- Switch GPU modes on hybrid graphics laptops
|
|
- Integrated GPU
|
|
- Hybrid mode
|
|
- NVIDIA GPU
|
|
|
|
- Set and manage battery charging limits
|
|
- View laptop hardware and power status
|
|
- Lightweight and fast CLI interface
|
|
- Designed for Linux systems with hybrid GPUs (Optimus)
|
|
|
|
---
|
|
|
|
## Project Status
|
|
|
|
**Stable**
|
|
|
|
This project has reached its first stable milestone with all planned features implemented.
|
|
|
|
---
|
|
|
|
## Goals
|
|
|
|
- Provide a **simple CLI interface** for laptop hardware management
|
|
- Support **hybrid GPU laptops (Intel + NVIDIA / AMD + NVIDIA)**
|
|
- Offer **battery health features like charge limit control**
|
|
- Be **lightweight, fast, and easy to use**
|
|
|
|
---
|
|
|
|
## Example CLI (Planned)
|
|
|
|
```bash
|
|
lapctl gpu integrated
|
|
lapctl gpu hybrid
|
|
lapctl gpu nvidia
|
|
|
|
lapctl battery limit 80
|
|
lapctl battery status
|
|
|
|
lapctl status
|
|
```
|
|
|
|
---
|
|
|
|
## Built With
|
|
|
|
- Rust
|
|
- Modern Linux system interfaces
|
|
|
|
---
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
lapctl
|
|
│
|
|
├── Cargo.toml
|
|
├── README.md
|
|
├── LICENSE
|
|
├── .gitignore
|
|
│
|
|
├── src/
|
|
│ ├── main.rs
|
|
│ ├── cli.rs
|
|
│ │
|
|
│ ├── commands/
|
|
│ │ ├── mod.rs
|
|
│ │ ├── gpu.rs
|
|
│ │ ├── battery.rs
|
|
│ │ ├── power.rs
|
|
│ │ └── status.rs
|
|
│ │
|
|
│ ├── hardware/
|
|
│ │ ├── mod.rs
|
|
│ │ ├── gpu.rs
|
|
│ │ └── battery.rs
|
|
│ │
|
|
│ └── utils/
|
|
│ └── system.rs
|
|
|
|
```
|
|
|
|
## Roadmap
|
|
|
|
- [x] CLI structure
|
|
- [x] GPU mode switching
|
|
- [x] Battery charge limit management
|
|
- [x] Hardware status command
|
|
- [x] Configuration support
|
|
|
|
---
|
|
|
|
## Contributing
|
|
|
|
Contributions, ideas, and feature suggestions are welcome.
|
|
More contribution guidelines will be added once the project reaches its first stable milestone.
|
|
|
|
---
|
|
|
|
## License
|
|
|
|
This project is licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)**.
|
|
|
|
You are free to use, modify, and distribute this software under the terms of the license.
|
|
For full details, see the [LICENSE](LICENSE) file in this repository.
|
|
|
|
---
|
|
|
|
⭐ If you find this project interesting, consider starring the repository to follow its progress.
|