Overview

BeepDock provides a macOS-style application dock for WinForms. It supports 22 visual styles through a painter system, each with unique rendering for icons, backgrounds, indicators, badges, and tooltips.

Organized across 12 partial files: Properties, Events, Methods, Drawing, Animation, Mouse, DragDrop, Keyboard, Items, Notifications, InteractionState.

22 Dock Painters

PainterStyleKey Visual
ClassicTaskbarDockPainterWindows ClassicFlat toolbar with labels
Windows11DockPainterWindows 11Centered icons, rounded corners, acrylic
AppleDockPaintermacOSGlass shelf, magnification, reflection
iOSDockPainteriOSFrosted glass, rounded icon containers
Material3DockPainterMaterial Design 3Pill-shaped container, dynamic color
GNOMEDockPainterGNOMEDark strip, subtle indicators
PlankDockPainterPlankFlat bar, simple active dots
NeumorphicDockPainterNeumorphicSoft shadows, embossed effect
GlassmorphismDockPainterGlassmorphismBlurred glass, border glow
CyberpunkDockPainterCyberpunkNeon borders, glitch effects
DraculaDockPainterDraculaPurple/cyan dark theme
NordDockPainterNordArctic blue-gray palette
NeonDockPainterNeonBright glowing indicators
MinimalDockPainterMinimalClean, no chrome
FloatingDockPainterFloatingDetached pill, drop shadow
BubbleDockPainterBubbleRound bubble containers
ArcDockPainterArcCurved arc shelf
PlasmaPanelPainterPlasmaKDE-style panel
TerminalDockPainterTerminalHacker terminal aesthetic

All painters implement IDockPainter and extend DockPainterBase. The DockPainterFactory resolves DockStyle to the appropriate painter.

Key Features

  • 22 visual styles — From macOS to Cyberpunk
  • Icon magnification — Apple-dock-style hover magnification with configurable max scale
  • Easing animations — Configurable easing curves via DockEasingHelper
  • Drag-drop reordering — Items can be reordered by dragging
  • Badge support — Notification badges on dock items
  • Tooltips — Hover tooltips with configurable styles
  • Keyboard navigation — Arrow keys, Enter to activate
  • 4 positions — Bottom, Top, Left, Right with auto-orientation

Interaction System

  • DockHitTestHelper — Resolves which item is under the cursor
  • DockAnimationHelper — Manages hover scale animation with easing
  • DockLayoutHelper — Calculates item positions with magnification spread
  • DockThemeHelpers — Resolves theme tokens for the active painter
  • DockIconHelpers — Icon resolution and sizing

Examples

var dock = new BeepDock();

// Style
dock.DockStyleType = DockStyle.AppleDock;
dock.PositionAtBottom();
dock.ItemSize = 56;
dock.MaxScale = 1.5f;  // Magnification

// Items
dock.AddItem("Finder", Icons.Finder, () => OpenFinder());
dock.AddItem("Editor", Icons.Editor, () => OpenEditor());
dock.AddItem("Terminal", Icons.Terminal, () => OpenTerminal());

// Badges
dock.SetBadge("Editor", "3");  // Show "3" badge

// Animation
dock.AnimationStyle = DockAnimationStyle.EaseInOut;
dock.ShowTooltips = true;