Skip to content

Add window preview on hover with Aero Peek - #2470

Closed
dmzoneill wants to merge 90 commits into
micheleg:masterfrom
dmzoneill-forks:master
Closed

Add window preview on hover with Aero Peek#2470
dmzoneill wants to merge 90 commits into
micheleg:masterfrom
dmzoneill-forks:master

Conversation

@dmzoneill

@dmzoneill dmzoneill commented Dec 6, 2025

Copy link
Copy Markdown

Adds hover-to-preview functionality for dash-to-dock, showing window thumbnails when hovering over application icons.

Reworked per review feedback: split into atomic commits, dropped animation system and translations, removed debug logging.

Features

  • Hover over dock icons to see window previews after 300ms delay
  • Click on preview thumbnails to activate windows
  • Aero Peek: hovering over a preview dims windows above it
  • Smooth icon-to-icon transitions when sliding between dock icons
  • Auto-show preview when launching apps while hovering
  • New show-previews-hover setting with toggle in preferences
  • Click behavior unchanged when hover is disabled (default: off)

Commits

  1. schema — Add show-previews-hover boolean setting
  2. windowPreview — Hover open/close with timeouts, BoxPointer passthrough, Aero Peek
  3. appIconsenableHover()/disableHover() per icon, close hover on right-click
  4. dash, docking — Toggle on setting change, suppress autohide while preview is open
  5. prefs — Toggle switch in Behavior section

How it works

  • WindowPreviewMenu.enableHover() removes the menu from PopupMenuManager and makes the BoxPointer non-reactive so pointer events pass through to dock icons, while BoxPointer.bin stays reactive for clicking window thumbnails
  • 300ms delay on enter prevents accidental previews; 300ms delay on leave allows moving from icon to preview
  • _hoverChanged() in DockedDash checks for open preview menus before autohiding
  • windows-changed signal triggers auto-show with a 200ms delay for window initialization

@dmzoneill

Copy link
Copy Markdown
Author

This is targetting the abondoned PR #574

@rufftruffles

Copy link
Copy Markdown

I really hope this gets implemented.

@rufftruffles

rufftruffles commented Dec 6, 2025

Copy link
Copy Markdown

@micheleg @3v1n0 please merge

@rufftruffles

Copy link
Copy Markdown

@dmzoneill I'm running your fork, there's an issue. Let's say chrome is open, i hover over it and open the chrome window, dash doesn't automatically hides, i have to go back and move mouse over somewhere else on the dock for it to happen. can you take a look?

@rufftruffles

Copy link
Copy Markdown

@dmzoneill

dock doesn't auto-hide after clicking a preview in hover mode.

Fix requires changes to 2 files:

windowPreview.js - In _createPreviewItem(), replace the activate handler:

preview.connect('activate', () => {
    Main.activateWindow(window);
    
    const topMenu = this._getTopMenu();
    if (topMenu.fromHover) {
        topMenu.cancelOpen();
        topMenu.cancelClose();
        topMenu._boxPointer.close(BoxPointer.PopupAnimation.FADE, () => {
            topMenu.actor.hide();
            topMenu.isOpen = false;
            if (topMenu._previewBox) {
                topMenu._previewBox.destroy();
                topMenu._previewBox = null;
            }
            topMenu.emit('menu-closed');
        });
    } else {
        topMenu.close();
    }
});

appIcons.js - In enableHover(), add menu-closed handler:

this._signalsHandler.addWithLabel(PREVIEW_HOVER_LABEL, [
    this._previewMenu,
    'menu-closed',
    () => {
        if (this._hoverIsEnabled && !this._previewMenu.isOpen) {
            this.emit('menu-state-changed', false);
        }
    },
]);

Please fix on your end and then update pr please.

@dmzoneill

dmzoneill commented Dec 10, 2025

Copy link
Copy Markdown
Author

@rufftruffles

Thanks for the feedback, I'm eager for this feature to be merged.. so i dont have to run a dev copy .

Please can you describe the steps clearly.

1. X
2. p
3. y

In my case:

1. i can open 2 chrome windows
2. i can hover over chrome icon in the dash
3. the window preview opens showing 2 windows
4. i can hover over one of the windows in the preview
5. i can click one of the windows and it come to the foreground
6. the preview window DOES NOT stay visible and closes as expected

if im understanding your issue, i suspect you have a conflicting setting.

