microsoft / microsoft/PowerToys
Conveyor: Hyperscrolling / Linear Window Management Module
- Dominant language
- C
- Stars
- 139k
- Forks
- 8.6k
- PR merge metrics
- PR metrics pending
Description
### Description of the new feature / enhancement
Inspired by Linux-style window management, I built a tool called Conveyor. It uses a hyperscrolling mechanism to create a seamless, linear workflow. This could be a standout feature for PowerToys, giving power users a new way to handle high-information tasks by treating the desktop as a continuous "conveyor belt."
Key Potential:
This feature can be combined with FancyZones to create a highly structured yet fluid environment. While FancyZones defines the "slots," Conveyor acts as the motor that shifts windows between those zones smoothly using the mouse wheel or shortcuts.
For anyone interested in developing this into a full PowerToys module, please feel free to check out my boilerplate code at: https://github.com/rad14-dev/conveyor-proj.git. I've handled the core Win32 API logic there, and I'd love to see this concept evolved within the PowerToys ecosystem!
### Scenario when this would be used?
Use Case Scenarios for Conveyor
1. The "Research Stream" (Academic & Documentation)
Imagine a student or researcher compiling a report. They typically have a web browser for references, a Word document for drafting, and an Excel sheet for data analysis.
The Workflow: Instead of the chaotic Alt + Tab dance, the user arranges these three apps in a linear sequence.
The Benefit: When they need to verify a figure in Excel while typing in Word, they simply scroll slightly to the right. To check a citation in the browser, they scroll again. It preserves Spatial Awareness—the brain remembers that the data is "to the right" of the draft, not buried underneath it.
2. The "Development Flow" (Coding & Debugging)
A developer working on a script often needs to juggle a code editor, a terminal/console, and API documentation.
The Workflow: The user snaps the Code Editor to a center FancyZone and keeps the Terminal and Documentation in the virtual space to the left and right.
The Benefit: Using the mouse wheel to "slide" the terminal into view to check logs and then sliding back to the code allows for a Seamless Context Switch. It eliminates the visual friction of windows overlapping or minimizing.
3. Continuous Processing (The Industrial Analogy)
In food technology or industrial engineering, we move from Batch Processing to Continuous Processing for efficiency.
The Workflow: Think of an operator monitoring a long production line. In a standard OS, they have to "open doors" (click icons) to see different machines.
The Benefit: With Conveyor, the desktop becomes the production line itself. All "machines" (apps) pass in front of the user's eyes in a fixed, predictable order. This reduces the Cognitive Load required to manage multiple streams of information.
4. The "Creative Moodboard" (UI/UX Design)
A designer working in Figma often needs constant access to asset folders and inspiration boards (like Pinterest or Dribbble).
The Workflow: The main canvas stays focused in the primary zone, while inspiration sources "flow" in the peripheral virtual space.
The Benefit: It creates a Linear Gallery of resources. The user can quickly "peek" at their references with a flick of the wrist and return to the canvas without ever losing their creative momentum.
### Supporting information
tl;dr : Current window management in Windows is primarily "Stacked" (Vertical depth). Conveyor introduces "Linear" management (Horizontal flow). This shift is essential for Power Users—such as Developers, Data Analysts, and UI/UX Researchers—who manage multiple high-information streams simultaneously and require a workflow that prioritizes speed, predictability, and minimal mental friction.
1. Technical Feasibility & Performance
Low-Level Integration: The prototype utilizes the Win32 API (via pywin32) to interact directly with the Windows Desktop Window Manager (DWM).
Efficiency: By using SetWindowPos with the SWP_NOACTIVATE and SWP_NOSIZE flags, the system moves windows without triggering heavy UI re-renders or stealing focus, ensuring a lightweight footprint on CPU/GPU resources.
Batch Processing: To prevent stuttering when moving multiple windows, the logic can be optimized using BeginDeferWindowPos, allowing the OS to process all coordinate changes in a single atomic frame.
2. Cognitive & Ergonomic Benefits
Spatial Memory Mastery: Humans are naturally better at remembering positions in a 1D or 2D space (left/right) than in an abstract "stack." Conveyor leverages this by turning window management into a predictable linear path.
Reduced Cognitive Load: Traditional Alt+Tab requires the user to "scan" a grid of icons, which incurs a mental switching penalty. Conveyor transforms this into Navigational Flow, where the target comes to the user via scrolling.
Fitts's Law Optimization: By bringing the desired window into the central "focus zone" via the scroll wheel, it minimizes the need for precise, long-distance mouse movements to the Taskbar.
3. Ecosystem Synergy (PowerToys FancyZones)
Dynamic Anchoring: Instead of moving windows to arbitrary coordinates, Conveyor uses FancyZones as defined "anchor points."
Hybrid Workflow: FancyZones provides the "grid" (The Mold), while Conveyor provides the "motor" (The Movement). This synergy creates a highly structured environment that remains fluid and adaptable.
4. Hardware Optimization
Ultrawide Monitors: Perfect for users with massive screen real estate who want to keep their active work in the center while "scrolling" secondary windows in and out of the periphery.
Seamless Multi-Monitor Flow: Provides a mechanism for windows to "flow" across physical monitor boundaries as if they were one continuous canvas.
Contributor guide
Research direction
Start by reviewing the linked conveyor-proj boilerplate and the issue's references to the Win32 API, DWM, and FancyZones. Before implementation, the module's scope and integration approach need agreement; done would mean an accepted PowerToys module that provides the described linear window workflow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, python
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100