Merge pull request #6361 from reitermarkus/login-items
Support deleting login items by path.
This commit is contained in:
commit
72c8a04c84
@ -206,13 +206,22 @@ module Cask
|
|||||||
def uninstall_login_item(*login_items, command: nil, upgrade: false, **_)
|
def uninstall_login_item(*login_items, command: nil, upgrade: false, **_)
|
||||||
return if upgrade
|
return if upgrade
|
||||||
|
|
||||||
login_items.each do |name|
|
apps = cask.artifacts.select { |a| a.class.dsl_key == :app }
|
||||||
ohai "Removing login item #{name}"
|
derived_login_items = apps.map { |a| { path: a.target } }
|
||||||
|
|
||||||
|
[*derived_login_items, *login_items].each do |item|
|
||||||
|
type, id = if item.respond_to?(:key) && item.key?(:path)
|
||||||
|
["path", item[:path]]
|
||||||
|
else
|
||||||
|
["name", item]
|
||||||
|
end
|
||||||
|
|
||||||
|
ohai "Removing login item #{id}"
|
||||||
system_command!(
|
system_command!(
|
||||||
"osascript",
|
"osascript",
|
||||||
args: [
|
args: [
|
||||||
"-e",
|
"-e",
|
||||||
%Q(tell application "System Events" to delete every login item whose name is "#{name}"),
|
%Q(tell application "System Events" to delete every login item whose #{type} is #{id.to_s.inspect}),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user