forge-draggable-windows

Add draggable, z-ordered, collapsible windows to ForgeUiContext applications.

Updated Mar 17, 2026
One-click install
npx skills add https://github.com/code-review-benchmark/coderabbit_prs2__forge-gpu__coderabbit__PR323__20260317 --skill forge-draggable-windows
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: forge-draggable-windows
Source: https://github.com/code-review-benchmark/coderabbit_prs2__forge-gpu__coderabbit__PR323__20260317/tree/main/.claude/skills/forge-draggable-windows
Command: npx skills add https://github.com/code-review-benchmark/coderabbit_prs2__forge-gpu__coderabbit__PR323__20260317 --skill forge-draggable-windows

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Add draggable, z-ordered, collapsible windows to a ForgeUiContext application to improve multitasking and UI organization.

Core Features & Use Cases

  • Draggable floating windows with a drag handle
  • Z-ordering so overlapping windows draw and receive input in the correct order
  • Collapse/expand toggles to save screen space
  • Deferred per-window draw buffers and frame-end sorting for correct rendering
  • Input routing that respects z-order, blocking interactions with background windows when in overlap regions

Quick Start

Initialize a ForgeUiWindowContext wrapping your ForgeUiContext each frame, then use forge_ui_ctx_begin, forge_ui_wctx_begin, declare windows with window_begin/window_end, and finish with forge_ui_wctx_end and forge_ui_ctx_end before rendering.

Frequently Asked Questions about forge-draggable-windows

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add draggable floating windows to a ForgeUiContext application?

To add draggable floating windows to a ForgeUiContext application, wrap your context in a ForgeUiWindowContext each frame, then use window_begin and window_end to declare panels with drag handles, collapse toggles, and z-ordering.

How does z-ordering work for overlapping ForgeUi windows?

Z-ordering for overlapping ForgeUi windows works by deferring per-window draw buffers and sorting them at frame-end, ensuring correct rendering order and input routing that blocks background interactions in overlap regions.

Can I collapse and expand UI windows in ForgeUi to save screen space?

Yes, you can collapse and expand UI windows in ForgeUi to save screen space using built-in collapse toggles managed by ForgeUiWindowState, which tracks per-window state across frames.

What is the best way to handle input routing for stacked UI windows?

The best way to handle input routing for stacked UI windows is using z-order-aware sorting that blocks interactions with background windows when overlapping regions exist, ensuring only the topmost window receives input.

Do I need a ForgeUiContext to use draggable windows?

Yes, you need a ForgeUiContext because draggable windows are initialized by wrapping it in a ForgeUiWindowContext, using APIs like forge_ui_wctx_init and forge_ui_wctx_begin to integrate panels into your existing application.

Why does my ForgeUi window draw behind other panels even with correct input?

ForgeUi windows draw behind other panels when draw buffers are not deferred and sorted per-frame; correct rendering order requires using forge_ui_wctx_end to trigger frame-end sorting before final rendering.