Skip to content

Commit 3fb65e6

Browse files
author
Derek
committed
fix: Configure Ubuntu Dock as Windows-like taskbar on Ubuntu 24.04
Dash to Panel extension has compatibility issues with Ubuntu 24.04/GNOME 46 (extension system shows "already installed...will not be loaded" errors). Instead, configure Ubuntu Dock with Windows-like behavior: - Position at bottom of screen - Extend to full width (panel mode) - Always visible (no auto-hide) - Click to minimize - Running app indicators with dots - Hide trash and mounts Fedora continues to use Dash to Panel via DNF package which works correctly. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
1 parent 0af55ec commit 3fb65e6

2 files changed

Lines changed: 132 additions & 51 deletions

File tree

ansible/roles/dfe_developer/files/dconf-dfe-defaults

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@
77
disable-user-extensions=false
88

99
# Extensions to enable by default
10-
enabled-extensions=['system-monitor@gnome-shell-extensions.gcampax.github.com', 'appindicatorsupport@rgcjonas.gmail.com', 'dash-to-panel@jderose9.github.com', 'ubuntu-appindicators@ubuntu.com']
10+
# Note: On Ubuntu, we use ubuntu-dock instead of dash-to-panel due to GNOME 46 compatibility issues
11+
# Fedora uses dash-to-panel via DNF package which works correctly
12+
enabled-extensions=['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']
1113

12-
# Extensions to disable by default (Ubuntu dock conflicts with Dash to Panel)
13-
disabled-extensions=['ubuntu-dock@ubuntu.com', 'workspace-indicator@gnome-shell-extensions.gcampax.github.com', 'apps-menu@gnome-shell-extensions.gcampax.github.com']
14+
# Extensions to disable by default
15+
disabled-extensions=['workspace-indicator@gnome-shell-extensions.gcampax.github.com', 'apps-menu@gnome-shell-extensions.gcampax.github.com']
1416

1517
[org/gnome/shell/extensions/system-monitor]
1618
# System monitor configuration
@@ -20,10 +22,32 @@ show-download=false
2022
show-upload=false
2123
show-swap=false
2224

23-
[org/gnome/shell/extensions/dash-to-panel]
24-
# Dash to Panel configuration
25-
trans-use-custom-opacity=true
26-
trans-panel-opacity=0.40000000000000002
25+
[org/gnome/shell/extensions/dash-to-dock]
26+
# Ubuntu Dock configuration (Windows-like taskbar)
27+
# Position at bottom like Windows taskbar
28+
dock-position='BOTTOM'
29+
# Extend to full width (panel mode)
30+
extend-height=true
31+
# Always visible, no auto-hide
32+
dock-fixed=true
33+
autohide=false
34+
intellihide=false
35+
# Click to minimize (Windows behavior)
36+
click-action='minimize'
37+
# Show running app indicators
38+
running-indicator-style='DOTS'
39+
# Show window previews on hover
40+
show-windows-preview=true
41+
# Icon size
42+
dash-max-icon-size=48
43+
# Transparency
44+
transparency-mode='FIXED'
45+
background-opacity=0.8
46+
# Hide show apps button (optional, keeps it cleaner)
47+
show-show-apps-button=true
48+
# Hide trash and mounts from dock
49+
show-trash=false
50+
show-mounts=false
2751

2852
[org/gnome/desktop/wm/preferences]
2953
# Window buttons: minimize, maximize, close on right side

ansible/roles/dfe_developer/tasks/gnome.yml

Lines changed: 101 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -58,39 +58,9 @@
5858
state: present
5959
failed_when: false # May not be available on all Ubuntu versions
6060

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
9464

9565
when: ansible_distribution == 'Ubuntu'
9666

@@ -153,14 +123,14 @@
153123
- name: Enable GNOME Shell extensions
154124
community.general.dconf:
155125
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']"
157127
state: present
158128
become: false
159129

160-
- name: Disable Ubuntu Dock (conflicts with Dash to Panel)
130+
- name: Disable unused extensions
161131
community.general.dconf:
162132
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']"
164134
state: present
165135
become: false
166136

@@ -199,24 +169,111 @@
199169
state: present
200170
become: false
201171

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
203178
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"
206189
state: present
207190
become: false
191+
when: ansible_distribution == 'Ubuntu'
208192

209-
- name: Configure Dash to Panel - transparency custom opacity
193+
- name: Configure Ubuntu Dock - always visible (no auto-hide)
210194
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"
212196
value: "true"
213197
state: present
214198
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'
215216

216-
- name: Configure Dash to Panel - panel opacity
217+
- name: Configure Ubuntu Dock - click to minimize
217218
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'"
220277
state: present
221278
become: false
222279

0 commit comments

Comments
 (0)