zsh: _filter_units_by_property: respect --user
authorDaniel Hahler <git@thequod.de>
Thu, 11 Aug 2016 16:46:31 +0000 (18:46 +0200)
committerDaniel Hahler <git@thequod.de>
Thu, 11 Aug 2016 16:46:31 +0000 (18:46 +0200)
Use `$_sys_service_mgr` to handle `--user`, so that `systemctl --user
stop` will correctly filter the active (user) units.  Before this patch,
only user units that also exist as system units and are stoppable there
would be listed.

shell-completion/zsh/_systemctl.in

index 44c31b7..69f6433 100644 (file)
@@ -126,7 +126,7 @@ _filter_units_by_property() {
   local property=$1 value=$2 ; shift ; shift
   local -a units ; units=($*)
   local props
-  for props in ${(ps:\n\n:)"$(_call_program units "$service show --no-pager --property="Id,$property" -- ${units} 2>/dev/null")"}; do
+  for props in ${(ps:\n\n:)"$(_call_program units "$service $_sys_service_mgr show --no-pager --property="Id,$property" -- ${units} 2>/dev/null")"}; do
     props=(${(f)props})
     if [[ "${props[2]}" = "$property=$value" ]]; then
       echo -E - " ${props[1]#Id=}"