All Projects → PowerShell → Graphicaltools

PowerShell / Graphicaltools

Licence: mit
Modules that mix PowerShell and GUIs/CUIs! - built on Avalonia and gui.cs

Programming Languages

powershell
5483 projects

Projects that are alternatives of or similar to Graphicaltools

Persepolis
Persepolis Download Manager is a GUI for aria2.
Stars: ✭ 5,218 (+1540.88%)
Mutual labels:  hacktoberfest, gui
Gong Wpf Dragdrop
The GongSolutions.WPF.DragDrop library is a drag'n'drop framework for WPF
Stars: ✭ 1,669 (+424.84%)
Mutual labels:  hacktoberfest, gui
Vue Nodegui
Build performant, native and cross-platform desktop applications with native Vue + powerful CSS like styling.🚀
Stars: ✭ 575 (+80.82%)
Mutual labels:  hacktoberfest, gui
Gazebo
Open source robotics simulator.
Stars: ✭ 404 (+27.04%)
Mutual labels:  hacktoberfest, gui
Flameshot
Powerful yet simple to use screenshot software 🖥️ 📸
Stars: ✭ 15,429 (+4751.89%)
Mutual labels:  hacktoberfest, gui
Imgui Go
Go wrapper library for "Dear ImGui" (https://github.com/ocornut/imgui)
Stars: ✭ 499 (+56.92%)
Mutual labels:  hacktoberfest, gui
Lipi
A simple static blog generator.
Stars: ✭ 100 (-68.55%)
Mutual labels:  hacktoberfest, gui
Mongo Express
Web-based MongoDB admin interface, written with Node.js and express
Stars: ✭ 4,403 (+1284.59%)
Mutual labels:  hacktoberfest, gui
Isee
R/shiny interface for interactive visualization of data in SummarizedExperiment objects
Stars: ✭ 155 (-51.26%)
Mutual labels:  hacktoberfest, gui
Alienfx
AlienFX is a CLI and GUI utility to control the lighting effects of your Alienware computer.
Stars: ✭ 140 (-55.97%)
Mutual labels:  hacktoberfest, gui
Monero Gui Guide
Guide for the Monero GUI wallet
Stars: ✭ 36 (-88.68%)
Mutual labels:  hacktoberfest, gui
Transgui
🧲 A feature rich cross platform Transmission BitTorrent client. Faster and has more functionality than the built-in web GUI.
Stars: ✭ 2,488 (+682.39%)
Mutual labels:  hacktoberfest, gui
Borealis
Hardware accelerated, controller and TV oriented UI library for PC and Nintendo Switch (libnx).
Stars: ✭ 135 (-57.55%)
Mutual labels:  hacktoberfest, gui
Fyne
Cross platform GUI in Go inspired by Material Design
Stars: ✭ 15,142 (+4661.64%)
Mutual labels:  hacktoberfest, gui
Fynedesk
A full desktop environment for Linux/Unix using Fyne
Stars: ✭ 286 (-10.06%)
Mutual labels:  hacktoberfest, gui
Discord bot.py
🍺 A simple discord bot that helps you getting started within discord.py
Stars: ✭ 313 (-1.57%)
Mutual labels:  hacktoberfest
Rsync Homedir Excludes
Stars: ✭ 317 (-0.31%)
Mutual labels:  hacktoberfest
Bash.py
An inline Bash script runner, for Python.
Stars: ✭ 316 (-0.63%)
Mutual labels:  hacktoberfest
Stuntrally
The main repository containing Stunt Rally sources and game data. A 3D racing game based on VDrift and OGRE with track editor.
Stars: ✭ 314 (-1.26%)
Mutual labels:  gui
Consulate
Python client for the Consul HTTP API
Stars: ✭ 319 (+0.31%)
Mutual labels:  hacktoberfest

GraphicalTools

The GraphicalTools repo contains several different graphical-related PowerShell modules including:

  • Microsoft.PowerShell.GraphicalTools - A module that provides GUI experiences based on Avalonia.
  • Microsoft.PowerShell.ConsoleGuiTools - A module that provides console-based GUI experiences based on Terminal.Gui (gui.cs).

Installation

Microsoft.PowerShell.GraphicalTools

Install-Module Microsoft.PowerShell.GraphicalTools

Microsoft.PowerShell.ConsoleGuiTools

Install-Module Microsoft.PowerShell.ConsoleGuiTools

Features

Microsoft.PowerShell.GraphicalTools

Out-GridView documentation

Cross-Platform

Linux Windows Mac
linux-gif window-gif macos-gif
  • Out-Gridview
    • View and filter objects
    • Generate reusable filter code

Microsoft.PowerShell.ConsoleGuiTools

Out-ConsoleGridView documentation

screenshot of Out-ConsoleGridView

Cross-Platform

  • Out-ConsoleGridview
    • View and filter objects

Development

1. Install PowerShell 6.2+

Install PowerShell 6.2+ with these instructions.

3. Clone the GitHub repository:

git clone https://github.com/PowerShell/GraphicalTools.git

4. Install Invoke-Build

Install-Module InvokeBuild -Scope CurrentUser

Now you're ready to build the code. You can do so in one of two ways:

Building the code from PowerShell

PS C:\path\to\GraphicalTools> Invoke-Build Build

Note: You can build a single module using the -ModuleName parameter:

Invoke-Build Build -ModuleName Microsoft.PowerShell.ConsoleGuiTools

From there you can import the module that you just built for example:

Import-Module .\module\Microsoft.PowerShell.ConsoleGuiTools

And then run the cmdlet you want to test, for example:

Get-Process | Out-ConsoleGridView

NOTE: If you change the code and rebuild the project, you'll need to launch a new PowerShell process since the dll is already loaded and can't be unloaded.

Debugging in Visual Studio Code

PS C:\path\to\GraphicalTools> code .

Build by hitting Ctrl-Shift-b in VS Code.

To debug:

In a Powershell session in the c:\path\to\GraphicalTools directory, run pwsh (thus nesting powershell).

Then do the folowing:

Import-Module .\module\Microsoft.PowerShell.ConsoleGuiTools
$pid

This will import the latest built DLL and output the process ID you'll need for debugging. Copy this ID to the clipboard.

In VScode, set your breakpoints, etc... Then hit F5. In the VScode search box, paste the value printed by $pid. You'll see something like pwsh.exe 18328. Click that and the debug session will start.

In the Powershell session run your commands; breakpoints will be hit, etc...

When done, run exit to exit the nested PowerShell and run pwsh again. This unloads the DLL. Repeat.

Contributions Welcome!

We would love to incorporate community contributions into this project. If you would like to contribute code, documentation, tests, or bug reports, please read the development section above to learn more.

Microsoft.PowerShell.GraphicalTools Architecture

Due to the quirks of the PowerShell threading implementation, the design of GUIs in this application are non-standard. The cmdlet invokes an Avalonia application as a separate process to guarantee the GUI is running on the main thread. Graphical tools therefore consists of 3 .NET Projects.

  • Microsoft.PowerShell.GraphicalTools - Cmdlet implementations
  • OutGridView.Gui - Implementation of the Out-GridView window
  • OutGridView.Models - Contains data contracts between the GUI & Cmdlet

Maintainers

License

This project is licensed under the MIT License.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].