Skip to main content
Help us improve Python packaging – donate today!

A Control Panel for Lenovo Thinkpad Laptop

Project Description

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

Release history Release notifications

This version
History Node

0.1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
LaptopControlPanel-0.1.0.tar.gz (243.0 kB) Copy SHA256 hash SHA256 Source None Sep 21, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page