Subject: Re: zsh pid completion
From: Marko Myllynen <[email-masked]>
To: Daniel Shahaf <[email-masked]>, Mikael Magnusson <[email-masked]>
Cc: zsh workers <[email-masked]>
Date: Fri, 20 May 2016 10:41:10 +0300
List-Id: Zsh Workers List <zsh-workers.zsh.org>

Hi,

On 2016-05-20 00:14, Daniel Shahaf wrote:
> Mikael Magnusson wrote on Tue, May 17, 2016 at 18:48:24 +0200:
>> On Tue, May 17, 2016 at 12:50 PM, Marko Myllynen <[email-masked]> wrote:
>>>
>>> I see that _pids completion offers only a very limited subset of the
>>> running pids (even by the same user). For example, if I launch a command
>>> on a terminal its PID is not included in completion alternatives on
>>> another terminal. Also, when root, in some cases it might be beneficial
>>> to offer also non-root PIDs (perhaps this could be configurable).
>>>
>>> Is there some reason for this limited approach? (I'm not sending any
>>> patches yet, I'm afraid with ps(1) portability might be a bit tricky.)
>>
>> No need for a patch, you can just set a style to run whatever ps
>> command you like to generate the matches, i use:
>> zstyle ':completion:*:processes' command 'ps ax -o
>> user,pid,nice,%cpu,%mem,vsz,rss,tname,stat,start,time,command
>> --sort=-%cpu'
>>
>> These are also possible
>> zstyle ':completion:*:processes' command 'ps aux'
>> zstyle ':completion:*:processes' command 'ps --forest -A -o pid,user,cmd'
> 
> There's also a variant that allows cycling through user processes, all
> user processes, and all processes:
> 
> http://www.zsh.org/cgi-bin/mla/redirect?USERNUMBER=20372
> 
> ('_next_tags' is a widget that needs to be bindkey'd; I bind it to ^Xn)

Nice, this is handy indeed. The next thing I was about to as was
completions for pidof(8) but with the above something like "ps s<tab>"
works better than plain pidof(8).

Thanks,

-- 
Marko Myllynen