Skip to content

piot5/displayflow_cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Displayflow

πŸ‡―πŸ‡΅ζ—₯本θͺž

live_displayflow.webm

Displayflow

Key Features

  • πŸš€ Fast: Written in Rust for maximum performance and memory safety.
  • πŸ› οΈ DDC/CI Control: Adjust brightness, contrast, and VCP features without OSD menus.
  • πŸ“Ÿ CLI First: Optimized for terminal usage, automation, and custom keybindings.
  • πŸ” Hardware Detection: Read EDID data and metadata even from inactive or standby monitors.

See it in Action πŸ“Ί

DisplayFlow Showcase

Click the image above to see how DisplayFlow automates monitor switching and launches Playnite.

Quick Start: The "Snapshot" Feature

If you provide --save without a configuration string, the tool reads your current live setup and saves it exactly as it is.

  1. Manually arrange your windows/monitors in Windows Settings.
  2. Run this to save the current state as "Gaming":
displayflow.exe --save Gaming --hotkey

Task Format

For manual configuration or scripting, use the following colon-separated string format. Note that the Animation Direction is defined per monitor at the very end of its string. Format: ID : Width : Height : X : Y : Primary : Rotation : Freq : Brightness : Contrast : [Animation]

Field Description
ID Persistent ID (e.g., BNQ78A7 or 1). Find via --scan.
Primary 1 for primary monitor, 0 for secondary.
Rotation 0 (Normal), 90 (Portrait), 180 (Inverted), 270 (Portrait Flipped).
Brightness Hardware level 0-100 (via DDC/CI).
Animation Direction for screen_animation.exe (up, down, left, right, none).

Examples

1. Per-Monitor Animation (The "Split" Transition)

If you have a vertical setup, you can trigger animations in opposite directions for a seamless transition effect. PowerShell Top monitor slides 'down', Bottom monitor slides 'up':

displayflow.exe "1:1920:1080:0:0:1:0:60:60:80:down 2:1920:1080:0:1080:0:0:60:70:90:up" --save Productivity

2. The "Ghost" Monitor (Soft Disable)

Completely disable a monitor by setting its dimensions to zero while keeping its ID in the config.

displayflow.exe "2:0:0:0:0:0" --save FocusMode

3. High-Performance Gaming (144Hz + Full Brightness)

Force the primary display to its max refresh rate and hardware brightness.

displayflow.exe "1:2560:1440:0:0:1:0:144:100:80" --save HighFPS --post "start steam://open/main"

Command Reference

Flag Effect
--scan Crucial: Lists all IDs and current hardware values.
--save Saves the provided string (or current live state if string is missing).
--apply-suite Instantly restores a saved layout.
--hotkey Records a global shortcut (e.g., Alt+Shift+G) for the suite.
--daemon Starts the background service for Hotkeys and Tray-Icon.
--silent No console output (perfect for .bat or .ps1 scripts).

How it works

  • Zero Admin: Runs entirely in User Mode. No UAC prompts.
  • Persistent IDs: Monitors are identified by their hardware signature (synth.rs), so your settings survive a reboot or GPU port swap.
  • Smart Animation: If an animation direction is present in the task string, screen_animation.exe is triggered instantly in a background thread to mask the Windows display-driver handshake. If this tool saved you some time, consider leaving a ⭐ - it helps others find the project!