Commit Graph

1335 Commits

Author SHA1 Message Date
Barry Van Deerlin
2fc829b00a Fix redraw in proc list when changing sort order (#1309)
In tree-view mode and with the proc list is collapsed, changing the sort order will not clear the list properly because of a wrong offset.
2025-10-25 09:38:29 +00:00
achille
dd86355170 Handle missing SMC gracefully on macOS (#1305) 2025-10-25 09:20:36 +00:00
renovate[bot]
b2769dded1 Update actions/upload-artifact action to v5 (#1310)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-24 19:31:10 +00:00
Barry Van Deerlin
085c2dacbe Use right key codes to match f1 and f2 keys (#1300) 2025-10-20 10:43:03 +00:00
Jakob P. Liljenberg
f8b42175a6 Merge pull request #1274 from irabrine/tree-children-toggle 2025-10-18 00:59:32 +02:00
irabrine
de82c0fa08 make new menu option not overflow 2025-10-18 00:50:06 +02:00
irabrine
22151a0fd4 added tree toggle of expand/collapse for children of process 2025-10-18 00:50:06 +02:00
Jakob P. Liljenberg
3886e4e73e Merge pull request #984 from thedustinmiller/main 2025-10-18 00:45:14 +02:00
aristocratos
5750203150 Fix menu entry 2025-10-18 00:40:48 +02:00
Dustin Miller
4fe2a693cf Added ability to set which gpu vendors to enable
fix style

added quotes to highlight options

added braces and fixed indentation
2025-10-18 00:31:33 +02:00
Jakob P. Liljenberg
efa8ce0466 Merge pull request #1291 from kuzmeech/pr/fix-macos-runner-stall 2025-10-18 00:29:33 +02:00
Jakob P. Liljenberg
76e5e369e9 Merge pull request #1296 from emiliopedrollo/main 2025-10-17 20:51:33 +02:00
Thorsten Schubert
e5a7a28579 fix: btop crash on arm cpu 2025-10-17 13:11:38 -03:00
kuzmeech
8f2d9cf292 Fix thread restart race condition causing deadlocks
Add pthread_join() after pthread_cancel() to wait for thread termination
before creating a new one. This prevents the race condition where multiple
runner threads could accumulate and deadlock.
2025-10-12 13:48:28 -04:00
kuzmeech
92f2db59f9 Fix Net::collect race condition from USB device hot-plugging
Add mutex protection to Net::collect() to prevent concurrent interface
access when USB devices are hot-plugged/unplugged. This resolves segfaults
during interface map operations.

The crash was triggered by concurrent access to the interface list during
USB device removal, causing iterator invalidation during cleanup loops.
2025-10-12 13:48:28 -04:00
kuzmeech
9fb085afc3 Add crash handlers to restore terminal state
Install signal handlers for SIGSEGV, SIGABRT, SIGTRAP, SIGBUS, and SIGILL
to restore terminal state before crashing. This prevents leaving the terminal
in a broken state if btop crashes unexpectedly.
2025-10-12 13:48:28 -04:00
kuzmeech
af9e3ca0a1 Fix thread safety issue causing crashes in Mem::collect_disk
Add mutex protection around IOKit calls to prevent concurrent access.
Multiple threads were calling IOServiceGetMatchingServices simultaneously,
causing crashes after extended runtime.
2025-10-12 13:48:28 -04:00
kuzmeech
85f4f0ec50 Fix deprecated IOMasterPort usage
Replace deprecated IOMasterPort() with kIOMainPortDefault constant
to eliminate deprecation warnings on macOS.
2025-10-12 13:48:28 -04:00
Jakob P. Liljenberg
0d02149cfc Continuous Build MacOS, disable MacOS 13 and fix platform name of created binary 2025-10-12 18:58:47 +02:00
Jakob P. Liljenberg
b761cac60e Merge pull request #1208 from jrebs/main 2025-10-12 17:52:53 +02:00
Jakob P. Liljenberg
62b6f1e07a Continuous Build MacOS: change back to GCC from Clang 2025-10-12 16:38:34 +02:00
Jakob P. Liljenberg
e17d0d2694 Merge pull request #1251 from shtrophic/main 2025-10-12 16:09:30 +02:00
shtrophic
13ba5a3cb5 OpenBSD: battery: add support for watthour and watts sensors 2025-10-12 16:03:33 +02:00
Jakob P. Liljenberg
2e50240bb1 Merge pull request #1275 from vandabbin/fix-escapes 2025-10-12 16:01:38 +02:00
Barry Van Deerlin
83aa6ffed8 fix arrow keys that send 'O' instead of '['
Changing line in btop_input.cpp that compared first 2 characters of input to Fx::e.
Instead it now compares first character of input to first character of Fx::e and
checks that the length is greater then 1
This allows systems that send <ESC>OA and so on for the arrow keys
instead of <ESC>[A
2025-10-12 15:59:55 +02:00
Jakob P. Liljenberg
a207f579c9 Merge pull request #1282 from Twopic2/fix-loongarch-cpu-freq 2025-10-12 15:57:37 +02:00
twopic2
9a97cb76a3 fixed conditional statement to cpufreq.peek() == 'c' || cpufreq.peek() == 'C 2025-10-12 15:53:35 +02:00
twopic2
df1d8c746e Fix CPU frequency detection for LoongArch CPUs 2025-10-12 15:53:35 +02:00
Jakob P. Liljenberg
d7902f418d Merge pull request #1277 from emiliopedrollo/main 2025-10-12 15:44:20 +02:00
Emilio B. Pedrollo
040171400a feat: Introduce cpu frequency display modes 2025-10-12 15:40:20 +02:00
Jakob P. Liljenberg
4f661d5404 Merge pull request #1268 from goddamnparticle/fix/issue-1245 2025-10-12 15:30:06 +02:00
goddamnparticle
c17ecb4a9a Merge branch 'main' into fix/issue-1245 2025-10-10 16:22:57 +03:00
Steffen Winter
845d2cb066 Revert "Use /sys/dev/block/MAJOR:MINOR instead of /sys/block/NAME for disk I/O"
This reverts commit 666dffc6f2.

Bug: https://github.com/aristocratos/btop/issues/1270
2025-10-08 16:08:14 +00:00
Yusuf Salk
1c6413db04 feature: add process renice functionality
This adds the ability to change the nice value of a process from within
btop. A new menu is introduced, accessible by pressing 'N', which allows
the user to input a new nice value for the selected process.

Fixes #1245
2025-10-07 14:07:22 +03:00
Gerald Chen
184a59fa0e Skip 'H' and 'HX' suffix in AMD cpu name trimming (#1272) 2025-10-03 19:21:16 +00:00
林博仁(Buo-ren Lin)
7c29dc00a7 Add zh_TW localization to the XDG desktop entry
This patch implements zh_TW localization to the XDG desktop entry of the
application, according to the "Localized values for keys" chapter of the
Desktop Entry Specification, version 1.5.

An additional translation variant for the "process" keyword is added, as
both variants are considered to be used in the locale.

Refer-to: Localized values for keys | Desktop Entry Specification <https://specifications.freedesktop.org/desktop-entry-spec/latest/localized-keys.html>
Signed-off-by: 林博仁(Buo-ren Lin) <buo.ren.lin@gmail.com>
2025-09-21 19:56:54 +00:00
林博仁(Buo-ren Lin)
17aa6c810b Fix incorrect list item paragraph indentation in the README
Signed-off-by: 林博仁(Buo-ren Lin) <buo.ren.lin@gmail.com>
2025-09-21 19:55:13 +00:00
林博仁(Buo-ren Lin)
09f2530f81 Add additional metadata to the snap distribution
This patch resolves the following linter warning/info messages:

```
Lint warnings:
- metadata: Metadata field 'title' is missing or empty. (https://documentation.ubuntu.com/snapcraft/stable/reference/project-file/snapcraft-yaml/#title)
- metadata: Metadata field 'contact' is missing or empty. (https://documentation.ubuntu.com/snapcraft/stable/reference/project-file/snapcraft-yaml/#contact)
Lint information:
- metadata: Metadata field 'donation' is missing or empty. (https://documentation.ubuntu.com/snapcraft/stable/reference/project-file/snapcraft-yaml/#donation)
- metadata: Metadata field 'issues' is missing or empty. (https://documentation.ubuntu.com/snapcraft/stable/reference/project-file/snapcraft-yaml/#issues)
- metadata: Metadata field 'source-code' is missing or empty. (https://documentation.ubuntu.com/snapcraft/stable/reference/project-file/snapcraft-yaml/#source-code)
- metadata: Metadata field 'website' is missing or empty. (https://documentation.ubuntu.com/snapcraft/stable/reference/project-file/snapcraft-yaml/#website)
```

All the information of the application is sourced from the GitHub page.

Signed-off-by: 林博仁(Buo-ren Lin) <buo.ren.lin@gmail.com>
2025-09-21 10:07:08 +00:00
林博仁(Buo-ren Lin)
f8e18efe3d Fix missing application entry in the snap distribution
This patch implements the necessary changes to allow the application desktop entry and icon to appear in the snap distribution user's desktop menu.

The SVG variant of the application is not used as currently it'll not rendered properly in the KDE Plasma desktop environment.

Refer-to: 448234 – Usage of Qt SVG renderer causes some 3rd-party app icons to be mis-rendered <https://bugs.kde.org/show_bug.cgi?id=448234>
Signed-off-by: 林博仁(Buo-ren Lin) <buo.ren.lin@gmail.com>
2025-09-21 10:05:59 +00:00
林博仁(Buo-ren Lin)
8b2ed8a713 Fix incorrect YAML indentation depth in the Snapcraft project file
Signed-off-by: 林博仁(Buo-ren Lin) <buo.ren.lin@gmail.com>
2025-09-21 09:02:50 +00:00
aristocratos
a1099d075f v1.4.5 Bug fixes v1.4.5 2025-09-19 22:29:22 +02:00
Steffen Winter
21ca9093af Bump bundled fmt to 12.0.0
Ref: e424e3f2e6
2025-09-18 15:09:23 +00:00
Anton Melnikov
bdddfc46a2 Enable vim movement in help menu (#1242)
Signed-off-by: botantony <antonsm21@gmail.com>
2025-09-10 15:49:55 +00:00
Denis Mikhaylik
e51f5c202f Remove reduntant symbols in tree view (#948) 2025-09-10 15:20:16 +00:00
CountBleck
666dffc6f2 Use /sys/dev/block/MAJOR:MINOR instead of /sys/block/NAME for disk I/O
The device name used for a given mount doesn't always correspond to the
entry in /sys/block. For example, my rootfs uses /dev/mapper/root since
it's on LUKS, but its stats are found in /sys/block/dm-0. By using
/sys/dev/block with the major/minor device numbers in
/proc/self/mountinfo, we can get a correct path reliably. This also
works for disk partitions, without requiring any string manipulation!

This should fix #140.
2025-09-07 18:52:10 +00:00
Steffen Winter
db34cb55a4 Don't terminate on GPU access failure
Closes: https://github.com/aristocratos/btop/issues/899
2025-09-02 07:10:44 +00:00
Jakob P. Liljenberg
fac4a704ec Merge pull request #1233 from Tom94/fix-setcap 2025-08-19 17:18:36 +02:00
Thomas Müller
8f7f79b48a fix: setcap cap_dac_read_search was overriding cap_perfmon 2025-08-19 09:53:12 +02:00
aristocratos
750a1d3a46 Fix musl builds missing artifacts 2025-08-17 11:36:53 +02:00
renovate[bot]
492bb27277 chore(deps): update actions/checkout action to v5 2025-08-17 08:43:55 +00:00