Commit Graph

129 Commits

Author SHA1 Message Date
Carter Li d60b25e424 Refactor: renames src/util to src/common 2026-01-06 09:48:38 +08:00
Carter Li 61690a1804 Util: moves util/io/io.h to util/io.h 2026-01-06 09:13:40 +08:00
李通洲 1e43e35857 Chore: merges common/* into util/* 2026-01-05 17:54:41 +08:00
李通洲 98c7803a24 Battery (Android): fix battery temp detection 2025-08-27 16:28:54 +08:00
李通洲 61f2823903 Global: fixes -ffast-math compatibility
Unifies unset double handling using `-DBL_MAX` sentinel

Fixes #1894
2025-08-14 10:01:34 +08:00
李通洲 75d2c668d0 Modules: refactor module option handling for static allocation
Moves module option structs out of global config and removes dynamic allocation, using static buffers and size assertions for safer, simpler management.

Refactors module initialization and destruction to work with isolated option structs, eliminating the need for the previous modules container and related code.

Unifies module option header usage and updates detection logic to leverage statically-sized option buffers, improving encapsulation and maintainability.

Simplifies module function signatures and reduces coupling between modules and config.

Enhances future extensibility and reliability by enforcing max size constraints and removing unnecessary indirections.
2025-08-04 14:46:01 +08:00
李通洲 ce554dbdd0 Uptime / Battery: add formatted duration string in custom format 2025-07-30 15:03:23 +08:00
李通洲 c65fb1a868 Battery (Windows): use CMAPI instead of SetupAPI 2025-07-06 17:04:51 +08:00
apocelipes 3291a9945f Global: add missing O_CLOEXEC to open() 2025-06-19 22:40:06 +08:00
李通洲 7562e05123 Chore: fix a lot code smell 2025-03-25 22:08:50 +08:00
李通洲 c77fb71a69 Battery (NetBSD): report remaining time 2025-03-25 22:08:49 +08:00
李通洲 48dd5976e1 Battery (Linux): fix critical state detection 2025-03-25 22:08:49 +08:00
李通洲 093f7e438b Battery (macOS): fix manufacture date detection 2025-03-25 22:08:49 +08:00
François Revol 3e5d129248 Battery (Haiku): handle empty slots
My ThinkPad has a second slot for external batteries.
2025-02-19 22:21:43 +08:00
李通洲 e8db71fe19 Chore (Haiku): silence compiler warnings 2025-02-14 22:42:15 +08:00
李通洲 a8afd05d19 Battery (Haiku): fix capacity calculation 2025-02-14 10:30:34 +08:00
Carter Li cdc8124883 Battery (Haiku): add support (untested) 2025-02-14 00:23:20 +00:00
Carter Li c53191a441 Battery (Haiku): add stub file 2025-02-13 23:27:14 +00:00
李通洲 90068ab474 Battery (NetBSD): fix battery percentage detection 2025-01-08 13:46:08 +08:00
Carter Li d3e40f625b Battery (OpenBSD): fix build 2024-12-22 09:30:42 +08:00
Carter Li 7c1991c2e3 Battery (NetBSD): add support 2024-12-21 23:54:30 +08:00
Carter Li 852a729581 Battary (NetBSD): some basic investigation of acpi battery detection 2024-12-21 23:54:30 +08:00
Carter Li 0f454b7140 Battery (OpenBSD): add support 2024-12-21 23:54:30 +08:00
Carter Li f7288fec01 Global: support DragonFly BSD 2024-11-03 08:35:11 +08:00
李通洲 bf1cd3388d Battery (macOS): fix remaining time detection 2024-10-16 09:15:04 +08:00
Carter Li e73d6db2e5 Battery (Linux): improve performance by specifying O_PATH 2024-10-15 10:18:26 +08:00
Carter Li 1c598add39 Chore (Linux): always ignore hidden files when enumerating directories 2024-10-15 10:16:58 +08:00
李通洲 c73b5914ab Battery (macOS): report time remaining only when discharging 2024-10-14 15:58:31 +08:00
Carter Li 49076ec69d Battery (Linux): simplify 2024-10-12 10:41:25 +08:00
Carter Li 1178f46aac Battery (Linux): check if AC is connected 2024-10-12 09:38:19 +08:00
Carter Li 68406cd044 IO (Linux): use openat to simplify code 2024-10-11 16:36:08 +08:00
Carter Li 782474b068 Battery (Linux): revert back not to use uevent
Reading `uevent` is slow...
2024-10-11 16:24:19 +08:00
Carter Li ec7c1855b3 Battery (FreeBSD): fix time remaining detection
oops
2024-10-11 00:23:04 +08:00
李通洲 af09de319b Battery (Android): better status detection 2024-10-10 21:03:27 +08:00
李通洲 ff21dabfb7 Battery (FreeBSD): detect time remaining 2024-10-10 21:01:12 +08:00
Carter Li 27910cf6ec Battery (Linux): calcuate time remaining with current & charge if time_to_empty is unavailable 2024-10-10 08:38:58 +00:00
Carter Li daab70fafc Battery (Linux): rewrite with uevent, add remaining time support 2024-10-10 16:04:27 +08:00
李通洲 4dccb92bb2 Battery: support time remaining detection 2024-10-10 15:57:17 +08:00
李通洲 81b0ddb2da Chore: rename temps_apple 2024-09-24 10:37:54 +08:00
李通洲 9b4053e9dc Chore: remove temps_linux 2024-09-24 01:51:45 +00:00
李通洲 3b1b81437e Battery (Linux): add comments [ci skip] 2024-07-06 09:04:23 +08:00
Carter Li edf24d9820 CPUCache: add detection by SMBIOS 2024-06-21 23:07:07 +08:00
李通洲 62bf3ec021 Util (Windows): add nt.h and use it 2024-05-17 21:30:47 +08:00
李通洲 6439921f85 Smbios (Windows): check if getting SMBIOS data succeeds 2024-05-11 18:07:56 +08:00
李通洲 fef3100fd7 Smbios: add struct layout check 2024-05-11 15:05:43 +08:00
李通洲 5fb1286e15 Battery (Windows): simplify code 2024-05-04 12:11:42 +08:00
李通洲 217f98a36c Global: tidy json result formats 2024-05-03 13:56:19 +08:00
李通洲 4798c619d0 Battery (Android): fix uninitialized variables
Fix #760 and #838
2024-05-02 19:29:13 +08:00
Carter Li b602bb20c2 Battery (Linux): print the same format of battery status as other platforms 2024-02-08 14:10:51 +08:00
Carter Li 46ed24275f Battery (FreeBSD): fix typos 2024-02-08 13:59:02 +08:00