Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/Maldela/fancontrol-gui

GUI for Fancontrol. It uses the KAuth module of the KDE Frameworks 5 to write the generated config file. Furthermore it communicates with systemd via dbus to control the fancontrol service. If you want to compile without systemd support set the -DNO_SYSTEMD option.
https://github.com/Maldela/fancontrol-gui

Last synced: 2 months ago
JSON representation

GUI for Fancontrol. It uses the KAuth module of the KDE Frameworks 5 to write the generated config file. Furthermore it communicates with systemd via dbus to control the fancontrol service. If you want to compile without systemd support set the -DNO_SYSTEMD option.

Awesome Lists containing this project

README

        

# `fancontrol-gui`

A GUI for `fancontrol` which is part of `lm_sensors` https://github.com/lm-sensors/lm-sensors. It uses the KAuth module of KDE Frameworks 5 to write the generated config file. Furthermore, it communicates with SystemD via DBus to control the `fancontrol` service.

KAuth currently doesn't support install prefixes other than where KAuth itself was installed. If you want to use another install prefix, you have to run the application as root or another user with the necessary privileges to avoid the KAuth helper.

If you want to avoid authorizing yourself when using the helper you can set the option `-DINSTALL_POLKIT=true`. This will install a Polkit rules file allowing members of the group '`fancontrol`' to edit the config file and manipulate the SystemD service. You can change the group name with the `-DPOLKIT_GROUP_NAME` option. Service name and config file can be set with the options `-DSTANDARD_SERVICE_NAME` and `-DSTANDARD_CONFIG_FILE`.

If you want to compile without SystemD support set the option `-DNO_SYSTEMD=true`.

If your distro looks for QML plugins in `/usr/lib/qt/qml` instead of `/usr/lib/qml` you need to set the option `-DKDE_INSTALL_USE_QT_SYS_PATHS=true`.

To compile the additional KCM set the CMake option `-DBUILD_KCM=on`. The KCM is only built, if the `-DNO_SYSTEMD` option is unset or set to false.

To compile the additional KDE Plasma plasmoid set the CMake option `-DBUILD_PLASMOID=on`.

# Screenshots

> ![image](https://user-images.githubusercontent.com/8409391/89116324-02da7480-d4bd-11ea-867c-3172edf87f2e.png) ![image](https://user-images.githubusercontent.com/8409391/89116322-f8b87600-d4bc-11ea-89e4-515121cd7d71.png) ![image](https://user-images.githubusercontent.com/8409391/89116328-0a9a1900-d4bd-11ea-955f-f4e80c885d8b.png) ![image](https://user-images.githubusercontent.com/8409391/89116329-108ffa00-d4bd-11ea-990c-2c1f2ca3dc90.png)

# Build Requirements


Qt5


  • Base/Core

  • Widgets

  • Gui

  • QML





KF5


  • I18n

  • Auth

  • Config

  • Package

  • Declarative

  • CoreAddons

  • DBusAddons

  • Extra-Cmake-Modules

  • Notifications





Other


  • C++ compiler

  • Gettext

  • CMake



## Additional Runtime Requirements


Qt5


  • BQuick 2.6

  • QuickControls2 2.1

  • QuickLayouts 1.2

  • QuickDialogs 1.2





KF5
Kirigami2 2.3

## Additional Requirements for KCM


KF5
KCMUtils

## Additional Requirements for Plasmoid


KF5
Plasma

## Commands to Install Requirements

### Debian/Ubuntu Command to Install the Compilation Requirements

```sh
sudo apt-get install ca-certificates git build-essential cmake gcc g++ libkf5config-dev libkf5auth-dev libkf5package-dev libkf5declarative-dev libkf5coreaddons-dev libkf5dbusaddons-dev libkf5kcmutils-dev libkf5i18n-dev libkf5plasma-dev libqt5core5a libqt5widgets5 libqt5gui5 libqt5qml5 extra-cmake-modules qtbase5-dev libkf5notifications-dev qml-module-org-kde-kirigami2 qml-module-qtquick-dialogs qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qt-labs-settings qml-module-qt-labs-folderlistmodel gettext
```

> [!NOTE]
> This was tested on `Ubuntu 20.04.1 LTS`, `Ubuntu 24.04 LTS` and `Debian 10`.

### Fedora

```sh
sudo dnf install git gcc g++ cmake kf5-ki18n-devel kf5-kauth-devel kf5-kconfig-devel kf5-kpackage-devel kf5-kcoreaddons-devel kf5-kdbusaddons-devel extra-cmake-modules kf5-knotifications-devel qt5-qtquickcontrols2-devel kf5-kconfigwidgets-devel kf5-kcmutils-devel kf5-plasma-devel cmake gettext qt5-qtbase-devel gcc-c++ kf5-kdeclarative-devel qt5-qtquickcontrols qt5-qtquickcontrols2
```

> [!NOTE]
> This was tested on `Fedora 33`.

# Installation

```sh
git clone https://github.com/Maldela/fancontrol-gui.git
cd fancontrol-gui
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_KCM=on -DBUILD_PLASMOID=on
make -j
sudo make install
```

# Uninstallation

```sh
cd fancontrol-gui/build
sudo make uninstall
```