Skip to content

intisy/NirUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NirUI

A modern graphical and command-line wrapper for NirCmd built with C++20 and Dear ImGui.

Build Windows C++20 License

Download

Features

Graphical Interface

  • 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

Command Line Interface

# 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"

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)

Screenshots

Coming soon

Building

Requirements

  • Windows 10/11
  • CMake 3.16+
  • C++20 compatible compiler (MSVC, Clang)

Build Steps

git clone https://github.com/yourusername/NirUI.git
cd NirUI
mkdir build && cd build
cmake ..
cmake --build . --config Release

Dependencies are automatically fetched via CMake FetchContent:

Usage

GUI Mode

Simply run NirUI.exe to launch the graphical interface.

CLI Mode

# 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)

Custom Commands

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.

Configuration

User data is stored in %LOCALAPPDATA%\NirUI\:

  • app_groups.txt - App group definitions
  • recent_values.txt - Recently used parameter values
  • favorites.txt - Favorite processes
  • history.txt - Command history

License

MIT License - See LICENSE for details.

NirCmd is freeware by NirSoft. NirUI is an independent third-party wrapper.

Acknowledgments

About

A modern NirCmd wrapper with GUI, window freezing, app groups, and CLI support

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages