summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean E. Russell <ser@ser1.net>2022-09-29 12:26:59 -0500
committerSean E. Russell <ser@ser1.net>2022-09-29 12:26:59 -0500
commit7a06ff5fa7bebedbeb17c1756e0c078e34d7707e (patch)
tree2b78e13000fdaec6558555ae8bd8d95585075f68
parent8f2739c12bdc0e5bc5179c13d98afe9f2c078b5d (diff)
parent987183d7f65cc696bbdb3aacd529ae251a5d66e0 (diff)
Merge branch 'feat-sort-procs-cmd' of https://github.com/Kqzz/gotop
-rw-r--r--cmd/gotop/main.go2
-rw-r--r--dicts/de_DE.toml1
-rw-r--r--dicts/en_US.toml1
-rw-r--r--dicts/eo.toml1
-rw-r--r--dicts/es.toml1
-rw-r--r--dicts/fr.toml1
-rw-r--r--dicts/ru_RU.toml1
-rw-r--r--dicts/tt_TT.toml1
-rw-r--r--dicts/zh_CN.toml1
-rw-r--r--widgets/proc.go21
10 files changed, 30 insertions, 1 deletions
diff --git a/cmd/gotop/main.go b/cmd/gotop/main.go
index f43bab2..9735056 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/dicts/de_DE.toml b/dicts/de_DE.toml
index 19c02bc..0ce7018 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 4fbdf5d..f564336 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 efcf72b..6d63ef1 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 a90e6c8..8a430e1 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 27ab166..4dd75ee 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 fe2d347..ec70950 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 5590767..7f40eda 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 f4c0e73..3b64e6d 100644
--- a/dicts/zh_CN.toml
+++ b/dicts/zh_CN.toml
@@ -28,6 +28,7 @@ help="""
进程排序:
- c: CPU
+ - n: Cmd
- m: 内存
- p: 进程标识
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)
+}