From 00733541ec7cb60bc0414526ba9a6e28e7764874 Mon Sep 17 00:00:00 2001 From: "pablog@emerxente.es" <44474447> Date: Sat, 29 Nov 2025 22:20:15 +0100 Subject: [PATCH] Battery conservation mode control for Lenovo IdeaPad laptops on Linux --- ideapad-battery-care@macal/CHANGELOG.md | 33 ++ ideapad-battery-care@macal/README.md | 161 +++++++ .../ideapad-battery-care@cinnamon/applet.js | 442 ++++++++++++++++++ .../icons/battery-conservation-active.svg | 30 ++ .../icons/battery-conservation-inactive.svg | 20 + .../icons/battery-error.svg | 25 + .../metadata.json | 12 + ideapad-battery-care@macal/info.json | 9 + ideapad-battery-care@macal/screenshot.png | Bin 0 -> 52110 bytes 9 files changed, 732 insertions(+) create mode 100644 ideapad-battery-care@macal/CHANGELOG.md create mode 100644 ideapad-battery-care@macal/README.md create mode 100644 ideapad-battery-care@macal/files/ideapad-battery-care@cinnamon/applet.js create mode 100644 ideapad-battery-care@macal/files/ideapad-battery-care@cinnamon/icons/battery-conservation-active.svg create mode 100644 ideapad-battery-care@macal/files/ideapad-battery-care@cinnamon/icons/battery-conservation-inactive.svg create mode 100644 ideapad-battery-care@macal/files/ideapad-battery-care@cinnamon/icons/battery-error.svg create mode 100644 ideapad-battery-care@macal/files/ideapad-battery-care@cinnamon/metadata.json create mode 100644 ideapad-battery-care@macal/info.json create mode 100644 ideapad-battery-care@macal/screenshot.png diff --git a/ideapad-battery-care@macal/CHANGELOG.md b/ideapad-battery-care@macal/CHANGELOG.md new file mode 100644 index 00000000000..561edd92690 --- /dev/null +++ b/ideapad-battery-care@macal/CHANGELOG.md @@ -0,0 +1,33 @@ +# Changelog - IdeaPad Battery Care + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [1.1.0] - 2025-11-28 + +### Changed +- Renamed from "Coidado Batería" to "IdeaPad Battery Care" +- Changed active mode icon from battery to plug (ac-adapter-symbolic) for better visual distinction +- Updated all user-facing strings to English +- Migrated from sudoers to PolicyKit for permission management +- Restructured repository for Cinnamon Spices compatibility + +### Fixed +- Fixed applet constructor timing issue with `_applet_context_menu` +- Fixed Cinnamon 6.4 compatibility in metadata.json + +## [1.0.0] - 2025-11-27 + +### Added +- Initial release +- Battery conservation mode toggle (80% charge limit) +- Cinnamon panel applet with one-click toggle +- CLI tool with status, on, off, toggle, restore commands +- Automatic hardware detection for Lenovo IdeaPad laptops +- Persistence of user preference across reboots +- Real-time battery percentage display +- Context menu with Enable/Disable options +- PolicyKit integration for passwordless operation +- Support for Cinnamon 5.0 through 6.4 diff --git a/ideapad-battery-care@macal/README.md b/ideapad-battery-care@macal/README.md new file mode 100644 index 00000000000..19d3bf6b078 --- /dev/null +++ b/ideapad-battery-care@macal/README.md @@ -0,0 +1,161 @@ +# IdeaPad Battery Care - Cinnamon Applet + +Battery conservation mode control for Lenovo IdeaPad laptops on Linux. + +## Description + +This Cinnamon applet allows you to control the **battery conservation mode** on Lenovo IdeaPad laptops. When enabled, this mode limits battery charging to **80%** to extend battery lifespan, which is ideal if your laptop is frequently connected to AC power. + +## Features + +- **One-click toggle** - Left-click the panel icon to toggle conservation mode +- **Visual indicators** - Plug icon when active (80%), battery icon when inactive (100%) +- **Real-time status** - Tooltip shows current mode and battery percentage +- **Persistence** - Remembers your preference across reboots +- **Auto-detection** - Automatically finds compatible Lenovo hardware +- **Secure** - Uses PolicyKit for safe permission handling + +## Icons + +| Icon | Status | +|------|--------| +| 🔌 Plug (ac-adapter) | Conservation mode **active** - charging limited to 80% | +| 🔋 Battery | Conservation mode **inactive** - full charge to 100% | +| ⚠️ Warning | Incompatible hardware detected | + +## Compatible Hardware + +This applet works with Lenovo laptops that support the `ideapad_acpi` kernel module with conservation mode feature. + +To check if your laptop is compatible: + +```bash +ls /sys/bus/platform/drivers/ideapad_acpi/*/conservation_mode 2>/dev/null && echo "Compatible" || echo "Not compatible" +``` + +### Tested Models + +- Lenovo IdeaPad 16IRL8 +- Other IdeaPad models with ideapad_acpi support + +## Requirements + +- Linux Mint with Cinnamon desktop (tested on LMDE6 with Cinnamon 6.4) +- Lenovo laptop with `ideapad_acpi` kernel module support +- PolicyKit (pkexec) for privilege elevation + +## Installation + +### From Cinnamon Spices + +1. Right-click on the Cinnamon panel +2. Select "Applets" +3. Click the "Download" tab +4. Search for "IdeaPad Battery Care" +5. Click the install button + +### Manual Installation + +1. Download the applet files +2. Extract to `~/.local/share/cinnamon/applets/ideapad-battery-care@cinnamon/` +3. Restart Cinnamon: `Alt+F2` → type `r` → Enter +4. Add the applet to your panel + +### CLI Installation (Recommended) + +For full functionality with the helper script and PolicyKit policy: + +```bash +git clone https://github.com/your-username/ideapad-battery-care.git +cd ideapad-battery-care +sudo ./scripts/install.sh +./scripts/install-applet.sh +``` + +## Usage + +### Panel Applet + +| Action | Result | +|--------|--------| +| **Left click** | Toggle conservation mode on/off | +| **Right click** | Context menu with Enable/Disable options | +| **Hover** | Tooltip shows current status and battery percentage | + +### CLI Commands (if CLI installed) + +```bash +ideapad-battery-care status # Show current status +ideapad-battery-care on # Enable conservation mode (80%) +ideapad-battery-care off # Disable conservation mode (100%) +ideapad-battery-care toggle # Toggle state +``` + +## Configuration + +Settings are automatically saved to: +``` +~/.config/ideapad-battery-care/config.json +``` + +Your preference is restored when the applet loads or when the system restarts. + +## How It Works + +1. **Hardware Detection**: The applet looks for the conservation mode control file at: + ``` + /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode + ``` + If not found, it searches all subdirectories under `/sys/bus/platform/drivers/ideapad_acpi/`. + +2. **Control**: Writing `1` enables conservation mode (80% charge limit), writing `0` disables it. + +3. **Permissions**: Uses PolicyKit (pkexec) with a helper script for secure privilege elevation without requiring password entry on active local sessions. + +## Troubleshooting + +### Applet shows warning icon + +Your laptop may not support conservation mode. Check compatibility with: +```bash +lsmod | grep ideapad_acpi +``` + +If the module is not loaded, try: +```bash +sudo modprobe ideapad_acpi +``` + +### Permission errors + +Make sure the CLI tools are installed: +```bash +sudo ./scripts/install.sh +``` + +This installs the PolicyKit policy that allows passwordless operation. + +### Applet doesn't update after CLI changes + +The applet polls for status updates every 30 seconds. Changes made via CLI will be reflected on the next poll cycle. + +### Applet doesn't appear + +Restart Cinnamon: `Alt+F2` → type `r` → Enter + +## License + +MIT License - See [LICENSE](../../LICENSE) file for details. + +## Author + +**Macal** + +## Project Links + +- **Main Repository**: https://github.com/your-username/ideapad-battery-care +- **Report Issues**: https://github.com/your-username/ideapad-battery-care/issues + +## Changelog + +See [CHANGELOG.md](CHANGELOG.md) for version history. diff --git a/ideapad-battery-care@macal/files/ideapad-battery-care@cinnamon/applet.js b/ideapad-battery-care@macal/files/ideapad-battery-care@cinnamon/applet.js new file mode 100644 index 00000000000..c6e3d66f381 --- /dev/null +++ b/ideapad-battery-care@macal/files/ideapad-battery-care@cinnamon/applet.js @@ -0,0 +1,442 @@ +/** + * IdeaPad Battery Care - Cinnamon Applet + * + * Battery conservation mode control for Lenovo IdeaPad laptops. + * Limits charging to 80% to extend battery life. + */ + +const Applet = imports.ui.applet; +const PopupMenu = imports.ui.popupMenu; +const St = imports.gi.St; +const GLib = imports.gi.GLib; +const Gio = imports.gi.Gio; +const Mainloop = imports.mainloop; +const Lang = imports.lang; +const ByteArray = imports.byteArray; + +// Constants +const UUID = "ideapad-battery-care@cinnamon"; +const APPLET_PATH = imports.ui.appletManager.appletMeta[UUID].path; + +// System paths +const DEFAULT_CONSERVATION_PATH = "/sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode"; +const IDEAPAD_ACPI_DIR = "/sys/bus/platform/drivers/ideapad_acpi"; +const BATTERY_PATHS = [ + "/sys/class/power_supply/BAT0/capacity", + "/sys/class/power_supply/BAT1/capacity" +]; + +// Configuration +const CONFIG_DIR = GLib.get_home_dir() + "/.config/ideapad-battery-care"; +const CONFIG_FILE = CONFIG_DIR + "/config.json"; +const CACHE_FILE = CONFIG_DIR + "/.path_cache"; + +// Update interval (30 seconds) +const UPDATE_INTERVAL = 30; + +// Icons - "ac-adapter" for active (plugged/limited), "battery-good" for inactive (full charge) +const ICON_ACTIVE = "ac-adapter-symbolic"; +const ICON_INACTIVE = "battery-good-symbolic"; +const ICON_ERROR = "dialog-warning-symbolic"; + + +class IdeaPadBatteryCareApplet extends Applet.IconApplet { + + constructor(orientation, panel_height, instance_id) { + super(orientation, panel_height, instance_id); + + this._orientation = orientation; + this._instance_id = instance_id; + + // Internal state + this._conservationPath = null; + this._isConservationActive = false; + this._batteryPercent = null; + this._hardwareError = false; + this._pollTimeoutId = null; + + // Detect hardware + this._detectHardware(); + + // Setup context menu (after super()) + this._setupContextMenu(); + + // Cargar configuración y aplicar si existe + this._loadAndApplyConfig(); + + // Actualizar estado inicial + this._updateState(); + + // Iniciar polling + this._startPolling(); + } + + /** + * Detecta el archivo conservation_mode en el sistema + */ + _detectHardware() { + // Primero intentar leer de cache + let cachedPath = this._readCachedPath(); + if (cachedPath && this._fileExists(cachedPath)) { + this._conservationPath = cachedPath; + return; + } + + // Verificar ruta por defecto + if (this._fileExists(DEFAULT_CONSERVATION_PATH)) { + this._conservationPath = DEFAULT_CONSERVATION_PATH; + this._cachePath(DEFAULT_CONSERVATION_PATH); + return; + } + + // Buscar en rutas alternativas + let foundPath = this._findConservationMode(); + if (foundPath) { + this._conservationPath = foundPath; + this._cachePath(foundPath); + return; + } + + // Hardware no compatible + this._hardwareError = true; + global.logError("IdeaPad Battery Care: Hardware no compatible - conservation_mode no encontrado"); + } + + /** + * Busca el archivo conservation_mode recursivamente + */ + _findConservationMode() { + if (!this._fileExists(IDEAPAD_ACPI_DIR)) { + return null; + } + + try { + let [success, stdout, stderr, exit_status] = GLib.spawn_command_line_sync( + `find ${IDEAPAD_ACPI_DIR} -name conservation_mode 2>/dev/null` + ); + + if (success && stdout) { + let output = ByteArray.toString(stdout).trim(); + if (output) { + return output.split('\n')[0]; + } + } + } catch (e) { + global.logError("IdeaPad Battery Care: Error buscando conservation_mode: " + e.message); + } + + return null; + } + + /** + * Lee la ruta cacheada + */ + _readCachedPath() { + try { + if (this._fileExists(CACHE_FILE)) { + let [success, contents] = GLib.file_get_contents(CACHE_FILE); + if (success) { + return ByteArray.toString(contents).trim(); + } + } + } catch (e) { + // Ignorar errores de cache + } + return null; + } + + /** + * Guarda la ruta en cache + */ + _cachePath(path) { + try { + this._ensureConfigDir(); + GLib.file_set_contents(CACHE_FILE, path); + } catch (e) { + // Ignorar errores de cache + } + } + + /** + * Verifica si un archivo existe + */ + _fileExists(path) { + return GLib.file_test(path, GLib.FileTest.EXISTS); + } + + /** + * Asegura que el directorio de configuración existe + */ + _ensureConfigDir() { + if (!this._fileExists(CONFIG_DIR)) { + GLib.mkdir_with_parents(CONFIG_DIR, 0o755); + } + } + + /** + * Configura el menú contextual + */ + _setupContextMenu() { + // Separador + this._applet_context_menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + + // Item para activar + this._activateItem = new PopupMenu.PopupMenuItem("Activar modo conservación"); + this._activateItem.connect('activate', Lang.bind(this, function() { + this._setConservationMode(true); + })); + this._applet_context_menu.addMenuItem(this._activateItem); + + // Item para desactivar + this._deactivateItem = new PopupMenu.PopupMenuItem("Desactivar modo conservación"); + this._deactivateItem.connect('activate', Lang.bind(this, function() { + this._setConservationMode(false); + })); + this._applet_context_menu.addMenuItem(this._deactivateItem); + } + + /** + * Lee el estado actual del modo conservación + */ + _readConservationMode() { + if (this._hardwareError || !this._conservationPath) { + return null; + } + + try { + let [success, contents] = GLib.file_get_contents(this._conservationPath); + if (success) { + let value = ByteArray.toString(contents).trim(); + return value === "1"; + } + } catch (e) { + global.logError("IdeaPad Battery Care: Error leyendo conservation_mode: " + e.message); + } + + return null; + } + + /** + * Escribe el nuevo estado del modo conservación + */ + _writeConservationMode(active) { + if (this._hardwareError || !this._conservationPath) { + return false; + } + + let value = active ? "1" : "0"; + + try { + // Usar el helper con pkexec (PolicyKit) + let [success, stdout, stderr, exit_status] = GLib.spawn_command_line_sync( + `pkexec /usr/local/bin/ideapad-battery-care-helper ${value} ${this._conservationPath}` + ); + + if (exit_status === 0) { + this._saveConfig(active); + return true; + } else { + global.logError("IdeaPad Battery Care: Error escribiendo conservation_mode: " + + (stderr ? ByteArray.toString(stderr) : "exit code " + exit_status)); + } + } catch (e) { + global.logError("IdeaPad Battery Care: Error ejecutando helper: " + e.message); + } + + return false; + } + + /** + * Lee el porcentaje de batería + */ + _readBatteryPercent() { + for (let i = 0; i < BATTERY_PATHS.length; i++) { + let path = BATTERY_PATHS[i]; + if (this._fileExists(path)) { + try { + let [success, contents] = GLib.file_get_contents(path); + if (success) { + return parseInt(ByteArray.toString(contents).trim()); + } + } catch (e) { + continue; + } + } + } + return null; + } + + /** + * Guarda la configuración del usuario + */ + _saveConfig(active) { + try { + this._ensureConfigDir(); + let config = JSON.stringify({ conservation_mode: active }); + GLib.file_set_contents(CONFIG_FILE, config); + } catch (e) { + global.logError("IdeaPad Battery Care: Error guardando configuración: " + e.message); + } + } + + /** + * Carga la configuración del usuario + */ + _loadConfig() { + try { + if (this._fileExists(CONFIG_FILE)) { + let [success, contents] = GLib.file_get_contents(CONFIG_FILE); + if (success) { + let config = JSON.parse(ByteArray.toString(contents)); + return config.conservation_mode; + } + } + } catch (e) { + // Ignorar errores de configuración + } + return null; + } + + /** + * Carga y aplica la configuración guardada + */ + _loadAndApplyConfig() { + let savedMode = this._loadConfig(); + if (savedMode !== null && !this._hardwareError) { + let currentMode = this._readConservationMode(); + if (currentMode !== null && currentMode !== savedMode) { + this._writeConservationMode(savedMode); + } + } + } + + /** + * Actualiza el estado del applet + */ + _updateState() { + // Leer estado actual + let mode = this._readConservationMode(); + if (mode !== null) { + this._isConservationActive = mode; + } + + // Leer batería + this._batteryPercent = this._readBatteryPercent(); + + // Actualizar UI + this._updateIcon(); + this._updateTooltip(); + this._updateMenuItems(); + } + + /** + * Actualiza el icono del applet + */ + _updateIcon() { + if (this._hardwareError) { + this.set_applet_icon_symbolic_name(ICON_ERROR); + } else if (this._isConservationActive) { + this.set_applet_icon_symbolic_name(ICON_ACTIVE); + } else { + this.set_applet_icon_symbolic_name(ICON_INACTIVE); + } + } + + /** + * Actualiza el tooltip del applet + */ + _updateTooltip() { + let tooltip = ""; + + if (this._hardwareError) { + tooltip = "Hardware no compatible"; + } else { + let modeText = this._isConservationActive + ? "Modo conservación: Activo (80%)" + : "Modo conservación: Inactivo (100%)"; + + let batteryText = this._batteryPercent !== null + ? "Batería: " + this._batteryPercent + "%" + : ""; + + tooltip = modeText; + if (batteryText) { + tooltip += "\n" + batteryText; + } + } + + this.set_applet_tooltip(tooltip); + } + + /** + * Actualiza los items del menú contextual + */ + _updateMenuItems() { + if (this._hardwareError) { + this._activateItem.setSensitive(false); + this._deactivateItem.setSensitive(false); + } else { + this._activateItem.setSensitive(!this._isConservationActive); + this._deactivateItem.setSensitive(this._isConservationActive); + } + } + + /** + * Cambia el modo de conservación + */ + _setConservationMode(active) { + if (this._writeConservationMode(active)) { + this._isConservationActive = active; + this._updateIcon(); + this._updateTooltip(); + this._updateMenuItems(); + } + } + + /** + * Inicia el polling para actualizar el estado + */ + _startPolling() { + if (this._pollTimeoutId) { + Mainloop.source_remove(this._pollTimeoutId); + } + + this._pollTimeoutId = Mainloop.timeout_add_seconds(UPDATE_INTERVAL, Lang.bind(this, function() { + this._updateState(); + return true; // Continuar el polling + })); + } + + /** + * Detiene el polling + */ + _stopPolling() { + if (this._pollTimeoutId) { + Mainloop.source_remove(this._pollTimeoutId); + this._pollTimeoutId = null; + } + } + + /** + * Manejador del clic en el applet + */ + on_applet_clicked(event) { + if (!this._hardwareError) { + this._setConservationMode(!this._isConservationActive); + } + } + + /** + * Manejador de eliminación del applet + */ + on_applet_removed_from_panel() { + this._stopPolling(); + } +} + +/** + * Función principal - punto de entrada del applet + */ +function main(metadata, orientation, panel_height, instance_id) { + return new IdeaPadBatteryCareApplet(orientation, panel_height, instance_id); +} diff --git a/ideapad-battery-care@macal/files/ideapad-battery-care@cinnamon/icons/battery-conservation-active.svg b/ideapad-battery-care@macal/files/ideapad-battery-care@cinnamon/icons/battery-conservation-active.svg new file mode 100644 index 00000000000..9a7766559c2 --- /dev/null +++ b/ideapad-battery-care@macal/files/ideapad-battery-care@cinnamon/icons/battery-conservation-active.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ideapad-battery-care@macal/files/ideapad-battery-care@cinnamon/icons/battery-conservation-inactive.svg b/ideapad-battery-care@macal/files/ideapad-battery-care@cinnamon/icons/battery-conservation-inactive.svg new file mode 100644 index 00000000000..0d7f3dfe614 --- /dev/null +++ b/ideapad-battery-care@macal/files/ideapad-battery-care@cinnamon/icons/battery-conservation-inactive.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/ideapad-battery-care@macal/files/ideapad-battery-care@cinnamon/icons/battery-error.svg b/ideapad-battery-care@macal/files/ideapad-battery-care@cinnamon/icons/battery-error.svg new file mode 100644 index 00000000000..3f3e3ee3937 --- /dev/null +++ b/ideapad-battery-care@macal/files/ideapad-battery-care@cinnamon/icons/battery-error.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/ideapad-battery-care@macal/files/ideapad-battery-care@cinnamon/metadata.json b/ideapad-battery-care@macal/files/ideapad-battery-care@cinnamon/metadata.json new file mode 100644 index 00000000000..b07050e7747 --- /dev/null +++ b/ideapad-battery-care@macal/files/ideapad-battery-care@cinnamon/metadata.json @@ -0,0 +1,12 @@ +{ + "uuid": "ideapad-battery-care@cinnamon", + "name": "IdeaPad Battery Care", + "description": "Battery conservation mode control for Lenovo IdeaPad laptops. Limits charging to 80% to extend battery life.", + "version": "1.1.0", + "cinnamon-version": ["5.0", "5.2", "5.4", "5.6", "5.8", "6.0", "6.2", "6.4"], + "max-instances": 1, + "author": "Macal", + "website": "https://github.com/Macal2/ideapad-battery-care", + "icon": "battery-good-symbolic", + "dangerous": false +} diff --git a/ideapad-battery-care@macal/info.json b/ideapad-battery-care@macal/info.json new file mode 100644 index 00000000000..f3801d2dcde --- /dev/null +++ b/ideapad-battery-care@macal/info.json @@ -0,0 +1,9 @@ +{ + "author": "Macal", + "description": "Battery conservation mode controller for Lenovo IdeaPad laptops. Limits battery charging to 80% to extend battery lifespan on laptops frequently connected to AC power.", + "name": "IdeaPad Battery Care", + "spices-human-readable-changelog": "## 1.1.0 (2025-11-28)\n- Renamed from 'Coidado Batería' to 'IdeaPad Battery Care'\n- Changed active mode icon to plug (ac-adapter-symbolic)\n- Updated user-facing strings to English\n- Migrated to PolicyKit for better security\n- Restructured for Cinnamon Spices compatibility\n\n## 1.0.0 (2025-11-27)\n- Initial release\n- Battery conservation mode control\n- Cinnamon panel applet integration\n- PolicyKit support for passwordless operation\n- Real-time battery status display\n- Persistent configuration across reboots", + "url": "https://github.com/Macal2/ideapad-battery-care", + "uuid": "ideapad-battery-care@cinnamon", + "version": "1.1.0" +} diff --git a/ideapad-battery-care@macal/screenshot.png b/ideapad-battery-care@macal/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..044aaa8f6cbf4f836badb49d68f97986d872885c GIT binary patch literal 52110 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 literal 0 HcmV?d00001