I forked and enhanced the original plank-wayland example with several improvements for daily driver use. Sharing back to the community:
Repository: https://github.com/franklinbravos/plank-wayland
Features added:
- Multi-window picker — click or hover (400ms delay) on apps with multiple windows to show a window selection menu
- Hover auto-open/close — hover over dock icons opens/closes the window menu automatically
- Multi-monitor support — dock renders on both internal and external displays
- Window focus via Hyprland IPC — clicking a window entry in the menu dispatches
focuswindow + alterzorder + movecursor
- Auto-hide timer — menu auto-closes after 5s of inactivity (pauses on hover)
- Tooltip suppression — app name tooltip hides when window menu is open
- 20+ built-in themes — macos, glass, neon, obsidian, deep-sea, frost, etc.
- Settings panel — right-click dock background to customize live
- Icon theme auto-detection — follows GTK/KDE system icon theme
Key fixes over the original example:
- Fixed
ReferenceError: dockWindow is not defined — dockWindow is inside a Loader > Component and was inaccessible from ShellRoot.activateApp()
- Added
WlrLayershell.layer: WlrLayer.Overlay to menu PanelWindow so clicks register above windows
All configuration is documented with a full README.
I forked and enhanced the original plank-wayland example with several improvements for daily driver use. Sharing back to the community:
Repository: https://github.com/franklinbravos/plank-wayland
Features added:
focuswindow+alterzorder+movecursorKey fixes over the original example:
ReferenceError: dockWindow is not defined—dockWindowis inside aLoader > Componentand was inaccessible fromShellRoot.activateApp()WlrLayershell.layer: WlrLayer.Overlayto menu PanelWindow so clicks register above windowsAll configuration is documented with a full README.