Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/wiiznokes/fan-control

Control your fans with different behaviors
https://github.com/wiiznokes/fan-control

fan-control fancontrol iced librefancontrol librehardwaremonitor libsensors linux pwm rust sensors

Last synced: 2 days ago
JSON representation

Control your fans with different behaviors

Awesome Lists containing this project

README

        

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)