Can you share the schema settings? this fix may work with your settings, may break for others.

daoneill@fedora:~/src/dash-to-dock/schemas$ gsettings --schemadir $(pwd) list-recursively org.gnome.shell.extensions.dash-to-dock
org.gnome.shell.extensions.dash-to-dock activate-single-window true
org.gnome.shell.extensions.dash-to-dock always-center-icons false
org.gnome.shell.extensions.dash-to-dock animation-time 0.20000000000000001
org.gnome.shell.extensions.dash-to-dock app-ctrl-hotkey-1 ['<Ctrl><Super>1']
org.gnome.shell.extensions.dash-to-dock app-ctrl-hotkey-10 ['<Ctrl><Super>0']
org.gnome.shell.extensions.dash-to-dock app-ctrl-hotkey-2 ['<Ctrl><Super>2']
org.gnome.shell.extensions.dash-to-dock app-ctrl-hotkey-3 ['<Ctrl><Super>3']
org.gnome.shell.extensions.dash-to-dock app-ctrl-hotkey-4 ['<Ctrl><Super>4']
org.gnome.shell.extensions.dash-to-dock app-ctrl-hotkey-5 ['<Ctrl><Super>5']
org.gnome.shell.extensions.dash-to-dock app-ctrl-hotkey-6 ['<Ctrl><Super>6']
org.gnome.shell.extensions.dash-to-dock app-ctrl-hotkey-7 ['<Ctrl><Super>7']
org.gnome.shell.extensions.dash-to-dock app-ctrl-hotkey-8 ['<Ctrl><Super>8']
org.gnome.shell.extensions.dash-to-dock app-ctrl-hotkey-9 ['<Ctrl><Super>9']
org.gnome.shell.extensions.dash-to-dock app-hotkey-1 ['<Super>1']
org.gnome.shell.extensions.dash-to-dock app-hotkey-10 ['<Super>0']
org.gnome.shell.extensions.dash-to-dock app-hotkey-2 ['<Super>2']
org.gnome.shell.extensions.dash-to-dock app-hotkey-3 ['<Super>3']
org.gnome.shell.extensions.dash-to-dock app-hotkey-4 ['<Super>4']
org.gnome.shell.extensions.dash-to-dock app-hotkey-5 ['<Super>5']
org.gnome.shell.extensions.dash-to-dock app-hotkey-6 ['<Super>6']
org.gnome.shell.extensions.dash-to-dock app-hotkey-7 ['<Super>7']
org.gnome.shell.extensions.dash-to-dock app-hotkey-8 ['<Super>8']
org.gnome.shell.extensions.dash-to-dock app-hotkey-9 ['<Super>9']
org.gnome.shell.extensions.dash-to-dock app-shift-hotkey-1 ['<Shift><Super>1']
org.gnome.shell.extensions.dash-to-dock app-shift-hotkey-10 ['<Shift><Super>0']
org.gnome.shell.extensions.dash-to-dock app-shift-hotkey-2 ['<Shift><Super>2']
org.gnome.shell.extensions.dash-to-dock app-shift-hotkey-3 ['<Shift><Super>3']
org.gnome.shell.extensions.dash-to-dock app-shift-hotkey-4 ['<Shift><Super>4']
org.gnome.shell.extensions.dash-to-dock app-shift-hotkey-5 ['<Shift><Super>5']
org.gnome.shell.extensions.dash-to-dock app-shift-hotkey-6 ['<Shift><Super>6']
org.gnome.shell.extensions.dash-to-dock app-shift-hotkey-7 ['<Shift><Super>7']
org.gnome.shell.extensions.dash-to-dock app-shift-hotkey-8 ['<Shift><Super>8']
org.gnome.shell.extensions.dash-to-dock app-shift-hotkey-9 ['<Shift><Super>9']
org.gnome.shell.extensions.dash-to-dock application-counter-overrides-notifications true
org.gnome.shell.extensions.dash-to-dock apply-custom-theme false
org.gnome.shell.extensions.dash-to-dock apply-glossy-effect true
org.gnome.shell.extensions.dash-to-dock autohide true
org.gnome.shell.extensions.dash-to-dock autohide-in-fullscreen false
org.gnome.shell.extensions.dash-to-dock background-color '#ffffff'
org.gnome.shell.extensions.dash-to-dock background-opacity 0.80000000000000004
org.gnome.shell.extensions.dash-to-dock bolt-support true
org.gnome.shell.extensions.dash-to-dock click-action 'focus-or-previews'
org.gnome.shell.extensions.dash-to-dock custom-background-color false
org.gnome.shell.extensions.dash-to-dock custom-theme-customize-running-dots false
org.gnome.shell.extensions.dash-to-dock custom-theme-running-dots-border-color '#ffffff'
org.gnome.shell.extensions.dash-to-dock custom-theme-running-dots-border-width 0
org.gnome.shell.extensions.dash-to-dock custom-theme-running-dots-color '#ffffff'
org.gnome.shell.extensions.dash-to-dock custom-theme-shrink false
org.gnome.shell.extensions.dash-to-dock customize-alphas false
org.gnome.shell.extensions.dash-to-dock dance-urgent-applications true
org.gnome.shell.extensions.dash-to-dock dash-max-icon-size 32
org.gnome.shell.extensions.dash-to-dock default-windows-preview-to-open false
org.gnome.shell.extensions.dash-to-dock disable-overview-on-startup false
org.gnome.shell.extensions.dash-to-dock dock-fixed true
org.gnome.shell.extensions.dash-to-dock dock-position 'BOTTOM'
org.gnome.shell.extensions.dash-to-dock extend-height false
org.gnome.shell.extensions.dash-to-dock force-straight-corner false
org.gnome.shell.extensions.dash-to-dock height-fraction 0.62
org.gnome.shell.extensions.dash-to-dock hide-delay 0.20000000000000001
org.gnome.shell.extensions.dash-to-dock hide-tooltip false
org.gnome.shell.extensions.dash-to-dock hot-keys true
org.gnome.shell.extensions.dash-to-dock hotkeys-overlay true
org.gnome.shell.extensions.dash-to-dock hotkeys-show-dock true
org.gnome.shell.extensions.dash-to-dock icon-size-fixed true
org.gnome.shell.extensions.dash-to-dock intellihide true
org.gnome.shell.extensions.dash-to-dock intellihide-mode 'FOCUS_APPLICATION_WINDOWS'
org.gnome.shell.extensions.dash-to-dock isolate-locations true
org.gnome.shell.extensions.dash-to-dock isolate-monitors true
org.gnome.shell.extensions.dash-to-dock isolate-workspaces true
org.gnome.shell.extensions.dash-to-dock manualhide false
org.gnome.shell.extensions.dash-to-dock max-alpha 0.80000000000000004
org.gnome.shell.extensions.dash-to-dock middle-click-action 'launch'
org.gnome.shell.extensions.dash-to-dock min-alpha 0.20000000000000001
org.gnome.shell.extensions.dash-to-dock minimize-shift true
org.gnome.shell.extensions.dash-to-dock multi-monitor true
org.gnome.shell.extensions.dash-to-dock preferred-monitor -2
org.gnome.shell.extensions.dash-to-dock preferred-monitor-by-connector 'eDP-1'
org.gnome.shell.extensions.dash-to-dock pressure-threshold 100.0
org.gnome.shell.extensions.dash-to-dock preview-animation-style 4
org.gnome.shell.extensions.dash-to-dock preview-size-scale 0.0
org.gnome.shell.extensions.dash-to-dock require-pressure-to-show true
org.gnome.shell.extensions.dash-to-dock running-indicator-dominant-color false
org.gnome.shell.extensions.dash-to-dock running-indicator-style 'DOT'
org.gnome.shell.extensions.dash-to-dock scroll-action 'do-nothing'
org.gnome.shell.extensions.dash-to-dock scroll-switch-workspace true
org.gnome.shell.extensions.dash-to-dock scroll-to-focused-application true
org.gnome.shell.extensions.dash-to-dock shift-click-action 'minimize'
org.gnome.shell.extensions.dash-to-dock shift-middle-click-action 'launch'
org.gnome.shell.extensions.dash-to-dock shortcut ['<Super>q']
org.gnome.shell.extensions.dash-to-dock shortcut-text '<Super>q'
org.gnome.shell.extensions.dash-to-dock shortcut-timeout 2.0
org.gnome.shell.extensions.dash-to-dock show-apps-always-in-the-edge true
org.gnome.shell.extensions.dash-to-dock show-apps-at-top true
org.gnome.shell.extensions.dash-to-dock show-delay 0.25
org.gnome.shell.extensions.dash-to-dock show-dock-urgent-notify true
org.gnome.shell.extensions.dash-to-dock show-favorites true
org.gnome.shell.extensions.dash-to-dock show-icons-emblems true
org.gnome.shell.extensions.dash-to-dock show-icons-notifications-counter true
org.gnome.shell.extensions.dash-to-dock show-mounts true
org.gnome.shell.extensions.dash-to-dock show-mounts-network true
org.gnome.shell.extensions.dash-to-dock show-mounts-only-mounted true
org.gnome.shell.extensions.dash-to-dock show-previews-hover true
org.gnome.shell.extensions.dash-to-dock show-running true
org.gnome.shell.extensions.dash-to-dock show-show-apps-button true
org.gnome.shell.extensions.dash-to-dock show-trash true
org.gnome.shell.extensions.dash-to-dock show-windows-preview true
org.gnome.shell.extensions.dash-to-dock transparency-mode 'DYNAMIC'
org.gnome.shell.extensions.dash-to-dock unity-backlit-items false
org.gnome.shell.extensions.dash-to-dock workspace-agnostic-urgent-windows true

