3
3
- name : Dockutil | Ensure installed.
4
4
homebrew :
5
5
name : " dockutil"
6
- state : present
6
+ state : installed
7
7
8
- - name : Dockutil | Remove all unwanted dock items
9
- shell : dockutil --remove " {{ item }}"
10
- ignore_errors : true
8
+ - name : Dockutil | Get information on items to remove
9
+ shell : " dockutil --find ' {{ item }}' "
10
+ register : dockutil_removeditems
11
11
with_items : " {{ dockitems_disabled }}"
12
- when : " {{ dockitems_disabled | length > 0 }}"
12
+ changed_when : false
13
+ failed_when : false
14
+ when : dockitems_remove_all|bool == false
15
+
16
+ - name : Dockutil | Remove all dock items
17
+ shell : " dockutil --remove all --no-restart"
18
+ register : removed_items_task
19
+ when : dockitems_remove_all|bool == true
20
+
21
+ - name : Dockutil | Remove all unwanted dock items
22
+ shell : " dockutil --remove '{{ item.item }}' --no-restart"
23
+ register : removed_items_task
24
+ with_items : " {{ dockutil_removeditems.results }}"
25
+ when :
26
+ - dockitems_remove_all|bool == false
27
+ - ' "{{ item.item }} was found in persistent-apps" in item.stdout'
28
+
29
+ - name : Dockutil | Get information on configured setup
30
+ shell : " dockutil --find '{{ item.name }}'"
31
+ register : dockutil_newdata
32
+ with_items : " {{ dockitems_enabled }}"
33
+ changed_when : false
34
+ failed_when : false
13
35
14
36
- name : Dockutil | Adding items
15
- shell : dockutil --find "{{ item.name }}" || dockutil --add "{{ item.path }}"
37
+ shell : " dockutil --add '{{ item.item.path }}' --position {{ item.item.pos }} --no-restart"
38
+ register : added_items_task
39
+ with_items : " {{ dockutil_newdata.results }}"
40
+ when : ' "{{ item.item.name }} was not found in" in item.stdout'
41
+
42
+ - name : Dockutil | Get information on current setup
43
+ shell : " dockutil --find '{{ item.name }}'"
44
+ register : dockutil_currdata
16
45
with_items : " {{ dockitems_enabled }}"
17
- when : " {{ dockitems_enabled | length > 0 }}"
46
+ changed_when : false
47
+ failed_when : false
18
48
19
49
- name : Dockutil | Moving items
20
- shell : dockutil --move "{{ item.name }}" --position "{{ item.pos }}"
21
- with_items : " {{ dockitems_enabled }}"
22
- when : " {{ dockitems_enabled | length > 0 }}"
50
+ shell : " dockutil --move '{{ item.item.name }}' --position {{ item.item.pos }} --no-restart"
51
+ register : moved_items_task
52
+ with_items : " {{ dockutil_currdata.results }}"
53
+ when :
54
+ - ' "{{ item.item.name }} was found in persistent-apps at slot {{ item.item.pos }} in" not in item.stdout'
55
+ - ' "{{ item.item.name }} was not found" not in item.stdout'
56
+
57
+ - name : Dockutil | Restart Dock
58
+ shell : " /usr/bin/killall Dock"
59
+ changed_when : false
60
+ when : >
61
+ removed_items_task.changed|bool == true or
62
+ moved_items_task.changed|bool == true or
63
+ added_items_task.changed|bool == true
0 commit comments