Commit Graph

1188 Commits

Author SHA1 Message Date
李通洲 70f39e641c DiskIO (Windows): improve device name detection 2023-12-17 18:24:01 +08:00
李通洲 1dbd8474c2 DiskIO (Linux): fix serial number detection 2023-12-17 17:27:38 +08:00
李通洲 e7c787159a DiskIO: print serial number in json format
Always init serial property
2023-12-17 13:51:17 +08:00
李通洲 9339a0fb4e DiskIO (Windows): detect serial number 2023-12-17 13:43:52 +08:00
Carter Li b692b759c7 DiskIO (Linux): detect interconnect more aggressively 2023-12-17 12:52:34 +08:00
李通洲 529f94c64a DiskIO (Linux): better handling virtual devices 2023-12-17 12:21:12 +08:00
李通洲 e071a1eeb2 Disk (Linux): improve removable type detection 2023-12-17 12:13:28 +08:00
李通洲 3400e40e47 DiskIO (Linux): detect device serial number 2023-12-17 11:48:59 +08:00
李通洲 d32125e988 DiskIO (Linux): improve device name detection 2023-12-17 11:47:05 +08:00
Carter Li f91a8aea4d DiskIO (Linux): improve detection
1. Ignore `dm-*`
2. Add devices that don't have disk ids
3. Fix  device size detection
2023-12-17 10:39:25 +08:00
Carter Li 8fa073b1e4 DisplayServer (Linux): test for status instead of enabled 2023-12-17 01:00:37 +08:00
李通洲 10e1753c03 DisplayServer (Linux): better handling abnormal situations
Try fix #660
2023-12-17 00:41:59 +08:00
李通洲 224a6a9881 TerminalShell: code cleanup 2023-12-15 14:29:51 +08:00
李通洲 e804dfc49e Memory (macOS): align algo of memory usage counting to stats
Which seems to print the same result of neofetch
2023-12-14 16:13:05 +08:00
李通洲 8ed5d30b3e Wifi (Windows): use less magic numbers 2023-12-13 19:33:20 +08:00
Carter Li 25a792743b WMDE: tidy 2023-12-12 18:22:20 +08:00
Carter Li b63e6a3053 DE (Linux): add support for CDE
Fix #658
2023-12-12 18:20:02 +08:00
Carter Li 453f4757ed DE (FreeBSD): support detection with processes 2023-12-12 10:10:08 +08:00
李通洲 0555fb97e8 TerminalShell (Linux): tidy 2023-12-12 09:51:09 +08:00
李通洲 663d568927 DE (Linux): fix xfce4 version detection 2023-12-11 16:36:12 +08:00
李通洲 a28dc8a9bf DisplayServer (Linux): support --ds-force-drm sysfs-only 2023-12-11 13:25:58 +08:00
李通洲 f20b6d4387 Temps (macOS): support Apple M3 2023-12-08 16:10:10 +08:00
李通洲 40aa4a60d6 Packages: improve performance of pkg and rpm detection 2023-12-08 09:49:17 +08:00
apocelipes 1504e26e38 optimize(Packages): optimize reading large files
Using less syscalls and processing data in memory
makes getNumStringsImpl ~300% faster.

The code is much simpler.
2023-12-07 20:32:14 +08:00
李通洲 a9c5c2892c Memory (Linux): Use MemAvailable if available 2023-12-07 16:30:10 +08:00
apocelipes 1c24cb3ebb refactor: simplify parsing 2023-12-04 19:47:34 +08:00
apocelipes 0662af17f4 fix(TerminalShell): fix reading procfs files 2023-12-04 19:47:34 +08:00
apocelipes 9fee532cb6 fix(CPUUsage): fix reading procfs files and simplify data parsing 2023-12-04 19:47:34 +08:00
apocelipes 57f88d2167 fix(Uptime): fix reading procfs files and simplify data parsing 2023-12-04 19:47:34 +08:00
apocelipes ed879ee53c fix(Swap): fix reading procfs files and simplify data parsing 2023-12-04 19:47:34 +08:00
apocelipes 6eae425679 fix(Memory): fix reading procfs files and simplify data parsing
Files in procfs are always changed by kernel.

It means if we read the data with more than one read syscall,
we could get an incorrect data which was broken by kernel.

A typical case about this problem was reported by psutil in
https://github.com/giampaolo/psutil/issues/2050

Using an big buffer let read reads the whole file can fix this.
psutil uses a 32K buffer while procps-ng uses a 8K buffer, i think a 8K buffer is enough.
2023-12-04 19:47:34 +08:00
李通洲 3fda6e425a Global: never leak fd to child processes 2023-12-04 15:14:40 +08:00
李通洲 6bd515fed4 Packages (macOS): rename port to macports 2023-12-04 15:07:13 +08:00
李通洲 ccfe961a1f DiskIO (FreeBSD): support disk name, size and physical type detection 2023-12-04 13:54:26 +08:00
李通洲 97211df285 DiskIO (macOS): detect disk size 2023-12-04 08:59:41 +08:00
李通洲 2979bfe4ca DiskIO: detect physical drive size 2023-12-03 19:02:29 +08:00
李通洲 42fd1a9cd7 DisplayServer (FreeBSD): enable libdrm support 2023-12-03 12:10:52 +08:00
李通洲 36298b8e93 Swap (FreeBSD): fix impl 2023-12-01 23:23:29 +08:00
李通洲 390801aee7 DisplayServer: fix build on FreeBSD 2023-11-30 20:25:23 +08:00
李通洲 e3f5563f8d DisplayServer (Linux): fix build for Ubuntu 20.04 (v2) 2023-11-30 20:05:51 +08:00
李通洲 4a54b20c68 DisplayServer (Linux): fix compiling on Ubuntu 20.04 2023-11-30 16:42:56 +08:00
李通洲 ea3d904bfe DisplayServer (Linux): improve performance for X11
Try fixing #634
2023-11-30 16:31:35 +08:00
李通洲 67f4b991d7 DisplayServer (Linux): use libdrm
Which correctly detects current mode ( instead of preferred mode ) and
supports refresh rate
2023-11-30 10:47:03 +08:00
apocelipes 1431cdcc83 fix(Terminal): make fastfetch works under ltrace and perf
Fastfetch incorrectly displays the terminal name as
"ltrace" or "perf" when debugging itself with ltrace and perf.

minor fix: remove duplicated ffStrbufClear since getShellVersion
already called it.
2023-11-28 23:22:51 +08:00
李通洲 968a43cb29 Monitor (Linux): don't report disabled monitors 2023-11-28 16:11:32 +08:00
李通洲 0c522bdc10 Display (Linux): don't report disabled displays when using DRM
Ref: #634
2023-11-28 07:59:28 +00:00
李通洲 5db3c903e5 Host (macOS): fix build 2023-11-28 15:05:10 +08:00
李通洲 91c23c533a Host (macOS): add general method to query product name 2023-11-28 13:36:19 +08:00
李通洲 00721630ce Board (Apple): use machine model indentifier as motherboard name 2023-11-28 13:36:19 +08:00
李通洲 167b130011 Uptime (Linux): fix maybe uninitialized variable errors 2023-11-27 20:52:14 +08:00