A community-driven dock for the GNOME Shell. Moves the dash out of the overview into a dock for easier app launching and window switching. Features hover previews, icon categories, and more. Community fork of Dash to Dock — focused on timely updates and user-centric development.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-P-007 warning
JavaScript files should be reachable from extension.js or prefs.js
Some JavaScript files are not reachable from `extension.js` or `prefs.js` imports.
Don't include unnecessary files
dockStruts.js
features/locationsWorker.js
platform/actors.js
platform/animations.js
platform/layout.js
platform/signals.js
platform/theme.js
EGO-L-002 warning
objects created by extension should be destroyed in disable()
Objects assigned in `enable()` are missing matching `.destroy()` calls in `disable()` or its helper methods.
docking.js:332
this._staticBox = new Clutter.ActorBox()
features/locations.js:1531
this._background = new St.Widget({
style_class: 'dash-background',
x_expand: true,
y_expand: true,
})
features/locations.js:1522
this._boxContainer = new St.BoxLayout({
name: 'dashtodockBoxContainer',
x_align: Clutter.ActorAlign.FILL,
y_align: Clutter.ActorAlign.FILL,
orientation: Clutter.Orientation.VERTICAL,
})
features/locations.js:1504
this._dashActor = new St.Widget({
name: 'dash',
layout_manager: new Clutter.BinLayout(),
x_expand: true,
y_expand: true,
})
features/locations.js:1512
this._dashContainer = new St.BoxLayout({
name: 'dashtodockDashContainer',
x_align: Clutter.ActorAlign.CENTER,
y_align: Clutter.ActorAlign.CENTER,
orientation: Clutter.Orientation.VERTICAL,
x_expand: true,
y_expand: true,
EGO-L-001 warning
extension must not create GObject instances or modify shell before enable()
Resource creation or signal/source setup was found outside `enable()`.
Only use initialization for static resources
appIcons.js:74
tracker = Shell.WindowTracker.get_default()
EGO-L-005 warning
owned object references should be released in disable()
Owned references that are cleaned up in `disable()` should also be released with `null` or `undefined`.
docking.js:332
this._staticBox = new Clutter.ActorBox()
docking.js:2454
this._mutterSettings = new Gio.Settings({schema_id: MUTTER_SCHEMA})
features/locations.js:1531
this._background = new St.Widget({
style_class: 'dash-background',
x_expand: true,
y_expand: true,
})
features/locations.js:1522
this._boxContainer = new St.BoxLayout({
name: 'dashtodockBoxContainer',
x_align: Clutter.ActorAlign.FILL,
y_align: Clutter.ActorAlign.FILL,
orientation: Clutter.Orientation.VERTICAL,
})
features/locations.js:1504
this._dashActor = new St.Widget({
name: 'dash',
layout_manager: new Clutter.BinLayout(),
x_expand: true,
y_expand: true,
})
features/locations.js:1512
this._dashContainer = new St.BoxLayout({
name: 'dashtodockDashContainer',
x_align: Clutter.ActorAlign.CENTER,
y_align: Clutter.ActorAlign.CENTER,
orientation: Clutter.Orientation.VERTICAL,
x_expand: true,
y_expand: true,
EGO-L-003 warning
signals connected by extension should be disconnected in disable()
Signals assigned in `enable()` are missing matching disconnect calls in `disable()` or its helper methods.
docking.js:1226
this._magClipViewId = this._box.connect('notify::allocation', () => {
if (!this._box.clip_to_view)
return;
if (this._magClipIdleId)
return;
this._magClipIdleId = GLib.idle_add(GLib.PRIORITY_DEFAULT, (
features/locations.js:1590
item.child._draggable.connect('drag-begin', () => {
// Visually hide panel, but keep isOpen=true so that
// requiresVisibility=true remains and the dock stays visible
this.actor.hide();
features/locations.js:1597
item.child._draggable.connect('drag-end', () => {
// Now actually close (releases requiresVisibility)
this.actor.show();
this.close();
})
theming.js:766
dock.connect('destroy', () => (this._destroyed = true))
EGO-L-004 warning
main loop sources should be removed in disable()
Main loop sources assigned in `enable()` are missing matching removals in `disable()` or its helper methods.
docking.js:1550
this._dockDwellTimeoutId = GLib.timeout_add(
GLib.PRIORITY_DEFAULT,
Settings.get('show-delay') * 1000,
this._dockDwellTimeout.bind(this))
docking.js:1289
this._hoverCheckId = GLib.timeout_add(
GLib.PRIORITY_DEFAULT, 500, () => {
this._hoverCheckId = 0;
if (this._box?.get_stage())
this._box.sync_hover();
docking.js:1231
this._magClipIdleId = GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
this._magClipIdleId = 0;
if (this._box.clip_to_view)
this._box.clip_to_view = false;
return GLib.SOURCE_REMOVE;
})
docking.js:2128
this._optionalScrollWorkspaceSwitchDeadTimeId = GLib.timeout_add(
GLib.PRIORITY_DEFAULT,
Settings.get('scroll-workspace-deadtime') ?? 250, () => {
this._optionalScrollWorkspaceSwitchDeadTimeId = 0;
docking.js:1318
this._pointerLeaveCheckId = GLib.timeout_add(
GLib.PRIORITY_DEFAULT, POINTER_LEAVE_CHECK_INTERVAL, () => {
if (this._isPointerOverDock())
return GLib.SOURCE_CONTINUE;
this._pointerLeaveCheckId = 0;
this._hoverCh
docking.js:1393
this._removeBarrierTimeoutId = GLib.timeout_add(
GLib.PRIORITY_DEFAULT, 100, this._removeBarrier.bind(this))
docking.js:1639
this._triggerTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT,
Settings.get('pressure-show-timeout') ?? 250, () => {
// Guard against accessing destroyed state
if (!this._staticBox || !this._monitor) {
this._triggerTimeoutId = 0;
docking.js:510
GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
this._regionUpdateScheduled = false;
if (!this._staticBox)
return GLib.SOURCE_REMOVE;
Main.layoutManager._queueUpdateRegions();
return GLib.SOURCE_REMOVE;
| Version | Status |
|---|---|
| 2 | Unreviewed |
| 1 | Rejected |