?
Current Path : /usr/share/emacs/24.3/lisp/ |
Linux gator3171.hostgator.com 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 |
Current File : //usr/share/emacs/24.3/lisp/proced.elc |
;ELC ;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:06:27 2024 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/proced.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\302\303\304\305\306\307\306\310\311\312& \210\313\314\315\316\306\303\317\320&\210\313\321\322\323\306\303\324\325\317\326& \210\313\327\330\331\306\303\317\332&\210\313\333\334\335\306\303\317\336&\210\313\337\304\340\306\303\317\341&\210\313\342\343\344\306\303\317\345&\210\313\346\347\350\306\303\317\351&\210\352\346!\210\313\353\354\355\306\303\317\356&\210\313\357\360\361\306\303\317\362&\210\352\357!\210\313\363\364\365\306\303\317\366&\210\352\363!\210\313\367\370\371\306\303\317\372&\210\352\367!\210\313\373\374\375\306\303\317\376&\210\313\377\201@ \201A \306\303\317\201B &\210\313\201C \304\201D \306\303\317\201E &\210\352\201C !\210\313\201F \304\201G \306\303\317\201E &\210\352\201F !\210\313\201H \304\201I \317\201J \201K \201L \306\303& \210\313\201M \304\201N \317\201J \201K \201O \306\303& \207" [require time-date custom-declare-group proced nil "Proced mode." :group processes unix :prefix "proced-" custom-declare-variable proced-signal-function 'signal-process "Name of signal function.\nIt can be an elisp function (usually `signal-process') or a string specifying\nthe external command (usually \"kill\")." :type (choice (function :tag "function") (string :tag "command")) proced-renice-command "renice" "Name of renice command." :version "24.3" (string :tag "command") proced-signal-list '(("HUP" . " (1. Hangup)") ("INT" . " (2. Terminal interrupt)") ("QUIT" . " (3. Terminal quit)") ("ABRT" . " (6. Process abort)") ("KILL" . " (9. Kill - cannot be caught or ignored)") ("ALRM" . " (14. Alarm Clock)") ("TERM" . " (15. Termination)") ("CONT" . " (Continue executing)") ("STOP" . " (Stop executing / pause - cannot be caught or ignored)") ("TSTP" . " (Terminal stop / pause)")) "List of signals, used for minibuffer completion." (repeat (cons (string :tag "signal name") (string :tag "description"))) proced-grammar-alist '((euid "EUID" "%d" right proced-< nil (euid pid) (nil t nil)) (user "User" nil left proced-string-lessp nil (user pid) (nil t nil)) (egid "EGID" "%d" right proced-< nil (egid euid pid) (nil t nil)) (group "Group" nil left proced-string-lessp nil (group user pid) (nil t nil)) (comm "Command" nil left proced-string-lessp nil (comm pid) (nil t nil)) (state "Stat" nil left proced-string-lessp nil (state pid) (nil t nil)) (ppid "PPID" "%d" right proced-< nil (ppid pid) ((lambda (ppid) (proced-filter-parents proced-process-alist ppid)) "refine to process parents")) (pgrp "PGrp" "%d" right proced-< nil (pgrp euid pid) (nil t nil)) (sess "Sess" "%d" right proced-< nil (sess pid) (nil t nil)) (ttname "TTY" proced-format-ttname left proced-string-lessp nil (ttname pid) (nil t nil)) (tpgid "TPGID" "%d" right proced-< nil (tpgid pid) (nil t nil)) (minflt "MinFlt" "%d" right proced-< nil (minflt pid) (nil t t)) (majflt "MajFlt" "%d" right proced-< nil (majflt pid) (nil t t)) (cminflt "CMinFlt" "%d" right proced-< nil (cminflt pid) (nil t t)) (cmajflt "CMajFlt" "%d" right proced-< nil (cmajflt pid) (nil t t)) (utime "UTime" proced-format-time right proced-time-lessp t (utime pid) (nil t t)) (stime "STime" proced-format-time right proced-time-lessp t (stime pid) (nil t t)) (time "Time" proced-format-time right proced-time-lessp t (time pid) (nil t t)) (cutime "CUTime" proced-format-time right proced-time-lessp t (cutime pid) (nil t t)) (cstime "CSTime" proced-format-time right proced-time-lessp t (cstime pid) (nil t t)) (ctime "CTime" proced-format-time right proced-time-lessp t (ctime pid) (nil t t)) (pri "Pr" "%d" right proced-< t (pri pid) (nil t t)) (nice "Ni" "%3d" 3 proced-< t (nice pid) (t t nil)) (thcount "THCount" "%d" right proced-< t (thcount pid) (nil t t)) (start "Start" proced-format-start 6 proced-time-lessp nil (start pid) (t t nil)) (vsize "VSize" "%d" right proced-< t (vsize pid) (nil t t)) (rss "RSS" "%d" right proced-< t (rss pid) (nil t t)) (etime "ETime" proced-format-time right proced-time-lessp t (etime pid) (nil t t)) (pcpu "%CPU" "%.1f" right proced-< t (pcpu pid) (nil t t)) (pmem "%Mem" "%.1f" right proced-< t (pmem pid) (nil t t)) (args "Args" proced-format-args left proced-string-lessp nil (args pid) (nil t nil)) (pid "PID" "%d" right proced-< nil (pid) ((lambda (ppid) (proced-filter-children proced-process-alist ppid)) "refine to process children")) (tree "Tree" proced-format-tree left nil nil nil nil)) "Alist of rules for handling Proced attributes.\n\nEach element has the form\n\n (KEY NAME FORMAT JUSTIFY PREDICATE REVERSE SORT-SCHEME REFINER).\n\nSymbol KEY is the car of a process attribute.\n\nString NAME appears in the header line.\n\nFORMAT specifies the format for displaying the attribute values. It can\nbe a string passed to `format'. It can be a function called with one\nargument, the value of the attribute. The value nil means take as is.\n\nIf JUSTIFY is an integer, its modulus gives the width of the attribute\nvalues formatted with FORMAT. If JUSTIFY is positive, NAME appears\nright-justified, otherwise it appears left-justified. If JUSTIFY is 'left\nor 'right, the field width is calculated from all field values in the listing.\nIf JUSTIFY is 'left, the field values are formatted left-justified and\nright-justified otherwise.\n\nPREDICATE is the predicate for sorting and filtering the process listing\nbased on attribute KEY. PREDICATE takes two arguments P1 and P2,\nthe corresponding attribute values of two processes. PREDICATE should\nreturn 'equal if P1 has same rank like P2. Any other non-nil value says\nthat P1 is \"less than\" P2, or nil if not.\nIf PREDICATE is nil the attribute cannot be sorted.\n\nPREDICATE defines an ascending sort order. REVERSE is non-nil if the sort\norder is descending.\n\nSORT-SCHEME is a list (KEY1 KEY2 ...) defining a hierarchy of rules\nfor sorting the process listing. KEY1, KEY2, ... are KEYs appearing as cars\nof `proced-grammar-alist'. First the PREDICATE of KEY1 is evaluated.\nIf it yields non-equal, it defines the sort order for the corresponding\nprocesses. If it evaluates to 'equal the PREDICATE of KEY2 is evaluated, etc.\n\nREFINER can be a list of flags (LESS-B EQUAL-B LARGER-B) used by the command\n`proced-refine' (see there) to refine the listing based on attribute KEY.\nThis command compares the value of attribute KEY of every process with\nthe value of attribute KEY of the process at the position of point\nusing PREDICATE.\nIf PREDICATE yields non-nil, the process is accepted if LESS-B is non-nil.\nIf PREDICATE yields 'equal, the process is accepted if EQUAL-B is non-nil.\nIf PREDICATE yields nil, the process is accepted if LARGER-B is non-nil.\n\nREFINER can also be a list (FUNCTION HELP-ECHO).\nFUNCTION is called with one argument, the PID of the process at the position\nof point. The function must return a list of PIDs that is used for the refined\nlisting. HELP-ECHO is a string that is shown when mouse is over this field.\n\nIf REFINER is nil no refinement is done." (repeat (list :tag "Attribute" (symbol :tag "Key") (string :tag "Header") (choice :tag "Format" (const :tag "None" nil) (string :tag "Format String") (function :tag "Formatting Function")) (choice :tag "Justification" (const :tag "left" left) (const :tag "right" right) (integer :tag "width")) (choice :tag "Predicate" (const :tag "None" nil) (function :tag "Function")) (boolean :tag "Descending Sort Order") (repeat :tag "Sort Scheme" (symbol :tag "Key")) (choice :tag "Refiner" (const :tag "None" nil) (list (function :tag "Refinement Function") (string :tag "Help echo")) (list :tag "Refine Flags" (boolean :tag "Less") (boolean :tag "Equal") (boolean :tag "Larger"))))) proced-custom-attributes "List of functions defining custom attributes.\nThis variable extends the functionality of `proced-process-attributes'.\nEach function is called with one argument, the list of attributes\nof a system process. It returns a cons cell of the form (KEY . VALUE)\nlike `process-attributes'. This cons cell is appended to the list\nreturned by `proced-process-attributes'.\nIf the function returns nil, the value is ignored." (repeat (function :tag "Attribute")) proced-format-alist '((short user pid tree pcpu pmem start time (args comm)) (medium user pid tree pcpu pmem vsize rss ttname state start time (args comm)) (long user euid group pid tree pri nice pcpu pmem vsize rss ttname state start time (args comm)) (verbose user euid group egid pid ppid tree pgrp sess pri nice pcpu pmem state thcount vsize rss ttname tpgid minflt majflt cminflt cmajflt start time utime stime ctime cutime cstime etime (args comm))) "Alist of formats of listing.\nThe car of each element is a symbol, the name of the format.\nThe cdr is a list of attribute keys appearing in `proced-grammar-alist'.\nAn element of this list may also be a list of attribute keys that specifies\nalternatives. If the first attribute is absent for a process, use the second\none, etc." (alist :key-type (symbol :tag "Format Name") :value-type (repeat :tag "Keys" (choice (symbol :tag #1="") (repeat :tag "Alternative Keys" (symbol :tag #1#))))) proced-format 'short "Current format of Proced listing.\nIt can be the car of an element of `proced-format-alist'.\nIt can also be a list of keys appearing in `proced-grammar-alist'." (choice (symbol :tag "Format Name") (repeat :tag "Keys" (symbol :tag #1#))) make-variable-buffer-local proced-filter-alist `((user (user \, (concat "\\`" (regexp-quote (user-real-login-name)) "\\'"))) (user-running (user \, (concat "\\`" (regexp-quote (user-real-login-name)) "\\'")) (state . "\\`[Rr]\\'")) (all) (all-running (state . "\\`[Rr]\\'")) (emacs (fun-all lambda (list) (proced-filter-children list ,(emacs-pid))))) "Alist of process filters.\nThe car of each element is a symbol, the name of the filter.\nThe cdr is a list of elementary filters that are applied to every process.\nA process is displayed if it passes all elementary filters of a selected\nfilter.\n\nAn elementary filter can be one of the following:\n(KEY . REGEXP) If value of attribute KEY matches REGEXP,\n accept this process.\n(KEY . FUN) Apply function FUN to attribute KEY. Accept this process,\n if FUN returns non-nil.\n(function . FUN) For each process, apply function FUN to list of attributes\n of each. Accept the process if FUN returns non-nil.\n(fun-all . FUN) Apply function FUN to entire process list.\n FUN must return the filtered list." (repeat (cons :tag "Filter" (symbol :tag "Filter Name") (repeat :tag "Filters" (choice (cons :tag "Key . Regexp" (symbol :tag "Key") regexp) (cons :tag "Key . Function" (symbol :tag "Key") function) (cons :tag "Function" (const :tag "Key: function" function) function) (cons :tag "Fun-all" (const :tag "Key: fun-all" fun-all) function))))) proced-filter 'user "Current filter of proced listing.\nIt can be the car of an element of `proced-filter-alist'.\nIt can also be a list of elementary filters as in the cdrs of the elements\nof `proced-filter-alist'." (choice (symbol :tag "Filter Name") (repeat :tag "Filters" (choice (cons :tag "Key . Regexp" (symbol :tag "Key") regexp) (cons :tag "Key . Function" (symbol :tag "Key") function) (cons :tag "Function" (const :tag "Key: function" function) function) (cons :tag "Fun-all" (const :tag "Key: fun-all" fun-all) function)))) proced-sort 'pcpu "Current sort scheme for proced listing.\nIt must be the KEY of an element of `proced-grammar-alist'.\nIt can also be a list of KEYs as in the SORT-SCHEMEs of the elements\nof `proced-grammar-alist'." (choice (symbol :tag "Sort Scheme") (repeat :tag "Key List" (symbol :tag "Key"))) proced-descend t "Non-nil if proced listing is sorted in descending order." (boolean :tag "Descending Sort Order") proced-goal-attribute 'args "If non-nil, key of the attribute that defines the `goal-column'." (choice (const :tag "none" nil) (symbol :tag "key")) proced-auto-update-interval 5 "Time interval in seconds for auto updating Proced buffers." integer proced-auto-update-flag "Non-nil for auto update of a Proced buffer.\nCan be changed interactively via `proced-toggle-auto-update'." boolean proced-tree-flag "Non-nil for display of Proced buffer as process tree." proced-post-display-hook "Normal hook run after displaying or updating a Proced buffer.\nMay be used to adapt the window size via `fit-window-to-buffer'." hook :options (fit-window-to-buffer) proced-after-send-signal-hook "Normal hook run after sending a signal to processes by `proced-send-signal'.\nMay be used to revert the process listing." (proced-revert)] 10) #@55 Non-nil means Proced is known to work on this system. (defvar proced-available (byte-code "\300 ??\207" [list-system-processes] 1) (#$ . 13137)) #@147 Alist of processes displayed by Proced. The car of each element is the PID, and the cdr is a list of cons pairs, see `proced-process-attributes'. (defvar proced-process-alist nil (#$ . 13289)) (make-variable-buffer-local 'proced-process-alist) #@91 Sort scheme for listing (internal format). It is a list of lists (KEY PREDICATE REVERSE). (defvar proced-sort-internal nil (#$ . 13539)) #@40 In Proced, the current mark character. (defvar proced-marker-char 42 (#$ . 13682)) (byte-code "\300\301\302\303\304\305\304\306&\210\307\310\311\312\304\301%\210\307\313\314\315\304\301%\210\307\316\317\320\304\301%\207" [custom-declare-group proced-faces nil "Faces used by Proced." :group proced faces custom-declare-face proced-mark ((t (:inherit font-lock-constant-face))) "Face used for Proced marks." proced-marked ((t (:inherit error))) "Face used for marked processes." proced-sort-header ((t (:inherit font-lock-keyword-face))) "Face used for header of attribute used for sorting."] 8) #@81 Regexp matching a marked line. Important: the match ends just after the marker. (defvar proced-re-mark "^[^ \n]" (#$ . 14284)) #@39 Headers in Proced buffer as a string. (defvar proced-header-line nil (#$ . 14417)) (make-variable-buffer-local 'proced-header-line) #@38 Temporary alist (internal variable). (defvar proced-temp-alist nil (#$ . 14555)) #@42 Proced process tree (internal variable). (defvar proced-process-tree nil (#$ . 14642)) #@53 Internal variable for depth of Proced process tree. (defvar proced-tree-depth nil (#$ . 14735)) #@58 Stores if Proced auto update timer is already installed. (defvar proced-auto-update-timer nil (#$ . 14837)) #@28 Name of Proced Log buffer. (defvar proced-log-buffer "*Proced log*" (#$ . 14951)) #@25 Help string for Proced. (defconst proced-help-string "(n)ext, (p)revious, (m)ark, (u)nmark, (k)ill, (q)uit (type ? for more help)" (#$ . 15039)) #@57 Help string shown when mouse is over a sortable header. (defconst proced-header-help-echo "mouse-1, mouse-2: sort by attribute %s%s (%s)" (#$ . 15190)) #@57 Help string shown when mouse is over a refinable field. (defconst proced-field-help-echo "mouse-2, RET: refine by attribute %s %s" (#$ . 15348)) (defvar proced-font-lock-keywords (byte-code "\302B\303\304 !\305Q\306BD\207" [proced-re-mark proced-marker-char 'proced-mark "^[" char-to-string "]" (".+" (proced-move-to-goal-column) nil (0 'proced-marked))] 4)) #@29 Keymap for Proced commands. (defvar proced-mode-map (byte-code "\301 \302\303\304#\210\302\305\304#\210\302\306\307#\210\302\310\304#\210\302\311\307#\210\302\312\307#\210\302\313\304#\210\302\314\307#\210\302\315\316#\210\302\317\316#\210\320\316\321\317#\210\302\322\323#\210\302\312\324#\210\302\325\326#\210\302\327\330#\210\302\331\332#\210\302\333\334#\210\302\335\336#\210\302\337\340#\210\302\341\342#\210\302\343\342#\210\302\344\345#\210\302\346\347#\210\302\350\351#\210\302\352\353#\210\302\354\355#\210\302\356\357#\210\302\360\361#\210\302\362\363#\210\302\364\363#\210\302\365\366#\210\302\367\370#\210\302\371\372#\210\302\373\374#\210\302\375\374#\210\302\376\377#\210\302\201@ \201A #\210\302\201B \201C #\210\302\201D \201E #\210\302\201F \201E #\210)\207" [km make-sparse-keymap define-key " " next-line "n" "p" previous-line "" "" "" [down] [up] "d" proced-mark "m" put :advertised-binding "u" proced-unmark proced-unmark-backward "M" proced-mark-all "U" proced-unmark-all "t" proced-toggle-marks "C" proced-mark-children "P" proced-mark-parents "f" proced-filter-interactive [mouse-2] proced-refine " " "sc" proced-sort-pcpu "sm" proced-sort-pmem "sp" proced-sort-pid "ss" proced-sort-start "sS" proced-sort-interactive "st" proced-sort-time "su" proced-sort-user [header-line mouse-1] proced-sort-header [header-line mouse-2] "T" proced-toggle-tree "F" proced-format-interactive "o" proced-omit-processes "x" proced-send-signal "k" "r" proced-renice "h" describe-mode "?" proced-help [remap undo] proced-undo [remap advertised-undo]] 4) (#$ . 15714)) #@13 Proced Menu (defvar proced-menu nil (#$ . 17338)) (byte-code "\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323 \"BBB\324\325\320\326\322\327\n\"BBB\330BBBBBBBBBBBB$\207" [proced-mode-map proced-filter-alist proced-format-alist easy-menu-do-define proced-menu "Proced Menu" "Proced" ["Mark" proced-mark :help "Mark Current Process"] ["Unmark" proced-unmark :help "Unmark Current Process"] ["Mark All" proced-mark-all :help "Mark All Processes"] ["Unmark All" proced-unmark-all :help "Unmark All Process"] ["Toggle Marks" proced-toggle-marks :help "Marked Processes Become Unmarked, and Vice Versa"] ["Mark Children" proced-mark-children :help "Mark Current Process and its Children"] ["Mark Parents" proced-mark-parents :help "Mark Current Process and its Parents"] "--" "Filters" :help "Select Filter for Process Listing" mapcar #[(el) "@\302\303 !\304\305 DD\306\307\310\311\312\305 DE&)\207" [el filter vector symbol-name proced-filter-interactive quote :style radio :selected eq proced-filter] 10] ("Sorting" :help "Select Sort Scheme" ["Sort..." proced-sort-interactive :help "Sort Process List"] "--" ["Sort by %CPU" proced-sort-pcpu] ["Sort by %MEM" proced-sort-pmem] ["Sort by PID" proced-sort-pid] ["Sort by START" proced-sort-start] ["Sort by TIME" proced-sort-time] ["Sort by USER" proced-sort-user]) "Formats" "Select Format for Process Listing" #[(el) "@\302\303 !\304\305 DD\306\307\310\311\312\305 DE&)\207" [el format vector symbol-name proced-format-interactive quote :style radio :selected eq proced-format] 10] (["Tree Display" proced-toggle-tree :style toggle :selected (eval proced-tree-flag) :help "Display Proced Buffer as Process Tree"] "--" ["Omit Marked Processes" proced-omit-processes :help "Omit Marked Processes in Process Listing."] "--" ["Revert" revert-buffer :help "Revert Process Listing"] ["Auto Update" proced-toggle-auto-update :style toggle :selected (eval proced-auto-update-flag) :help "Auto Update of Proced Buffer"] "--" ["Send signal" proced-send-signal :help "Send Signal to Marked Processes"] ["Renice" proced-renice :help "Renice Marked Processes"])] 21) #@46 Return regexp matching `proced-marker-char'. (defalias 'proced-marker-regexp #[nil "\301\302\303!!P\207" [proced-marker-char "^" regexp-quote char-to-string] 4 (#$ . 19472)]) #@67 Display success message for ACTION performed for COUNT processes. (defalias 'proced-success-message #[(action count) "\302\303 \211\304U\203 \305\202 \306$\207" [action count message "%s %s process%s" 1 "" "es"] 6 (#$ . 19654)]) #@62 Move to `goal-column' if non-nil. Return position of point. (defalias 'proced-move-to-goal-column #[nil "\301 \210m\204 \203 u\210\202 \302u\210`\207" [goal-column beginning-of-line 2] 1 (#$ . 19892)]) #@39 Return header line for Proced buffer. (defalias 'proced-header-line #[nil "\301\302\303\304#\305 GX\205 \306\307\310\305 \311O#D\207" [proced-header-line propertize " " display (space :align-to 0) window-hscroll replace-regexp-in-string "\\(%\\)" "\\1\\1" nil] 7 (#$ . 20106)]) #@86 Return pid of system process at point. Return nil if point is not on a process line. (defalias 'proced-pid-at-point #[nil "\212\300 \210\301\302!\205 \303\304\225\305\")\207" [beginning-of-line looking-at "^. ." get-text-property 0 proced-pid] 3 (#$ . 20393)]) (byte-code "\300\301N\204 \302\300\301\303\304!#\210\305\306!\204 \302\306\307\310#\210\300\207" [proced-mode-hook variable-documentation put purecopy "Hook run when entering Proced mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp proced-mode-map definition-name proced-mode] 5) (defvar proced-mode-map (make-sparse-keymap)) (byte-code "\300\301N\204 \302\300\301\303\304!#\210\305\306!\204 \302\306\307\310#\210\300\207" [proced-mode-map variable-documentation put purecopy "Keymap for `proced-mode'." boundp proced-mode-syntax-table definition-name proced-mode] 5) (defvar proced-mode-syntax-table (make-syntax-table)) (byte-code "\300\301N\204 \302\300\301\303\304!#\210\302\305\306\307#\207" [proced-mode-syntax-table variable-documentation put purecopy "Syntax table for `proced-mode'." proced-mode-abbrev-table definition-name proced-mode] 5) (defvar proced-mode-abbrev-table (progn (define-abbrev-table 'proced-mode-abbrev-table nil) proced-mode-abbrev-table)) (byte-code "\300\301N\204 \302\300\301\303\304!#\210\302\305\306\307#\207" [proced-mode-abbrev-table variable-documentation put purecopy "Abbrev table for `proced-mode'." proced-mode derived-mode-parent special-mode] 5) #@1677 Mode for displaying system processes and sending signals to them. Type \[proced] to start a Proced session. In a Proced buffer type \<proced-mode-map>\[proced-mark] to mark a process for later commands. Type \[proced-send-signal] to send signals to marked processes. The initial content of a listing is defined by the variable `proced-filter' and the variable `proced-format'. The variable `proced-filter' specifies which system processes are displayed. The variable `proced-format' specifies which attributes are displayed for each process. Type \[proced-filter-interactive] and \[proced-format-interactive] to change the values of `proced-filter' and `proced-format'. The current value of the variable `proced-filter' is indicated in the mode line. The sort order of Proced listings is defined by the variable `proced-sort'. Type \[proced-sort-interactive] or click on a header in the header line to change the sort scheme. The current sort scheme is indicated in the mode line, using "+" or "-" for ascending or descending sort order. Type \[proced-toggle-tree] to toggle whether the listing is displayed as process tree. An existing Proced listing can be refined by typing \[proced-refine]. Refining an existing listing does not update the variable `proced-filter'. The attribute-specific rules for formatting, filtering, sorting, and refining are defined in `proced-grammar-alist'. After displaying or updating a Proced buffer, Proced runs the normal hook `proced-post-display-hook'. \{proced-mode-map} In addition to any hooks its parent mode `special-mode' might have run, this mode runs the hook `proced-mode-hook', as the final step during initialization. (defalias 'proced-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2036 \321 =\203<