|
58 | 58 | state: present |
59 | 59 | failed_when: false # May not be available on all Ubuntu versions |
60 | 60 |
|
61 | | - # Download Dash to Panel directly from extensions.gnome.org |
62 | | - # GNOME 46 compatible version (shell-version=46) |
63 | | - - name: Create Dash to Panel extension directory |
64 | | - ansible.builtin.file: |
65 | | - path: /usr/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com |
66 | | - state: directory |
67 | | - mode: '0755' |
68 | | - |
69 | | - - name: Download Dash to Panel extension |
70 | | - ansible.builtin.get_url: |
71 | | - url: "https://extensions.gnome.org/extension-data/dash-to-paneljderose9.github.com.v66.shell-extension.zip" |
72 | | - dest: /tmp/dash-to-panel.zip |
73 | | - mode: '0644' |
74 | | - register: dash_to_panel_download |
75 | | - |
76 | | - - name: Extract Dash to Panel extension |
77 | | - ansible.builtin.unarchive: |
78 | | - src: /tmp/dash-to-panel.zip |
79 | | - dest: /usr/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com |
80 | | - remote_src: true |
81 | | - when: dash_to_panel_download.changed |
82 | | - |
83 | | - - name: Fix Dash to Panel extension permissions |
84 | | - ansible.builtin.file: |
85 | | - path: /usr/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com |
86 | | - state: directory |
87 | | - recurse: true |
88 | | - mode: 'u=rwX,g=rX,o=rX' |
89 | | - |
90 | | - - name: Clean up Dash to Panel zip |
91 | | - ansible.builtin.file: |
92 | | - path: /tmp/dash-to-panel.zip |
93 | | - state: absent |
| 61 | + # NOTE: Dash to Panel extension has compatibility issues with Ubuntu 24.04/GNOME 46 |
| 62 | + # The extension system shows "already installed...will not be loaded" errors |
| 63 | + # Instead, we configure Ubuntu Dock to behave more like a Windows-style taskbar |
94 | 64 |
|
95 | 65 | when: ansible_distribution == 'Ubuntu' |
96 | 66 |
|
|
153 | 123 | - name: Enable GNOME Shell extensions |
154 | 124 | community.general.dconf: |
155 | 125 | key: "/org/gnome/shell/enabled-extensions" |
156 | | - value: "['system-monitor@gnome-shell-extensions.gcampax.github.com', 'appindicatorsupport@rgcjonas.gmail.com', 'dash-to-panel@jderose9.github.com', 'ubuntu-appindicators@ubuntu.com']" |
| 126 | + value: "['system-monitor@gnome-shell-extensions.gcampax.github.com', 'appindicatorsupport@rgcjonas.gmail.com', 'dash-to-panel@jderose9.github.com', 'ubuntu-appindicators@ubuntu.com', 'ubuntu-dock@ubuntu.com']" |
157 | 127 | state: present |
158 | 128 | become: false |
159 | 129 |
|
160 | | - - name: Disable Ubuntu Dock (conflicts with Dash to Panel) |
| 130 | + - name: Disable unused extensions |
161 | 131 | community.general.dconf: |
162 | 132 | key: "/org/gnome/shell/disabled-extensions" |
163 | | - value: "['ubuntu-dock@ubuntu.com', 'workspace-indicator@gnome-shell-extensions.gcampax.github.com', 'apps-menu@gnome-shell-extensions.gcampax.github.com']" |
| 133 | + value: "['workspace-indicator@gnome-shell-extensions.gcampax.github.com', 'apps-menu@gnome-shell-extensions.gcampax.github.com']" |
164 | 134 | state: present |
165 | 135 | become: false |
166 | 136 |
|
|
199 | 169 | state: present |
200 | 170 | become: false |
201 | 171 |
|
202 | | - - name: Enable window title bar buttons (minimize, maximize, close) |
| 172 | + # ------------------------------------------------------------------------- |
| 173 | + # Ubuntu Dock configuration (Windows-like taskbar) |
| 174 | + # Only applies on Ubuntu where dash-to-panel doesn't work |
| 175 | + # ------------------------------------------------------------------------- |
| 176 | + |
| 177 | + - name: Configure Ubuntu Dock - position at bottom |
203 | 178 | community.general.dconf: |
204 | | - key: "/org/gnome/desktop/wm/preferences/button-layout" |
205 | | - value: "':minimize,maximize,close'" |
| 179 | + key: "/org/gnome/shell/extensions/dash-to-dock/dock-position" |
| 180 | + value: "'BOTTOM'" |
| 181 | + state: present |
| 182 | + become: false |
| 183 | + when: ansible_distribution == 'Ubuntu' |
| 184 | + |
| 185 | + - name: Configure Ubuntu Dock - extend to full width |
| 186 | + community.general.dconf: |
| 187 | + key: "/org/gnome/shell/extensions/dash-to-dock/extend-height" |
| 188 | + value: "true" |
206 | 189 | state: present |
207 | 190 | become: false |
| 191 | + when: ansible_distribution == 'Ubuntu' |
208 | 192 |
|
209 | | - - name: Configure Dash to Panel - transparency custom opacity |
| 193 | + - name: Configure Ubuntu Dock - always visible (no auto-hide) |
210 | 194 | community.general.dconf: |
211 | | - key: "/org/gnome/shell/extensions/dash-to-panel/trans-use-custom-opacity" |
| 195 | + key: "/org/gnome/shell/extensions/dash-to-dock/dock-fixed" |
212 | 196 | value: "true" |
213 | 197 | state: present |
214 | 198 | become: false |
| 199 | + when: ansible_distribution == 'Ubuntu' |
| 200 | + |
| 201 | + - name: Configure Ubuntu Dock - disable autohide |
| 202 | + community.general.dconf: |
| 203 | + key: "/org/gnome/shell/extensions/dash-to-dock/autohide" |
| 204 | + value: "false" |
| 205 | + state: present |
| 206 | + become: false |
| 207 | + when: ansible_distribution == 'Ubuntu' |
| 208 | + |
| 209 | + - name: Configure Ubuntu Dock - disable intellihide |
| 210 | + community.general.dconf: |
| 211 | + key: "/org/gnome/shell/extensions/dash-to-dock/intellihide" |
| 212 | + value: "false" |
| 213 | + state: present |
| 214 | + become: false |
| 215 | + when: ansible_distribution == 'Ubuntu' |
215 | 216 |
|
216 | | - - name: Configure Dash to Panel - panel opacity |
| 217 | + - name: Configure Ubuntu Dock - click to minimize |
217 | 218 | community.general.dconf: |
218 | | - key: "/org/gnome/shell/extensions/dash-to-panel/trans-panel-opacity" |
219 | | - value: "0.4" |
| 219 | + key: "/org/gnome/shell/extensions/dash-to-dock/click-action" |
| 220 | + value: "'minimize'" |
| 221 | + state: present |
| 222 | + become: false |
| 223 | + when: ansible_distribution == 'Ubuntu' |
| 224 | + |
| 225 | + - name: Configure Ubuntu Dock - running indicator style |
| 226 | + community.general.dconf: |
| 227 | + key: "/org/gnome/shell/extensions/dash-to-dock/running-indicator-style" |
| 228 | + value: "'DOTS'" |
| 229 | + state: present |
| 230 | + become: false |
| 231 | + when: ansible_distribution == 'Ubuntu' |
| 232 | + |
| 233 | + - name: Configure Ubuntu Dock - icon size |
| 234 | + community.general.dconf: |
| 235 | + key: "/org/gnome/shell/extensions/dash-to-dock/dash-max-icon-size" |
| 236 | + value: "48" |
| 237 | + state: present |
| 238 | + become: false |
| 239 | + when: ansible_distribution == 'Ubuntu' |
| 240 | + |
| 241 | + - name: Configure Ubuntu Dock - transparency |
| 242 | + community.general.dconf: |
| 243 | + key: "/org/gnome/shell/extensions/dash-to-dock/transparency-mode" |
| 244 | + value: "'FIXED'" |
| 245 | + state: present |
| 246 | + become: false |
| 247 | + when: ansible_distribution == 'Ubuntu' |
| 248 | + |
| 249 | + - name: Configure Ubuntu Dock - background opacity |
| 250 | + community.general.dconf: |
| 251 | + key: "/org/gnome/shell/extensions/dash-to-dock/background-opacity" |
| 252 | + value: "0.8" |
| 253 | + state: present |
| 254 | + become: false |
| 255 | + when: ansible_distribution == 'Ubuntu' |
| 256 | + |
| 257 | + - name: Configure Ubuntu Dock - hide trash |
| 258 | + community.general.dconf: |
| 259 | + key: "/org/gnome/shell/extensions/dash-to-dock/show-trash" |
| 260 | + value: "false" |
| 261 | + state: present |
| 262 | + become: false |
| 263 | + when: ansible_distribution == 'Ubuntu' |
| 264 | + |
| 265 | + - name: Configure Ubuntu Dock - hide mounts |
| 266 | + community.general.dconf: |
| 267 | + key: "/org/gnome/shell/extensions/dash-to-dock/show-mounts" |
| 268 | + value: "false" |
| 269 | + state: present |
| 270 | + become: false |
| 271 | + when: ansible_distribution == 'Ubuntu' |
| 272 | + |
| 273 | + - name: Enable window title bar buttons (minimize, maximize, close) |
| 274 | + community.general.dconf: |
| 275 | + key: "/org/gnome/desktop/wm/preferences/button-layout" |
| 276 | + value: "':minimize,maximize,close'" |
220 | 277 | state: present |
221 | 278 | become: false |
222 | 279 |
|
|
0 commit comments