diff -Nru iotop-c-1.25/LICENSE iotop-c-1.26/LICENSE --- iotop-c-1.25/LICENSE 2023-01-29 20:51:40.000000000 +0000 +++ iotop-c-1.26/LICENSE 2024-02-04 11:56:30.000000000 +0000 @@ -1,6 +1,6 @@ iotop - interactive monitor of Linux IO activity Copyright (C) 2014 Vyacheslav Trushkin -Copyright (C) 2020-2023 Boian Bonev +Copyright (C) 2020-2024 Boian Bonev This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License diff -Nru iotop-c-1.25/Makefile iotop-c-1.26/Makefile --- iotop-c-1.25/Makefile 2023-09-03 21:09:01.000000000 +0000 +++ iotop-c-1.26/Makefile 2024-02-04 11:56:30.000000000 +0000 @@ -7,7 +7,7 @@ # SPDX-License-Identifier: GPL-2.0-or-later # # Copyright (C) 2014 Vyacheslav Trushkin -# Copyright (C) 2020-2023 Boian Bonev +# Copyright (C) 2020-2024 Boian Bonev # # This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. # diff -Nru iotop-c-1.25/README.md iotop-c-1.26/README.md --- iotop-c-1.25/README.md 2023-01-29 20:51:40.000000000 +0000 +++ iotop-c-1.26/README.md 2024-02-04 11:56:30.000000000 +0000 @@ -72,6 +72,15 @@ sudo xbps-install iotop-c +
+ Arch Linux +  + +Use the following command: + + sudo pacman -S iotop-c +
+ ## How to build from source Please note that the installation and the usage of this program require root access. @@ -197,6 +206,8 @@ --show-exited show exited processes -l, --no-color do not colorize values --color colorize values + -T, --hide-time hide current time + --show-time show current time --si use SI units of 1000 when printing values --no-si use non-SI units of 1024 when printing values --threshold=1..10 threshold to switch to next unit @@ -224,6 +235,7 @@ Notable contributions (ordered by time of last contribution): +- Christian Heusel <[christian@heusel.eu](mailto:christian@heusel.eu)> - Arch Linux packaging and testing - Leah Neukirchen <[leah@vuxu.org](mailto:leah@vuxu.org)> - Void Linux packaging and testing - Vitaly Chikunov <[vt@altlinux.org](mailto:vt@altlinux.org)> - ALT Linux packaging and testing - Matteo Bernardini <[ponce@slackbuilds.org](mailto:ponce@slackbuilds.org)> - SlackBuilds packaging and testing diff -Nru iotop-c-1.25/TODO iotop-c-1.26/TODO --- iotop-c-1.25/TODO 2022-01-27 19:58:19.000000000 +0000 +++ iotop-c-1.26/TODO 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ - ---- history of finished TODO items --- - -- Show prio of processes with threads as !be/4 -- Third mode proc+threads, to show threads under the process [change the threads mode instead of adding 3rd mode] -- Add some gap between pseudo-graph and command line; use the gap to visually group threads of the same process -- Aggregate thread data in process mode -- Edit pid/user filters from interactive mode -- Let 0 show all columns -- Scrolling for the main view by UP/DOWN/PGUP/PGDN -- Document exited threads/process display -- Document the display of processes with different prio (e.g. !be/4) -- Document the sorting order in thread view (threads always go after their main process) -- Document pid/user filters interactive interface -- Document 0 shows all columns -- Document -u +123 command line -- Document scrolling -- Add scroll bar -- Rework help to be like popup window -- Add all missing keys to help window -- Freezed, scrollable view of procs/threads for ionice selection (abandoned idea - exited processes should be kept track of) -- ESC key close the help dialog -- let the warning window about missing task_delayacct be closed by any key press and reappear on state change -- add a small red indicator for missing kernel support for swapin/io -- mask swapin/io columns and io graph data source if kernel support is disabled -- do not sort on masked columns but continue to sort on hidden ones -- add read/write/read+write data sources for the graph -- add a toggle to select graph data source (as a side effect option 'only' will use the same) -- restore some form of visible help on the bottom diff -Nru iotop-c-1.25/archlinux/PKGBUILD iotop-c-1.26/archlinux/PKGBUILD --- iotop-c-1.25/archlinux/PKGBUILD 2023-10-14 08:49:35.000000000 +0000 +++ iotop-c-1.26/archlinux/PKGBUILD 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ -# Contributor: Rumen Jekov -# Maintainer: Rumen Jekov -# Maintainer: Boian Bonev - -pkgname=iotop-c -pkgver=1.25 -pkgrel=1 -pkgdesc="simple top-like I/O monitor (implemented in C)" -arch=('i686' 'x86_64' 'aarch64' 'armv7h' 'ppc64le') -url="https://github.com/Tomas-M/iotop" -license=('GPL2') -depends=('ncurses') -makedepends=('pkgconf') -conflicts=('iotop' 'iotop-git') -provides=('iotop') -source=("${url}/releases/download/v${pkgver}/iotop-${pkgver}.tar.xz" "${url}/releases/download/v${pkgver}/iotop-${pkgver}.tar.xz.asc") -validpgpkeys=('BA60BC20F37E59444D6D25001365720913D2F22D') -md5sums=('SKIP' 'SKIP') - -prepare() { - cd iotop-${pkgver} - sed -i 's/sbin/bin/g' Makefile -} - -build() { - cd iotop-${pkgver} - make DESTDIR="${pkgdir}" V=1 -} - -package() { - cd iotop-${pkgver} - unset PREFIX - make DESTDIR="${pkgdir}" install -} diff -Nru iotop-c-1.25/debian/changelog iotop-c-1.26/debian/changelog --- iotop-c-1.25/debian/changelog 2023-10-14 08:49:48.000000000 +0000 +++ iotop-c-1.26/debian/changelog 2024-02-03 13:45:39.000000000 +0000 @@ -1,3 +1,10 @@ +iotop-c (1.26-1) unstable; urgency=medium + + * Update to new upstream release of 1.26 + - Clock in upper right corner + + -- Boian Bonev Sat, 03 Feb 2024 13:45:39 +0000 + iotop-c (1.25-1) unstable; urgency=medium * Update to new upstream release of 1.25 diff -Nru iotop-c-1.25/debian/copyright iotop-c-1.26/debian/copyright --- iotop-c-1.25/debian/copyright 2023-01-29 20:51:40.000000000 +0000 +++ iotop-c-1.26/debian/copyright 2024-02-03 13:45:39.000000000 +0000 @@ -5,11 +5,11 @@ Files: * Copyright: 2014 Vyacheslav Trushkin - 2020-2023 Boian Bonev + 2020-2024 Boian Bonev License: GPL-2.0+ Files: debian/* -Copyright: 2020-2023 Boian Bonev +Copyright: 2020-2024 Boian Bonev License: GPL-2.0+ License: GPL-2.0+ diff -Nru iotop-c-1.25/fedora/iotop-c.spec iotop-c-1.26/fedora/iotop-c.spec --- iotop-c-1.25/fedora/iotop-c.spec 2023-10-14 08:49:35.000000000 +0000 +++ iotop-c-1.26/fedora/iotop-c.spec 2024-02-04 11:56:30.000000000 +0000 @@ -1,5 +1,5 @@ Name: iotop-c -Version: 1.25 +Version: 1.26 Release: 1%{?dist} Summary: Simple top-like I/O monitor (implemented in C) @@ -9,6 +9,9 @@ Source1: https://github.com/Tomas-M/iotop/releases/download/v%{version}/iotop-%{version}.tar.xz.asc Source2: https://raw.githubusercontent.com/Tomas-M/iotop/v%{version}/debian/upstream/signing-key.asc +Provides: iotop +Obsoletes: iotop < 0.7 + BuildRequires: gcc BuildRequires: gnupg2 BuildRequires: ncurses-devel @@ -42,16 +45,27 @@ %install V=1 STRIP=: %make_install -mv %{buildroot}%{_sbindir}/iotop %{buildroot}%{_sbindir}/iotop-c -mv %{buildroot}%{_mandir}/man8/iotop.8 %{buildroot}%{_mandir}/man8/iotop-c.8 %files %license COPYING %license LICENSE -%{_sbindir}/iotop-c -%{_mandir}/man8/iotop-c.8* +%{_sbindir}/iotop +%{_mandir}/man8/iotop.8* %changelog +* Sat 03 Feb 2024 Boian Bonev - 1.26-1 +- Update to latest ver 1.26 + +* Thu Feb 01 2024 Michal Hlavinka - 1.25-4 +- replace iotop https://fedoraproject.org/wiki/Changes/Replace_iotop_with_iotop-c +- iotop-c executable renamed back to iotop + +* Wed Jan 24 2024 Fedora Release Engineering - 1.25-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 20 2024 Fedora Release Engineering - 1.25-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Sat Oct 14 2023 Boian Bonev - 1.25-1 - Update to latest ver 1.25 diff -Nru iotop-c-1.25/glibcvertest.h iotop-c-1.26/glibcvertest.h --- iotop-c-1.25/glibcvertest.h 2023-01-29 20:51:40.000000000 +0000 +++ iotop-c-1.26/glibcvertest.h 2024-02-04 11:56:30.000000000 +0000 @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-or-later Copyright (C) 2014 Vyacheslav Trushkin -Copyright (C) 2020-2023 Boian Bonev +Copyright (C) 2020-2024 Boian Bonev This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. diff -Nru iotop-c-1.25/iotop.8 iotop-c-1.26/iotop.8 --- iotop-c-1.25/iotop.8 2023-09-03 21:09:01.000000000 +0000 +++ iotop-c-1.26/iotop.8 2024-02-04 11:56:30.000000000 +0000 @@ -1,4 +1,4 @@ -.TH IOTOP "8" "January 22, 2023" +.TH IOTOP "8" "January 22, 2024" .SH NAME iotop \- simple top\-like I/O monitor .SH SYNOPSIS @@ -284,6 +284,12 @@ Colorize values. This will override the effect of the environment variable \fBNO_COLOR\fR when explicitly specified on the command line. .TP +\fB\-T\fR, \fB\-\-hide\-time\fR +Do not show time clock in upper right corner +.TP +\fB\-\-show\-time\fR +Show time clock in upper right corner +.TP \fB\-\-si\fR Use SI units of \fB1000\fR when printing values. The default is non\-SI \fB1024\fR @@ -398,6 +404,9 @@ \fBe\fR, \fBE\fR Toggle the display of exited processes .TP +\fBT\fR +Toggle the display of time clock in upper right corner +.TP \fBs\fR, \fBS\fR Toggle freeze of data collection .TP @@ -484,7 +493,7 @@ The original Python iotop implementation was written by Guillaume Chazarain. This rewrite in C was started in 2014 by Vyacheslav Trushkin and reworked to include all missing features from the original Python code and several new ones -from 2020 to 2023 by Boian Bonev. +from 2020 to 2024 by Boian Bonev. .PP This manual page was started by Paul Wise for the Debian project and is placed in the public domain. diff -Nru iotop-c-1.25/src/arr.c iotop-c-1.26/src/arr.c --- iotop-c-1.25/src/arr.c 2023-01-29 20:51:40.000000000 +0000 +++ iotop-c-1.26/src/arr.c 2024-02-04 11:56:30.000000000 +0000 @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-or-later Copyright (C) 2014 Vyacheslav Trushkin -Copyright (C) 2020-2023 Boian Bonev +Copyright (C) 2020-2024 Boian Bonev This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. diff -Nru iotop-c-1.25/src/checks.c iotop-c-1.26/src/checks.c --- iotop-c-1.25/src/checks.c 2023-01-29 20:51:40.000000000 +0000 +++ iotop-c-1.26/src/checks.c 2024-02-04 11:56:30.000000000 +0000 @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-or-later Copyright (C) 2014 Vyacheslav Trushkin -Copyright (C) 2020-2023 Boian Bonev +Copyright (C) 2020-2024 Boian Bonev This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. diff -Nru iotop-c-1.25/src/configfile.c iotop-c-1.26/src/configfile.c --- iotop-c-1.25/src/configfile.c 2023-01-29 20:51:40.000000000 +0000 +++ iotop-c-1.26/src/configfile.c 2024-02-04 11:56:30.000000000 +0000 @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-or-later Copyright (C) 2014 Vyacheslav Trushkin -Copyright (C) 2020-2023 Boian Bonev +Copyright (C) 2020-2024 Boian Bonev This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. @@ -247,6 +247,9 @@ // --ascii if (!config.f.unicode) fprintf(cf,"--ascii\n"); + // --hide-time + if (config.f.hideclock) + fprintf(cf,"--hide-time\n"); fclose(cf); diff -Nru iotop-c-1.25/src/delayacct.c iotop-c-1.26/src/delayacct.c --- iotop-c-1.25/src/delayacct.c 2023-01-29 20:51:40.000000000 +0000 +++ iotop-c-1.26/src/delayacct.c 2024-02-04 11:56:30.000000000 +0000 @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-or-later Copyright (C) 2014 Vyacheslav Trushkin -Copyright (C) 2020-2023 Boian Bonev +Copyright (C) 2020-2024 Boian Bonev This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. diff -Nru iotop-c-1.25/src/ioprio.c iotop-c-1.26/src/ioprio.c --- iotop-c-1.25/src/ioprio.c 2023-01-29 20:51:40.000000000 +0000 +++ iotop-c-1.26/src/ioprio.c 2024-02-04 11:56:30.000000000 +0000 @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-or-later Copyright (C) 2014 Vyacheslav Trushkin -Copyright (C) 2020-2023 Boian Bonev +Copyright (C) 2020-2024 Boian Bonev This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. diff -Nru iotop-c-1.25/src/iotop.h iotop-c-1.26/src/iotop.h --- iotop-c-1.25/src/iotop.h 2023-10-14 08:49:35.000000000 +0000 +++ iotop-c-1.26/src/iotop.h 2024-02-04 11:56:30.000000000 +0000 @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-or-later Copyright (C) 2014 Vyacheslav Trushkin -Copyright (C) 2020-2023 Boian Bonev +Copyright (C) 2020-2024 Boian Bonev This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. @@ -27,7 +27,7 @@ #include #include -#define VERSION "1.25" +#define VERSION "1.26" typedef enum { E_GR_IO, @@ -62,6 +62,7 @@ int hideexited; int nocolor; int reverse_graph; + int hideclock; int accumbw; int unicode; // this and below are not part of opts e_grtype grtype; @@ -71,7 +72,7 @@ int base; // 1000 or 1024 int threshold; // 1..10 } f; - int opts[22]; + int opts[23]; } config_t; typedef struct { diff -Nru iotop-c-1.25/src/main.c iotop-c-1.26/src/main.c --- iotop-c-1.25/src/main.c 2023-01-29 20:51:40.000000000 +0000 +++ iotop-c-1.26/src/main.c 2024-02-04 11:56:30.000000000 +0000 @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-or-later Copyright (C) 2014 Vyacheslav Trushkin -Copyright (C) 2020-2023 Boian Bonev +Copyright (C) 2020-2024 Boian Bonev This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. @@ -47,6 +47,7 @@ #define OPT_UNICODE 0x115 #define OPT_COLOR 0x116 #define OPT_NO_ACCUM_BW 0x117 +#define OPT_SHOW_TIME 0x118 static const char *progname=NULL; int maxpidlen=5; @@ -65,7 +66,7 @@ params.user_id=-1; } -static const char str_opt[]="boPaktqc123456789xelRA"; +static const char str_opt[]="boPaktqc123456789xelRTA"; static inline void print_help(void) { printf( @@ -128,6 +129,8 @@ " --show-exited show exited processes\n" " -l, --no-color do not colorize values\n" " --color colorize values\n" + " -T, --hide-time hide current time\n" + " --show-time show current time\n" " --si use SI units of 1000 when printing values\n" " --no-si use non-SI units of 1024 when printing values\n" " --threshold=1..10 threshold to switch to next unit\n" @@ -211,6 +214,8 @@ {"show-graph",no_argument,NULL,OPT_SHOW_GRAPH}, {"hide-command",no_argument,NULL,'9'}, {"show-command",no_argument,NULL,OPT_SHOW_CMD}, + {"hide-time",no_argument,NULL,'T'}, + {"show-time",no_argument,NULL,OPT_SHOW_TIME}, {"dead-x",no_argument,NULL,'x'}, {"no-dead-x",no_argument,NULL,OPT_NO_DEADX}, {"hide-exited",no_argument,NULL,'e'}, @@ -229,7 +234,7 @@ {NULL,0,NULL,0} }; - int c=getopt_long(argc,argv,"vhbon:d:p:u:Paktqc123456789xelRg:H:WA",long_options,NULL); + int c=getopt_long(argc,argv,"boPaktqc123456789xelRTAn:d:p:u:g:H:vhW",long_options,NULL); if (c==-1) { if (optind +#include #include #include #include @@ -169,6 +170,7 @@ static char tcolr[200]="Toggle colorizing values [off]"; static char txxxi[200]="Toggle exited processes xxx/inverse [inverse]"; static char texit[200]="Toggle showing exited processes [off]"; +static char tcloc[200]="Toggle showing time clock [on]"; static char tfrez[200]="Toggle data freeze [off]"; static char units[200]="Toggle SI units [1024]"; static char unitt[200]="Cycle unit threshold [10]"; @@ -211,6 +213,7 @@ {.descr=tcolr,.t="Toggle colorizing values [%s]",.k2="l",.k3="L"}, {.descr=txxxi,.t="Toggle exited processes xxx/inverse [%s]",.k2="x",.k3="X"}, {.descr=texit,.t="Toggle showing exited processes [%s]",.k2="e",.k3="E"}, + {.descr=tcloc,.t="Toggle showing time clock [%s]",.k2="T"}, {.descr=tfrez,.t="Toggle data freeze [%s]",.k2="s",.k3="S"}, {.descr=units,.t="Toggle SI units [%d]",.k1="",.k2="b",.k3=""}, {.descr=unitt,.t="Cycle unit threshold [%d]",.k1="",.k2="t",.k3=""}, @@ -513,9 +516,10 @@ sprintf(p->descr,p->t,!config.f.hidecmd?"on":"off"); break; case 'g': { - char *grt=""; + char *grt; switch (config.f.grtype) { + default: case E_GR_IO: grt="IO"; break; @@ -560,8 +564,11 @@ case 't': sprintf(p->descr,p->t,config.f.threshold); break; + case 'T': + sprintf(p->descr,p->t,config.f.hideclock?"off":"on"); + break; case 0: { // only task_delayacct has no key - char *tda=""; + char *tda; if (has_task_delayacct()) tda=read_task_delayacct()?"dynamic on":"dynamic off"; @@ -877,13 +884,15 @@ } attroff(A_REVERSE); - if ((dontrefresh||!has_tda)&&(maxx-maxcmdline+(config.f.hidecmd?0:strlen(COLUMN_L(0))+1)<(size_t)maxx)) { + if ((dontrefresh||!has_tda||!config.f.hideclock)&&(maxx-maxcmdline+(config.f.hidecmd?0:strlen(COLUMN_L(0))+1)<(size_t)maxx)) { size_t xpos=maxx; if (!has_tda) xpos-=strlen("[T]"); if (dontrefresh) xpos-=strlen("[frozen]"); + if (!config.f.hideclock) + xpos-=strlen("(00:00:00)"); // don't step on column descriptions if (xpos