@Shobhit043

Copy link
Copy Markdown

@dmzoneill
Thanks a lot for this great work

I noticed a small issue with dock autohide behavior. When the mouse pointer moves away from the preview of the currently active window, the preview correctly disappears, but the dock does not autohide (even when autohide is enabled).

Expected behavior

Once the cursor moves from the window preview back to the window area, the dock should autohide automatically.

Proposed fix

This can be resolved by making a small change in windowPreview.js.

Modify _endHoverSession() as follows:

_endHoverSession() {
    if (!this.fromHover)
        return;

    debugLog(`[PREVIEW] Ending hover session for ${this._app.get_name()}`);

    this.fromHover = false;

    // Close preview
    if (this.isOpen) {
        this.actor.hide();
        this.isOpen = false;
    }

    if (this._previewBox) {
        this._previewBox.destroy();
        this._previewBox = null;
    }

    // Force dock autohide when mouse moves to the window
    const dockManager = Docking.DockManager;
    if (dockManager && dockManager._dock) {
        dockManager._dock._onLeave(); // triggers hide logic
    }

    this.emit('menu-closed');
}

This explicitly triggers the dock’s leave logic once the preview hover session ends, ensuring autohide works as expected.

@dmzoneill

Copy link
Copy Markdown
Author

@Shobhit043 i'm not entirely sure what version of the dock you're running.
But I believe I have incorporated your fixes into onhoverClose().
_endHoverSession() is not in my code base.
I can also confirm that the dock hides on onMouseOut.

@Shobhit043

Copy link
Copy Markdown

@Shobhit043 i'm not entirely sure what version of the dock you're running. But I believe I have incorporated your fixes into onhoverClose(). _endHoverSession() is not in my code base. I can also confirm that the dock hides on onMouseOut.

Thanks

@Noah-nbinary

Copy link
Copy Markdown

it'd be amazing if this got implemented

@Fluiding

Fluiding commented Jan 4, 2026

Copy link
Copy Markdown

I hope it gets merged!

@elmagio

elmagio commented Jan 7, 2026

Copy link
Copy Markdown

I've tested the fork on a secondary machine for a couple days, works great ! Haven't noticed any particular problems.

@dmzoneill dmzoneill closed this Feb 13, 2026
@dmzoneill dmzoneill reopened this Feb 14, 2026
@C-Prime90

C-Prime90 commented Feb 23, 2026

Copy link
Copy Markdown

@dmzoneill Works awesome, nice job, hope to see it merged soon. :)

@dmzoneill

Copy link
Copy Markdown
Author

@vanvugt @3v1n0 Anything i can do to get this moving? thanks

@dmzoneill

Copy link
Copy Markdown
Author

rebased. still waiting on review @vanvugt @3v1n0 ?

@fabiocasolari

Copy link
Copy Markdown

SUPER! this is the feature i'll waiting for!

@3v1n0

3v1n0 commented May 8, 2026

Copy link
Copy Markdown
Collaborator

rebased. still waiting on review @vanvugt @3v1n0 ?

2k lines AI-generated commit as 61200e8 ?

No, thanks.

If you want a chance this to be reviewed and merged, split all the changes in atomic and incremental commits with clear explaination of why (not what), without unneeded comments. Drop the unneeded things (all this animation stuff), simplify it to the minimum and re-iterate in future in case.

@claudiuIosif

Copy link
Copy Markdown

https://extensions.gnome.org/extension/9492/dock-window-preview/?c=173763 - the easy way use another extension :D

Implements hover-to-preview functionality for dash-to-dock, showing window
thumbnails when hovering over application icons. Includes Windows Aero Peek
style transparency effect and multiple animation options.

Features:
- Hover over dock icons to see window previews after 300ms delay
- Click on preview thumbnails to activate windows
- Aero Peek: hovering over a preview makes other windows transparent
- Icon-to-icon transitions: smoothly move between dock icons
- Auto-show preview when launching apps while hovering
- Configurable animation styles (instant, fade, slide, scale, expand, etc.)
- Configurable preview size scaling
- Preview shows on hover, click still opens traditional menu

Technical implementation:
- New setting 'show-previews-hover' to enable/disable hover previews
- New setting 'preview-animation-style' with 7 animation options
- WindowPreviewMenu extended with hover mode support
- Hover mode removes menu from PopupMenuManager to prevent auto-close
- BoxPointer made non-reactive to allow events through to dock icons
- BoxPointer.bin remains reactive for clicking on window previews
- windows-changed signal triggers auto-show when apps launch
- 200ms delay ensures windows are properly sized before preview
- Proper timeout management for smooth hover interactions

Animation styles:
0. Instant - No animation
1. Fade - Pure opacity fade
2. Slide - Slide from dock with fade
3. Scale - Zoom in with scale
4. Expand - Width/height expand (default)
5. Dissolve - Quick fade with subtle scale
6. CASCADE - Staggered item appearance

User experience improvements:
- 300ms hover delay prevents accidental previews
- Preview stays open when moving from icon to preview
- 300ms delay before closing when mouse leaves
- Smooth transitions between different dock icons
- Instant feedback when launching applications
Adds translations for the new window preview settings introduced in
commit cb0a478. Each language now includes translations for:

- "Show window previews on mouse hover"
- "Preview animation style"
- Animation options: Instant, Fade, Slide, Scale, Expand, Dissolve, Cascade

All 28 languages updated: ar, cs, de, el, es, eu, fr, gl, hu, id, it,
ja, ko, nb, nl, pl, pt, pt_BR, ru, sk, sl, sr, sr@latin, sv, tr,
uk_UA, zh_CN, zh_TW
- appIcons.js: remove unnecessary braces from single-statement if (curly)
- dash.js: add missing BoxPointer import (no-undef), rename shadowed
  variable (no-shadow)
- windowPreview.js: remove unused vars (PREVIEW_MAX_WIDTH, logFileStream,
  HOVER_LEAVE_TIMEOUT), omit unused catch binding, fix line length,
  convert non-interpolated template literals to single quotes, use
  object shorthand for delay property, remove unnecessary braces
dmzoneill and others added 26 commits July 5, 2026 16:20
Adds a new 'custom-border-radius' setting (integer, default -1 for theme
default) that lets users override the dock background border radius.
The setting is applied through theming.js and exposed in the Appearance
tab of the preferences dialog as a spin button (-1 to 99).
When all of an app's windows are minimized, GNOME Shell's
WindowTracker.focus_app may still report the app as focused.
This caused the dock icon to remain highlighted and subsequent
clicks to not raise the minimized window, because the activate
logic saw the app as already focused.

Check whether at least one window is actually visible on the
active workspace before marking the icon as focused.
Add a new setting 'clear-notifications-on-focus' that automatically
clears the notification counter badge on dock icons when the
application window receives focus. The notifications themselves remain
in the GNOME Shell notification tray for manual dismissal.

Adds schema key, Settings UI toggle, prefs.js binding, and the
acknowledgeAppNotifications() method in NotificationsMonitor.
When using dynamic transparency with a wallpaper changer like Variety,
notify::allocation signals fire at high frequency on window actors.
Each signal triggered _updateSolidStyle which calls set_style() and
get_transformed_position(), overwhelming the compositor's style/layout
pipeline and potentially freezing or crashing the GUI.

Coalesce rapid _updateSolidStyle calls into a single GLib idle callback
so that no matter how many allocation changes arrive in one frame, only
one style update is performed.
When the pointer moves quickly from another monitor through the dock,
the Clutter leave event can be lost, leaving the dock stuck visible
with a stale hover state.  Add a 500ms safety timer in _hoverChanged()
that calls sync_hover() to verify the pointer is still actually over
the dock, resolving the frozen/zoomed state.
…screen

