Skip to content

LaptopControlPanel is a Python module that provides a Graphical Control Panel for Lenovo Thinkpad Laptop and a console tool to monitor and manage the battery.

License

Notifications You must be signed in to change notification settings

sniffer/LaptopControlPanel

 
 

Repository files navigation

LaptopControlPanel

The official LaptopControlPanel Home Page is located at http://fabricesalvaire.github.io/LaptopControlPanel

The latest documentation build from the git repository is available at readthedocs.org LaptopControlPanel@readthedocs-badge

Written by Fabrice Salvaire.

LaptopControlPanel build status @travis-ci.org


https://raw.github.com/FabriceSalvaire/LaptopControlPanel/master/doc/sphinx/source/images/screenshot1-scaled.png

https://raw.github.com/FabriceSalvaire/LaptopControlPanel/master/doc/sphinx/source/images/screenshot2-scaled.png

Introduction

LaptopControlPanel is a Python module that provides a Graphical Control Panel for Lenovo Thinkpad Laptop and a console tool to monitor and manage the battery. Such functions are not provided by standard control panels like those of the KDE desktop.

The source code is licensed under GPL V3.

Warning

This Python module uses ACPI calls and low level hardware functions. A miss use of these tools can crash the computer.

The control panel features:

  • switch on/off network interfaces (wifi and bluetooth)
  • switch on/off Nvidia GPU using /proc/acpi/bbswitch
  • fan control using thinkpad-acpi module and /proc/acpi/ibm/fan
  • battery control through ACPI calls

The battery management tool permits:

  • to set the start and stop capacity threshold to charge the battery,
  • to switch on battery when AC power is plugged,
  • to setup a "peak shift" procedure.

Some usages of these functions are:

  • to switch off the Nvidia GPU to save battery
  • to speed-up the fan to cool the hard drive located under the left hand

The source of the ACPI calls for the battery management is unknown and comes from the repository tpacpi-bat. For reference, this discussion Laptop shock detection and harddisk protection on LKML illustrates the legal concern for such information.

The battery is managed by ACPI calls through the Low Pin Count bus and the Embedded Controller (ASL base is \_SB.PCI0.LPC.EC.HKEY). ACPI is an abstraction layer to set and get registers on the computer busses. The (acpi_call) module, which is not included in the kernel, is required to perform these calls. This module must be used carefully.

Installation

Dependencies

LaptopControlPanel requires the following dependencies:

Installation from PyPi Repository

LaptopControlPanel is made available on the PyPI repository at https://pypi.python.org/pypi/LaptopControlPanel

Run this command to install the last release:

pip install LaptopControlPanel

Installation from Source

The LaptopControlPanel source code is hosted at https://github.com/FabriceSalvaire/LaptopControlPanel

To clone the Git repository, run this command in a terminal:

git clone git@github.com:FabriceSalvaire/LaptopControlPanel.git

Then to build and install LaptopControlPanel run these commands:

python setup.py build
python setup.py install

About

LaptopControlPanel is a Python module that provides a Graphical Control Panel for Lenovo Thinkpad Laptop and a console tool to monitor and manage the battery.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 82.1%
  • C 13.2%
  • Shell 3.2%
  • Other 1.5%