wiiznokes / fan-control

Control your fans with different behaviors
GNU General Public License v3.0
140 stars 10 forks source link
fan-control fancontrol iced librefancontrol librehardwaremonitor libsensors linux pwm rust sensors

fan-control

Download on Flathub   Download on Github release  
## Features - Display sensors data on real time - Control fans based on custom behaviors - Save configuration - Multiplatform (Linux/Windows) ![screenshot of fan-control](https://media.githubusercontent.com/media/wiiznokes/fan-control/master/res/screenshots/app.png) ## Usage - You can add items with the buttons on the right of the app. - To save a configuration, write a name in the "Configuration name" field, and click on the `+`. - To modify the value of a fan, you must select it in a `Control` item (the left column), select a `Behavior`, and activate the switch. ## Installation ### Windows 1. Install fan-control from [the release section](https://github.com/wiiznokes/fan-control/releases/latest) _The configuration files will be in [`C:\Users\wiiz\AppData\Roaming\wiiznokes\fan-control\config`](file:///C:\Users\wiiz\AppData\Roaming\wiiznokes\fan-control\config)._ ### Flatpak (Linux) 1. [Install the required udev rules](./res/linux/udev_rules.md) 2. Install fan-control from [Flathub](https://flathub.org/apps/io.github.wiiznokes.fan-control) _The configuration files will be in [`~/.var/app/io.github.wiiznokes.fan-control/config/fan-control/`](file://~/.var/app/io.github.wiiznokes.fan-control/config/fan-control/)._ To ensure the application detects the maximum number of sensors, follow these steps 1. Install `lm-sensors` For Debian-based systems, run: `sudo apt install lm-sensors` For Fedora-based systems, run: `sudo dnf install lm_sensors` 2. Run `sudo sensors-detect` to detect available sensors ## Repo structure - [hardware](./hardware/README.md): define an abstraction around the hardware. - [data](./data/README.md): define structures used in the app (Node, Config), and there logic. Depend on [hardware](./hardware/README.md) - [ui](./ui/README.md): implement the UI. Depend on [data](./data/README.md) and [hardware](./hardware/README.md) - the app: integrate all this crates in one executable ## Build See instructions [here](./BUILD.md). ## Contributing See [CONTRIBUTING.md](./CONTRIBUTING.md)