1566 Commits

Author SHA1 Message Date
Jordan Lambert
86ed12037a feat: map = to + to avoid having to press shift when increasing refresh rate (#1665) 2026-05-18 19:13:54 +00:00
renovate[bot]
55a62250e9 chore(deps): update zizmorcore/zizmor-action action to v0.5.6 2026-05-16 22:47:05 +00:00
renovate[bot]
d45db6dcae chore(deps): update zizmorcore/zizmor-action action to v0.5.4 2026-05-15 16:14:03 +00:00
Jakob P. Liljenberg
d31007daba Merge pull request #1390 from katexochen/p/theme-dir
themes: load/save by name if possible
2026-05-14 09:19:43 +02:00
Paul Meyer
30b3868787 themes: load/save by name if possible
This fixes #443 and a downstream issue in nixpkgs:
https://github.com/NixOS/nixpkgs/issues/460344

Short description of the latter issue: I nixpkgs, different versions
of btop are installed under different paths. If a user selects a
theme and it is saved to the config by its absolute path, that path
will be broken after an update.

To solve this, we allow writing the theme name only into the config,
and we save the theme by name if possible.

When selecting a theme, we check if it is the first (with respect to
the load oder priority: custom > user > system) match for this
filename in the list of available themes. If it is, we save it by
filename instead of using the full path. If there is another theme
with the same name and higher priority, we save using the full path.

This should also be compatible with the previous behavior of being
able to load themes by name from $XDG_CONFIG_PATH/btop/themes.

Signed-off-by: Paul Meyer <katexochen0@gmail.com>
2026-05-13 10:27:39 +02:00
aristocratos
6e39144aaf v1.4.7 New features & Bug fixes v1.4.7 2026-05-01 18:05:43 +02:00
Jakob P. Liljenberg
f7b2e8a645 Merge pull request #1601 from RockBacon9922/fix/macos-m2-temp-reporting 2026-05-01 17:47:33 +02:00
William Stoneham
3f91a9e736 fix: improve Apple Silicon temperature detection on macOS 2026-05-01 16:53:42 +02:00
Jakob P. Liljenberg
44f01e9674 Merge pull request #1564 from sardonyx001/feature/tree-expand-collapse-all 2026-05-01 16:44:59 +02:00
aristocratos
ce408dd8ef Created function toggle_tree_collapse() in shared.cpp to reduce code duplication 2026-05-01 16:34:22 +02:00
jam
742fc854d8 fix(proc): force full collect on sort change in tree mode
When proc_tree is active and left/right changes the sort column,
no_update was left as true. _tree_gen is called with no_update=true,
which skips the p.filtered=true assignment for children of collapsed
nodes while the unconditional else-if on line 211 of btop_shared.cpp
clears their stale filtered flag from the previous cycle. This leaves
collapsed children in an inconsistent state for one frame, causing a
brief visual glitch before the next full update corrects it.

Setting no_update=false only in tree mode keeps the fast path for
flat list mode unchanged.
2026-05-01 16:00:01 +02:00
jam
e6d1b54a55 fix(proc): exclude root processes from E collapse/expand all
Root processes (those whose parent is not in the tracked process list,
e.g. launchd on macOS or a top-level colima) are now left untouched by
the E hotkey. Only their descendants are collapsed or expanded.

The toggle direction is also determined solely from non-root parents,
so a tree full of root-only visible rows correctly expands on the
next E press.
2026-05-01 16:00:01 +02:00
jam
f0cfe0980c feat(proc): add E hotkey to collapse/expand all tree nodes
Pressing E in tree mode collapses all processes if any parent is
currently expanded, or expands all if everything is already collapsed.
This gives a quick per-application resource summary without having
to manually toggle each node.

Implemented across all platforms (Linux, macOS, FreeBSD, OpenBSD, NetBSD).
2026-05-01 16:00:01 +02:00
renovate[bot]
5cd645f482 chore(deps): update vmactions/openbsd-vm action to v1.4.0 2026-05-01 12:19:21 +00:00
Jakob P. Liljenberg
5fca4a54fc Merge pull request #1560 from ratijas/work/ratijas/svg-icon 2026-05-01 14:03:32 +02:00
Jakob P. Liljenberg
295fe59cb8 Merge pull request #1628 from seanniu93/fix-cpu-temp 2026-05-01 13:57:16 +02:00
aristocratos
ae278edd3b Remove code duplication 2026-05-01 13:26:51 +02:00
Jakob P. Liljenberg
c9b401b735 Merge pull request #1583 from sola-contrib/amd-temp-fix 2026-05-01 12:23:40 +02:00
aristocratos
d0d5335a24 Merge branch 'main' of github.com:aristocratos/btop 2026-05-01 12:20:32 +02:00
aristocratos
b36357b0f1 Fixed missing CPU package temperature color (numeric value) 2026-05-01 12:20:22 +02:00
renovate[bot]
3af364b4ea chore(deps): update zizmorcore/zizmor-action action to v0.5.3 2026-05-01 10:17:48 +00:00
renovate[bot]
8c93a485f7 chore(deps): update vmactions/netbsd-vm action to v1.3.8 2026-05-01 10:09:51 +00:00
renovate[bot]
39cda8f2aa chore(deps): update vmactions/freebsd-vm action to v1.4.5 2026-05-01 10:08:59 +00:00
renovate[bot]
663526a929 chore(deps): update actions/upload-artifact action to v7.0.1 2026-05-01 10:08:17 +00:00
Jakob P. Liljenberg
5e93a50497 Merge pull request #1619 from busterb/fix-openbsd-smt-online-cpus 2026-05-01 12:06:54 +02:00
Jakob P. Liljenberg
4540816927 Merge pull request #1603 from PatWie/main 2026-05-01 12:04:55 +02:00
Steffen Winter
c6f726d599 ci: run workflows if tests have changed 2026-05-01 10:02:35 +00:00
Steffen Winter
e4e6ab1f19 test: add cpu name trim tests 2026-05-01 10:02:35 +00:00
Patrick Wieschollek
169737fb86 Update src/btop_draw.cpp
Co-authored-by: dieter-apptronik <dieterbuys@apptronik.com>
2026-05-01 11:54:15 +02:00
Patrick Wieschollek
0bafa6fa71 Update src/btop_draw.cpp
Co-authored-by: dieter-apptronik <dieterbuys@apptronik.com>
2026-05-01 11:54:15 +02:00
patwie
ce0d5fffb4 [AI generated] fix: Clamp GPU graph widths to prevent crash on small terminals
When many GPUs are present and the terminal is small, the GPU graph
width calculations in Cpu::draw init_graphs and draw_graphs can
produce negative values. This causes std::out_of_range from the
Draw::Graph constructor, surfacing as "Exception in runner thread ->
Cpu:: -> deque".

The root cause is the remainder-distribution formula for the last GPU
graph: graph_width + graph_default_width%graph_width - gpus.size() + 1
which underflows when gpus.size() exceeds the available remainder plus
graph_width. The per-GPU graph_width itself can also go below 1 when
graph_default_width is small relative to gpu_draw_count.

Clamp both graph_width and the last-GPU width to a minimum of 1, and
clamp the cursor movement arguments in draw_graphs to prevent negative
Mv::l and Mv::r values.
2026-05-01 11:54:15 +02:00
Steffen Winter
5605b76872 ci: add workflow to check security flaws 2026-05-01 09:53:45 +00:00
Steffen Winter
5a877f614c ci: format workflow files 2026-05-01 09:53:45 +00:00
Steffen Winter
7880a3aaf3 ci: set runner concurrency limits 2026-05-01 09:53:45 +00:00
Steffen Winter
3edbb1fbe9 ci: use environment variables to mitigate template injections 2026-05-01 09:53:45 +00:00
Steffen Winter
f38d20996f ci: don't persist workflow credentials on runner 2026-05-01 09:53:45 +00:00
Steffen Winter
26347af61f ci: pin actions 2026-05-01 09:53:45 +00:00
Steffen Winter
e8befbf5f3 ci: require as little permissions as possible 2026-05-01 09:53:45 +00:00
aristocratos
7657384ed4 Fix cpu watt overflow in cpu box + division by zero fix for cpu.temp_max 2026-05-01 11:37:26 +02:00
Jakob P. Liljenberg
8f78fe1c4d Merge pull request #1598 from deniskhud/fix-non-ascii-proc 2026-05-01 10:16:19 +02:00
Jakob P. Liljenberg
07fcca8080 Merge pull request #1602 from Marcus441/theme-kanagawa-dragon 2026-05-01 10:13:12 +02:00
Jakob P. Liljenberg
378eaff612 Merge pull request #1539 from alephpiece/fix-gpu-pwr_total 2026-05-01 10:04:10 +02:00
Jakob P. Liljenberg
add24131c8 Merge pull request #1591 from deckstose/push-sxxxrqtzmtkx 2026-05-01 10:03:42 +02:00
one
92cf853cdb fix: use static_cast 2026-05-01 10:00:59 +02:00
one
2899c58118 fix: correct shared gpu vram and power percentage calculations 2026-05-01 10:00:59 +02:00
one
dac3a113cc fix: accumulate pwr_usage into pwr_total instead of mem_total in Gpu::collect() 2026-05-01 10:00:59 +02:00
Steffen Winter
ba18f63495 ci: add llvm 22 2026-05-01 09:59:12 +02:00
Steffen Winter
ba002b7208 ci: update freebsd version to 15 2026-05-01 09:59:12 +02:00
Steffen Winter
d05badd383 ci: fix gcc include path 2026-05-01 09:59:12 +02:00
Steffen Winter
2f75be9d2d ci: fix netbsd version in artifact 2026-05-01 09:59:12 +02:00