Using Tools
UiaListApp is a Windows UI Automation inspector. It lists processes and windows, captures a window's UI tree, and lets you inspect nodes, properties and supported actions. See the UiaListApp usage guide.
GitTui shows a Git repository's working-tree changes and local branch history in a terminal. Git must be on PATH; launch the tool from the repository or one of its subdirectories. Use CHANGES for staged, unstaged and new files and HISTORY for commits. Its explicit pull commands modify the repository. See the GitTui usage guide for navigation and command behavior.
Windows
- Open
Executables/Executables.slnin Visual Studio and buildReleasewithx86. - Run
CopyExecutables.ps1. - New files will be available in this folder:
- CodePack.exe
- CppMerge.exe
- GacGen.exe
- GlrParserGen.exe
- UiaListApp.exe
- GitTui.exe
The solution also supports Debug and x64. CopyExecutables.ps1 deploys the six Release|x86 executables and reports an error if any is missing.
Run UiaListApp.exe to choose a process and window to inspect. Run GitTui.exe in an interactive terminal with a valid console input and output; redirected streams cannot host its interface.
Linux/macOS
- Build the native TUI provider libraries in the sibling
wGac(Linux) oriGac(macOS) checkout first. GitTui'svmakeuseswGac/build/WGacTuiControlTest/libWGacTui.aandwGac/build/WGacShared/libWGac.a, oriGac/build/MacTuiControlTest/libGacOSXTui.aandiGac/build/MacShared/libGacOSX.a. Linux also needs the provider'spkg-configdependencies. - Run
BuildExecutables.sh. It clean-builds all five tools using their prepared makefiles inExecutablesand copies the binaries to this folder.WGAC_ROOT/WGAC_BUILDorIGAC_ROOT/IGAC_BUILDcan override the provider locations when invoking make. - New files will be available in this folder:
- CodePack
- CppMerge
- GacGen
- GlrParserGen
- GitTui
UiaListApp is Windows-only. Launch GitTui inside the repository to inspect, in an interactive terminal.
NOTE: Optimization is not turned on at this moment, tool performance could be slow especially for GacGen. You could change the makefile if you need to.
Updating packaged sources
The two applications are maintained in the sibling GacUI repository under Tools/UiaList and Tools/GitView. From the monorepo, run Tools/Tools/Build.ps1 -Project UpdateRelease to copy their sources, build the executables, and deploy them here. Do not edit the copied C++ files in this repository.
Executables/UiaListApp/UiaList and Executables/GitTui/GitView preserve the library source layout; each application's entry point is in its Source directory. The UiaListApp copy step also supplies SharedArguments.h and adjusts its one external test-tree include.