dangvd / crystal-dock

A cool dock (desktop panel) for Linux desktop
GNU General Public License v3.0
89 stars 9 forks source link

Auto-hidden dock fails to activate when an app is anchored to it's screen edge #60

Open 2handband opened 3 weeks ago

2handband commented 3 weeks ago

Observed behavior: when an app window is snapped to the same screen edge (bottom in this case) as an auto-hidden CrystalDock, the dock will not activate. The behavior does NOT recur when app is simply maximized.

Expected behavior: when a non-maximized app is touching the screen edge occupied by crystaldock, dock will activate when cursor is moved to it.

Steps to reproduce: open an app window; snap said window to screen edge occupied by CrystalDock but do not maximize. Move cursor to that screen edge.

dangvd commented 3 weeks ago

Thanks for letting me know.

The issue here is currently, in Auto Hide mode, the dock simply "resizes" to a 1px thin line and expand when the mouse moves over it. If some window covers this space, the user will not be able to activate it.

A potential fix would be to use Wayland KDE screen edge protocol instead: https://wayland.app/protocols/kde-screen-edge-v1

2handband commented 3 weeks ago

@dangvd: My question, then, is how come it works when the window is simply maximized? One would think it'd have the same effect.

dangvd commented 3 weeks ago

In Auto Hide mode, the dock reserves 1 pixel line of the desktop so that when the user moves the mouse there, the dock can receive a mouse event and activate itself. When the window is maximized, this is honoured (the window won't go over the 1 pixel line). But when you move the window there manually (or snap the window to that edge in your case), it goes over this 1 pixel line.