From 6d3595f7f7fcffcf3d329565b3fde54ec7e49524 Mon Sep 17 00:00:00 2001 From: kqzz <48300938+Kqzz@users.noreply.github.com> Date: Sat, 19 Feb 2022 22:02:36 -0500 Subject: feat: add sorting by cmd --- cmd/gotop/main.go | 2 +- widgets/proc.go | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/cmd/gotop/main.go b/cmd/gotop/main.go index 272eecc..cd8293f 100644 --- a/cmd/gotop/main.go +++ b/cmd/gotop/main.go @@ -353,7 +353,7 @@ func eventLoop(c gotop.Config, grid *layout.MyGrid) { grid.Proc.ToggleShowingGroupedProcs() ui.Render(grid.Proc) } - case "m", "c", "p": + case "m", "c", "n", "p": if grid.Proc != nil { grid.Proc.ChangeProcSortMethod(w.ProcSortMethod(e.ID)) ui.Render(grid.Proc) diff --git a/widgets/proc.go b/widgets/proc.go index 408906c..d332a15 100644 --- a/widgets/proc.go +++ b/widgets/proc.go @@ -25,6 +25,7 @@ const ( ProcSortCPU ProcSortMethod = "c" ProcSortMem = "m" ProcSortPid = "p" + ProcSortCmd = "n" ) type Proc struct { @@ -188,6 +189,9 @@ func (proc *ProcWidget) sortProcs() { case ProcSortMem: sort.Sort(sort.Reverse(SortProcsByMem(*procs))) proc.Header[3] += _downArrow + case ProcSortCmd: + sort.Sort(sort.Reverse(SortProcsByCmd(*procs))) + proc.Header[1] += _downArrow } } @@ -336,3 +340,20 @@ func (procs SortProcsByMem) Swap(i, j int) { func (procs SortProcsByMem) Less(i, j int) bool { return procs[i].Mem < procs[j].Mem } + +type SortProcsByCmd []Proc + +// Len implements Sort interface +func (procs SortProcsByCmd) Len() int { + return len(procs) +} + +// Swap implements Sort interface +func (procs SortProcsByCmd) Swap(i, j int) { + procs[i], procs[j] = procs[j], procs[i] +} + +// Less implements Sort interface +func (procs SortProcsByCmd) Less(i, j int) bool { + return strings.ToLower(procs[j].CommandName) < strings.ToLower(procs[i].CommandName) +} -- cgit v1.2.3 From 987183d7f65cc696bbdb3aacd529ae251a5d66e0 Mon Sep 17 00:00:00 2001 From: kqzz <48300938+Kqzz@users.noreply.github.com> Date: Sat, 19 Feb 2022 22:04:59 -0500 Subject: add cmd sorting to help pages --- dicts/de_DE.toml | 1 + dicts/en_US.toml | 1 + dicts/eo.toml | 1 + dicts/es.toml | 1 + dicts/fr.toml | 1 + dicts/ru_RU.toml | 1 + dicts/tt_TT.toml | 1 + dicts/zh_CN.toml | 1 + 8 files changed, 8 insertions(+) diff --git a/dicts/de_DE.toml b/dicts/de_DE.toml index edc74d8..a3cbde4 100644 --- a/dicts/de_DE.toml +++ b/dicts/de_DE.toml @@ -28,6 +28,7 @@ Process actions: Prozesssortierung: - c: CPU + - n: Cmd - m: Mem - p: PID diff --git a/dicts/en_US.toml b/dicts/en_US.toml index 30dacfa..1e85f37 100644 --- a/dicts/en_US.toml +++ b/dicts/en_US.toml @@ -28,6 +28,7 @@ Process actions: Process sorting: - c: CPU + - n: Cmd - m: Mem - p: PID diff --git a/dicts/eo.toml b/dicts/eo.toml index 7371fa2..cae6398 100644 --- a/dicts/eo.toml +++ b/dicts/eo.toml @@ -28,6 +28,7 @@ Proceza agoj: Proceza ordigoj: - c: CPU + - n: Cmd - m: Memoro - p: PID diff --git a/dicts/es.toml b/dicts/es.toml index bb4f3d1..daf9aa6 100644 --- a/dicts/es.toml +++ b/dicts/es.toml @@ -28,6 +28,7 @@ Acciones de proceso : Ordenación de procesos: - c: CPU + - n: Cmd - m: Mem - p: PID diff --git a/dicts/fr.toml b/dicts/fr.toml index e694ed3..01d6516 100644 --- a/dicts/fr.toml +++ b/dicts/fr.toml @@ -28,6 +28,7 @@ Action sur les processus: Tri des processus: - c: CPU + - n: Cmd - m: Mem - p: PID diff --git a/dicts/ru_RU.toml b/dicts/ru_RU.toml index 2656d18..cabb11c 100644 --- a/dicts/ru_RU.toml +++ b/dicts/ru_RU.toml @@ -25,6 +25,7 @@ help=""" - d9: убить выбранный процесс или группу процессов с помощью SIGKILL (9) Сортировка процессов: - c: CPU + - n: Cmd - m: Память - p: PID Фильтр процессов: diff --git a/dicts/tt_TT.toml b/dicts/tt_TT.toml index 3e778bc..2d0d2ac 100644 --- a/dicts/tt_TT.toml +++ b/dicts/tt_TT.toml @@ -28,6 +28,7 @@ gnipuorg ssecorp elggot :>baT< - :gnitros ssecorP UPC :c - +dmC :n - meM :m - DIP :p - diff --git a/dicts/zh_CN.toml b/dicts/zh_CN.toml index bcce304..bab7fb1 100644 --- a/dicts/zh_CN.toml +++ b/dicts/zh_CN.toml @@ -28,6 +28,7 @@ help=""" 进程排序: - c: CPU + - n: Cmd - m: 内存 - p: 进程标识 -- cgit v1.2.3