mirror of
https://github.com/nomi-san/parsec-vdd.git
synced 2026-08-07 05:20:44 +00:00
refactor: rename ParsecVDisplay to ParsecDisplay and update project files
This commit is contained in:
@@ -43,7 +43,7 @@ jobs:
|
||||
- name: Target .NET 4.8
|
||||
if: ${{ inputs.net480 }}
|
||||
run: |
|
||||
(Get-Content app\ParsecVDisplay.csproj) -replace "TargetFramework>net472", "TargetFramework>net480" | Out-File app\ParsecVDisplay.csproj
|
||||
(Get-Content app\ParsecDisplay.csproj) -replace "TargetFramework>net472", "TargetFramework>net480" | Out-File app\ParsecDisplay.csproj
|
||||
(Get-Content app\App.config) -replace "Version=v4.7.2", "Version=v4.8" | Out-File app\App.config
|
||||
|
||||
- name: Setup msbuild
|
||||
@@ -52,14 +52,14 @@ jobs:
|
||||
- name: Build app
|
||||
run: |
|
||||
cd app
|
||||
msbuild ParsecVDisplay.csproj /t:Restore
|
||||
msbuild ParsecVDisplay.csproj /t:Build /p:Configuration=${{ inputs.debug && 'Debug' || 'Release' }} /p:Platform=AnyCPU
|
||||
msbuild ParsecDisplay.csproj /t:Restore
|
||||
msbuild ParsecDisplay.csproj /t:Build /p:Configuration=${{ inputs.debug && 'Debug' || 'Release' }} /p:Platform=AnyCPU
|
||||
|
||||
- name: Prepare build output
|
||||
id: prepare-output-step
|
||||
run: |
|
||||
echo "${{ env.APP_VERSION }}+${{ env.SHORT_SHA }}" >> app\bin\version
|
||||
echo "artifact-name=ParsecVDisplay-v${{ env.APP_VERSION }}-${{ env.SHORT_SHA }}" >> $env:GITHUB_OUTPUT
|
||||
echo "artifact-name=ParsecDisplay-v${{ env.APP_VERSION }}-${{ env.SHORT_SHA }}" >> $env:GITHUB_OUTPUT
|
||||
|
||||
- name: Upload build output
|
||||
uses: actions/upload-artifact@v4
|
||||
@@ -69,5 +69,5 @@ jobs:
|
||||
path: |
|
||||
app/bin/version
|
||||
app/bin/vdd.cmd
|
||||
app/bin/ParsecVDisplay.exe
|
||||
app/bin/ParsecVDisplay.exe.config
|
||||
app/bin/ParsecDisplay.exe
|
||||
app/bin/ParsecDisplay.exe.config
|
||||
|
||||
@@ -40,9 +40,9 @@ including up to 4K and 240 Hz. This capability makes it a versatile tool for
|
||||
gaming, streaming, or remote work, allowing users to simulate multiple screens
|
||||
for an enhanced, flexible visual experience.
|
||||
|
||||
## 📺 ParsecVDisplay App
|
||||
## 📺 ParsecDisplay App
|
||||
|
||||
ParsecVDisplay is a comprehensive virtual display manager for Parsec VDD, built
|
||||
ParsecDisplay is a comprehensive virtual display manager for Parsec VDD, built
|
||||
with C# and WPF. The app provides an intuitive interface to manage virtual
|
||||
displays, showing the number of active displays and allowing users to add or
|
||||
remove specific virtual displays. It also supports features like changing
|
||||
@@ -67,7 +67,7 @@ its index to be used for unplugging, the maximum number of displays could be
|
||||
added up to 16 per adapter. You have to ping the driver periodically to keep
|
||||
added displays alive, otherwise all of them will be unplugged after a second.
|
||||
There's no direct way to manipulate added displays, you should call Win32
|
||||
Display API to change their display mode (see the ParsecVDisplay source).
|
||||
Display API to change their display mode (see the ParsecDisplay source).
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
<Application
|
||||
x:Class="ParsecVDisplay.App"
|
||||
x:Class="ParsecDisplay.App"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:ParsecVDisplay"
|
||||
xmlns:local="clr-namespace:ParsecDisplay"
|
||||
>
|
||||
<Application.Resources>
|
||||
<ResourceDictionary>
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ using System.Windows.Interop;
|
||||
using System.Windows.Markup;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace ParsecVDisplay
|
||||
namespace ParsecDisplay
|
||||
{
|
||||
public partial class App : Application
|
||||
{
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ using System.Runtime.InteropServices;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading;
|
||||
|
||||
namespace ParsecVDisplay
|
||||
namespace ParsecDisplay
|
||||
{
|
||||
internal static class CLI
|
||||
{
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<UserControl
|
||||
x:Class="ParsecVDisplay.Components.Button"
|
||||
x:Class="ParsecDisplay.Components.Button"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:ParsecVDisplay.Components"
|
||||
xmlns:local="clr-namespace:ParsecDisplay.Components"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="40" d:DesignWidth="120"
|
||||
>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace ParsecVDisplay.Components
|
||||
namespace ParsecDisplay.Components
|
||||
{
|
||||
public partial class Button : UserControl
|
||||
{
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<UserControl
|
||||
x:Class="ParsecVDisplay.Components.CloseButton"
|
||||
x:Class="ParsecDisplay.Components.CloseButton"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:ParsecVDisplay.Components"
|
||||
xmlns:local="clr-namespace:ParsecDisplay.Components"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="40" d:DesignWidth="60"
|
||||
d:Background="Black"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace ParsecVDisplay.Components
|
||||
namespace ParsecDisplay.Components
|
||||
{
|
||||
public partial class CloseButton : UserControl
|
||||
{
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<Page
|
||||
x:Class="ParsecVDisplay.Components.CustomPage"
|
||||
x:Class="ParsecDisplay.Components.CustomPage"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:ParsecVDisplay.Components"
|
||||
xmlns:local="clr-namespace:ParsecDisplay.Components"
|
||||
mc:Ignorable="d"
|
||||
|
||||
Loaded="Page_Loaded"
|
||||
|
||||
@@ -5,7 +5,7 @@ using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace ParsecVDisplay.Components
|
||||
namespace ParsecDisplay.Components
|
||||
{
|
||||
public partial class CustomPage : Page
|
||||
{
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<UserControl
|
||||
x:Class="ParsecVDisplay.Components.DisplayItem"
|
||||
x:Class="ParsecDisplay.Components.DisplayItem"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:ParsecVDisplay.Components"
|
||||
xmlns:local="clr-namespace:ParsecDisplay.Components"
|
||||
mc:Ignorable="d"
|
||||
Width="180" Height="110"
|
||||
d:Background="Black"
|
||||
|
||||
@@ -6,7 +6,7 @@ using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace ParsecVDisplay.Components
|
||||
namespace ParsecDisplay.Components
|
||||
{
|
||||
public partial class DisplayItem : UserControl
|
||||
{
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
using System.Reflection;
|
||||
using Microsoft.Win32;
|
||||
|
||||
namespace ParsecVDisplay
|
||||
namespace ParsecDisplay
|
||||
{
|
||||
internal static class Config
|
||||
{
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
|
||||
namespace ParsecVDisplay
|
||||
namespace ParsecDisplay
|
||||
{
|
||||
internal static unsafe class Device
|
||||
{
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace ParsecVDisplay
|
||||
namespace ParsecDisplay
|
||||
{
|
||||
internal class Display
|
||||
{
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Interop;
|
||||
|
||||
namespace ParsecVDisplay
|
||||
namespace ParsecDisplay
|
||||
{
|
||||
internal static class Helper
|
||||
{
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
|
||||
namespace ParsecVDisplay
|
||||
namespace ParsecDisplay
|
||||
{
|
||||
/// <summary>
|
||||
/// Lightweight diagnostic logger. Appends to <exe-dir>\debug.log on each
|
||||
|
||||
+3
-3
@@ -1,11 +1,11 @@
|
||||
<Window
|
||||
x:Class="ParsecVDisplay.MainWindow"
|
||||
x:Class="ParsecDisplay.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:ParsecVDisplay"
|
||||
xmlns:components="clr-namespace:ParsecVDisplay.Components"
|
||||
xmlns:local="clr-namespace:ParsecDisplay"
|
||||
xmlns:components="clr-namespace:ParsecDisplay.Components"
|
||||
mc:Ignorable="d"
|
||||
|
||||
Icon="./Resources/icon.ico"
|
||||
|
||||
@@ -6,7 +6,7 @@ using System.Windows.Interop;
|
||||
using System.Windows.Navigation;
|
||||
using Microsoft.Win32;
|
||||
|
||||
namespace ParsecVDisplay
|
||||
namespace ParsecDisplay
|
||||
{
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ParsecVDisplay
|
||||
namespace ParsecDisplay
|
||||
{
|
||||
public class MirrorWindow : Form
|
||||
{
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<AssemblyName>ParsecVDisplay</AssemblyName>
|
||||
<RootNamespace>ParsecVDisplay</RootNamespace>
|
||||
<StartupObject>ParsecVDisplay.Program</StartupObject>
|
||||
<AssemblyName>ParsecDisplay</AssemblyName>
|
||||
<RootNamespace>ParsecDisplay</RootNamespace>
|
||||
<StartupObject>ParsecDisplay.Program</StartupObject>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
|
||||
@@ -64,15 +64,15 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
set app_exe=%~dp0ParsecVDisplay.exe
|
||||
set parent_exe=%~dp0..\ParsecVDisplay.exe
|
||||
set app_exe=%~dp0ParsecDisplay.exe
|
||||
set parent_exe=%~dp0..\ParsecDisplay.exe
|
||||
|
||||
if exist "%app_exe%" (
|
||||
start /b /wait "" "%app_exe%" -cli %*
|
||||
) else if exist "%parent_exe%" (
|
||||
start /b /wait "" "%parent_exe%" -cli %*
|
||||
) else (
|
||||
echo ParsecVDisplay.exe does not exist.
|
||||
echo ParsecDisplay.exe does not exist.
|
||||
)
|
||||
|
||||
endlocal
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace ParsecVDisplay
|
||||
namespace ParsecDisplay
|
||||
{
|
||||
internal static class PowerEvents
|
||||
{
|
||||
|
||||
+2
-2
@@ -4,12 +4,12 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ParsecVDisplay
|
||||
namespace ParsecDisplay
|
||||
{
|
||||
public static class Program
|
||||
{
|
||||
public const string AppId = "QpHOX8IBUHBznGtqk9xm1";
|
||||
public const string AppName = "ParsecVDisplay";
|
||||
public const string AppName = nameof(ParsecDisplay);
|
||||
public const string AppVersion = "1.0.2";
|
||||
public const string GitHubRepo = "nomi-san/parsec-vdd";
|
||||
|
||||
|
||||
@@ -7,11 +7,11 @@ using System.Windows;
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle(ParsecVDisplay.Program.AppName)]
|
||||
[assembly: AssemblyTitle(ParsecDisplay.Program.AppName)]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct(ParsecVDisplay.Program.AppName)]
|
||||
[assembly: AssemblyProduct(ParsecDisplay.Program.AppName)]
|
||||
[assembly: AssemblyCopyright("Copyright (c) 2024")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
@@ -51,5 +51,5 @@ using System.Windows;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion(ParsecVDisplay.Program.AppVersion)]
|
||||
[assembly: AssemblyFileVersion(ParsecVDisplay.Program.AppVersion)]
|
||||
[assembly: AssemblyVersion(ParsecDisplay.Program.AppVersion)]
|
||||
[assembly: AssemblyFileVersion(ParsecDisplay.Program.AppVersion)]
|
||||
|
||||
Generated
+2
-2
@@ -8,7 +8,7 @@
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace ParsecVDisplay.Properties {
|
||||
namespace ParsecDisplay.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace ParsecVDisplay.Properties {
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ParsecVDisplay.Properties.Resources", typeof(Resources).Assembly);
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ParsecDisplay.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
|
||||
+2
-2
@@ -6,7 +6,7 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.Win32;
|
||||
|
||||
namespace ParsecVDisplay
|
||||
namespace ParsecDisplay
|
||||
{
|
||||
internal class Tray : ApplicationContext
|
||||
{
|
||||
@@ -47,7 +47,7 @@ namespace ParsecVDisplay
|
||||
System.Threading.Timer FallbackTimer;
|
||||
const int FallbackEvaluateDelayMs = 1000;
|
||||
|
||||
// ParsecVDisplay v{version}
|
||||
// ParsecDisplay v{version}
|
||||
// ______________
|
||||
// Add display
|
||||
// Remove last display
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ using System.Net.Http.Headers;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ParsecVDisplay
|
||||
namespace ParsecDisplay
|
||||
{
|
||||
internal static class Updater
|
||||
{
|
||||
|
||||
@@ -2,7 +2,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
|
||||
namespace ParsecVDisplay.Vdd
|
||||
namespace ParsecDisplay.Vdd
|
||||
{
|
||||
internal static class Controller
|
||||
{
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace ParsecVDisplay.Vdd
|
||||
namespace ParsecDisplay.Vdd
|
||||
{
|
||||
internal static unsafe class Core
|
||||
{
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace ParsecVDisplay.Vdd
|
||||
namespace ParsecDisplay.Vdd
|
||||
{
|
||||
internal class ErrorDriverStatus : Exception
|
||||
{
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.Win32;
|
||||
|
||||
namespace ParsecVDisplay.Vdd
|
||||
namespace ParsecDisplay.Vdd
|
||||
{
|
||||
internal static class Utils
|
||||
{
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Command Line Interface
|
||||
|
||||
This is detailed help for CLI mode of the ParsecVDisplay app. The CLI executable
|
||||
This is detailed help for CLI mode of the ParsecDisplay app. The CLI executable
|
||||
(`vdd`) can be installed via setup installer and can be invoked via command line
|
||||
environment.
|
||||
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.11.35327.3
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ParsecVDisplay", "app\ParsecVDisplay.csproj", "{2D44934F-B4CF-4F2C-BD03-AE60B71AD045}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ParsecDisplay", "app\ParsecDisplay.csproj", "{2D44934F-B4CF-4F2C-BD03-AE60B71AD045}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "core", "core", "{9B03AE1C-BE49-45A8-9B89-11CE21AD1BF8}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
|
||||
Reference in New Issue
Block a user