A modern graphical and command-line wrapper for NirCmd built with C++20 and Dear ImGui.
- Latest Release - Installer or portable ZIP
- All Releases
- Command Builder - Browse and execute 100+ NirCmd commands with an intuitive UI
- Categorized Commands - Commands organized by function (Volume, Monitor, System, Window Management, etc.)
- Window Manager - Freeze, unfreeze, hide, and manage windows with one click
- App Groups - Create groups of applications and apply actions to all at once
- Command History - Track and re-run previous commands
- Dark/Light Themes - Modern UI with custom title bar colors (Windows 11)
- Auto-Download - Automatically downloads NirCmd if not present
# Execute any NirCmd command
NirUI_cli mutesysvolume 2
# Manage app groups
NirUI_cli --create-group "Development"
NirUI_cli --add-app "Development" "VS Code" process "Code.exe"
NirUI_cli --run-group "Development" freeze
# List available commands
NirUI_cli --list
NirUI_cli --list-category "Window Management"- Freeze/Unfreeze - Hide and suspend windows, restore them later
- Favorites - Quick access to frequently managed windows
- Bulk Actions - Apply commands to multiple windows via App Groups
- Window Picker - Select windows from a live list
- Folder Targeting - Target all processes running from a specific folder (with optional subfolder recursion)
Coming soon
- Windows 10/11
- CMake 3.16+
- C++20 compatible compiler (MSVC, Clang)
git clone https://github.com/yourusername/NirUI.git
cd NirUI
mkdir build && cd build
cmake ..
cmake --build . --config ReleaseDependencies are automatically fetched via CMake FetchContent:
- Dear ImGui (docking branch)
- nanosvg
Simply run NirUI.exe to launch the graphical interface.
# Direct command execution
NirUI_cli <nircmd_command> [arguments]
# Examples
NirUI_cli setsysvolume 32768 # Set volume to 50%
NirUI_cli monitor off # Turn off monitor
NirUI_cli win min class "Notepad" # Minimize Notepad
# App Group Management
NirUI_cli --groups # List all groups
NirUI_cli --create-group NAME # Create a group
NirUI_cli --delete-group NAME # Delete a group
NirUI_cli --add-app GROUP NAME TYPE VALUE
NirUI_cli --add-app GROUP NAME folder "C:\Games" --recursive # Target all exes in folder
NirUI_cli --remove-app GROUP NAME
NirUI_cli --run-group GROUP ACTION # Actions: min, max, close, hide, show, freeze, unfreeze
# Target Types for App Groups
# process - Match by executable name (e.g., Code.exe)
# class - Match by window class (e.g., Chrome_WidgetWin_1)
# title - Match by exact window title
# ititle - Match by partial title (case-insensitive)
# folder - Match all executables in a folder (use --recursive for subfolders)NirUI extends NirCmd with compound commands in the Window Management category:
| Command | Description |
|---|---|
win freeze |
Hide window and suspend its process |
win unfreeze |
Resume process and show window |
All window commands (win min, win max, win hide, win show, win close, win freeze, win unfreeze) support the folder target type to match all executables in a directory.
User data is stored in %LOCALAPPDATA%\NirUI\:
app_groups.txt- App group definitionsrecent_values.txt- Recently used parameter valuesfavorites.txt- Favorite processeshistory.txt- Command history
MIT License - See LICENSE for details.
NirCmd is freeware by NirSoft. NirUI is an independent third-party wrapper.
- NirSoft for NirCmd
- Omar Cornut for Dear ImGui
- Mikko Mononen for nanosvg