id = "htop" name = "htop" homepage = "https://htop.dev" description = "htop is a cross-platform ncurses-based process viewer." icon = "SimpleIcons:htop" executables = ["htop"] platforms = ["macos", "linux"] [dotfiles] # htop(1), CONFIG FILES: "By default htop reads its configuration from the # XDG-compliant path ~/.config/htop/htoprc" — $XDG_CONFIG_HOME on both # platforms htop supports, which is [configHome]. $HTOPRC overrides it; the # system-wide ${prefix}/etc/htoprc is the fallback when no user file exists. # The same page confirms the file is written by htop itself, so it is not # hand-edited — but it is where the Setup screen's choices persist. paths = ["[configHome]/htop/htoprc"] secret = [] # No side_effect = false: the man page says htoprc "is overwritten upon clean # exit by htop's in-program Setup configuration", so a running htop will # clobber anything written under it. # No machine_lines: htoprc is meters, columns, colours and sort order — the # preferences a user wants on every machine. pcp-htop keeps its own copy under # ~/.pcp/htop/, which belongs to Performance Co-Pilot, not here. [commands] format = 1 label = "Process viewer" description = "Start htop with a refresh delay, filter, sort column or view. PID and user filters are included; key bindings inside htop are not." quality = "ai-draft" base = "fig:htop" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = true } [[commands.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/htop.ts" license = "MIT" [[commands.field]] id = "delay" label = "Refresh delay (tenths of a second)" type = "integer" option = ["--delay", "-d"] description = "Delay between updates, in tenths of a second." sources = ["fig"] [[commands.field]] id = "filter" label = "Filter commands" type = "string" option = ["--filter", "-F"] description = "Show only commands matching this text." sources = ["fig"] [[commands.field]] id = "sort_key" label = "Sort column" type = "string" option = ["--sort-key", "-s"] description = "Sort by this column in list view, e.g. PERCENT_CPU." sources = ["fig"] [[commands.field]] id = "tree" label = "Tree view" type = "boolean" option = ["--tree", "-t"] description = "Show the tree view." sources = ["fig"] [[commands.field]] id = "user" label = "User" type = "string" option = ["--user", "-u"] description = "Show only processes for a given user." sources = ["fig"] [[commands.field]] id = "no_color" label = "Monochrome" type = "boolean" option = ["--no-color", "-C"] description = "Use a monochrome color scheme." sources = ["fig"] [[commands.field]] id = "no_mouse" label = "Disable mouse" type = "boolean" option = ["--no-mouse", "-M"] description = "Disable the mouse." sources = ["fig"] [[commands.field]] id = "no_unicode" label = "ASCII only" type = "boolean" option = ["--no-unicode", "-U"] description = "Do not use unicode but plain ASCII." sources = ["fig"] [[commands.task]] id = "tree" label = "Tree view" set = { tree = [true] } fields = ["delay", "filter", "user", "no_color"] required = [] [[commands.task]] id = "user" label = "One user's processes" fields = ["user", "sort_key", "tree"] required = ["user"] [[commands.group]] id = "basic" label = "Basic" fields = ["delay", "filter", "sort_key", "tree", "user"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["no_color", "no_mouse", "no_unicode"]