When intellihide is active, the dock disables compositor unredirection
to ensure it renders on top of windows.  However, disabling unredirect
forces the compositor to composite every frame, which breaks
VRR/Freesync for fullscreen applications.

Skip the unredirect manipulation when the monitor is in fullscreen,
since the dock should not need to overlay a fullscreen surface in
normal operation.  This preserves VRR for all intellihide dodge-window
modes.
…s none

When isolate-monitors is enabled and a window is moved to a different
monitor, getInterestingWindows() returns an empty array for the dock on
the original monitor. This caused click actions (focus, minimize, cycle)
to fail silently or launch a new window instead of activating the
existing one.

Now when the app is running but isolation filters out all windows, we
fall back to the full unfiltered window list so that the click action
can find and activate/restore the window on the other monitor.
Auto-fixed: comma-spacing, space-infix-ops, quotes, tabs/indent.
Manual: catch(e) -> catch(_e), catch(_e) -> catch(_) for unused vars.
Scheduled daily at 06:17 UTC (+ manual trigger). Detects new
issues and PRs on micheleg/dash-to-dock, mirrors issues to our
tracker, and auto-creates PRs for cleanly-applying upstream changes.
Shell versions narrowed to 47-50. Updated both workflows to
actions/checkout@v5 to avoid Node.js 20 deprecation warning.
Added npm artifacts to gitignore.
Extract hook_up_vfunc_symbol and gobject_prototype_symbol from public
GObject.Object.prototype instead of the private imports._gi module.
This resolves EGO review flag EGO-I-004 while preserving the runtime
vfunc injection behavior needed by VFuncInjectionsHandler.
St.ThemeContext.get_for_stage(global.stage).scaleFactor is not yet
deprecated in GNOME 47+, but returns a global value. Add inline notes
at each call site where monitor index is available, flagging potential
future use of global.display.get_monitor_scale(monitorIndex) for
per-monitor scale correctness.
The 'preferred-monitor' integer key (default -2) was a legacy fallback
for index-based monitor selection. The connector-based key
'preferred-monitor-by-connector' has been the primary path for all
current configurations. Remove the deprecated schema key and simplify
docking.js and prefs.js to use only the connector-based approach.
bounceAnimation.js: Track 16ms sync and 80ms step timer IDs in a Set,
clean them up in both cleanup() and stop() to prevent callbacks firing
on destroyed actors when the extension is disabled mid-animation.

utils.js: CancellableChild.cancel() now removes any pending
_disconnectIdle source before disconnecting from the parent, preventing
a leaked idle callback after cancellation.
Move untracked signal connections in DockedDash and IconAnimator to use
the existing _signalsHandler system so they are centrally tracked and
guaranteed to disconnect on destroy.  This covers the box hover signal,
allocation/slider layout signals, self notify::visible/destroy handlers,
translation-update signals, and the IconAnimator's St.Settings and
timeline connections.
Track scrollView, showAppsButton, showAppsIcon, self-destroy, and
dash-leave-event signals through _signalsHandler instead of raw
.connect() with manual ID tracking.  The dash-leave hover signal now
uses addWithLabel/removeWithLabel for clean enable/disable cycling.
Track self property-change signals (notify::running, notify::focused,
notify::updating, notify::urgent) and Main.overview 'hiding' connections
through _signalsHandler instead of raw .connect().  The overview signals
now use labeled tracking (MENU_OVERVIEW, PREVIEW_OVERVIEW) so they are
properly cleaned up when menu actors are destroyed, preventing potential
leaks on the global singleton during extension disable/re-enable cycles.
Removed @eslint/js import from eslint.config.mjs — inlined the
recommended rules to avoid missing package in CI. Fixed shexli
workflow dependency conflict by installing tree-sitter first.
@vanvugt

vanvugt commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

This doesn't make sense as a merge request. It's changing over 6k lines of code in a project that is only 13k lines of code. I suggest you should either break it into much smaller proposals for review or maintain it as a separate project.

@vanvugt

vanvugt commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator

It's clear this is now a project fork since the branch name is master and the project name has changed to Dash 2 X. Also there exists https://github.com/dmzoneill-forks/xdock

So this is never going to be merged into dash-to-dock. Closing.

@vanvugt vanvugt closed this Jul 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.