Merge branch 'main' of https://git.steelants.cz/JonatanRek/FakeDeck
This commit is contained in:
commit
50c6c9a1de
54
FakeDeckUI/FakeDeck/ButtonType/ProcessMacro.cs
Normal file
54
FakeDeckUI/FakeDeck/ButtonType/ProcessMacro.cs
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Text;
|
||||||
|
using System.Text.Json;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows;
|
||||||
|
using static System.Text.Json.JsonElement;
|
||||||
|
|
||||||
|
namespace FakeDeck.ButtonType
|
||||||
|
{
|
||||||
|
class ProcessMacro : Button
|
||||||
|
{
|
||||||
|
public static string getButton(string process, string arguments = "", string? icon = null, string? image = null)
|
||||||
|
{
|
||||||
|
Dictionary<string, string> parameters = new Dictionary<string, string>() { { "process", process } };
|
||||||
|
if (!string.IsNullOrEmpty(arguments))
|
||||||
|
{
|
||||||
|
parameters.Add("arguments", arguments);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(icon) || !string.IsNullOrEmpty(image))
|
||||||
|
{
|
||||||
|
process = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return getButtonHTML(icon, image, process, "button\\ProcessMacro", null, parameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool invokeAction(string process, string arguments = "")
|
||||||
|
{
|
||||||
|
if (!File.ReadAllText("./configuration.yaml").Contains(process))
|
||||||
|
{
|
||||||
|
Debug.WriteLine("not known process");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!File.ReadAllText("./configuration.yaml").Contains(arguments))
|
||||||
|
{
|
||||||
|
Debug.WriteLine("not known arguments");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
Process notePad = new Process();
|
||||||
|
notePad.StartInfo.FileName = process;
|
||||||
|
notePad.StartInfo.Arguments = arguments;
|
||||||
|
notePad.Start();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -20,6 +20,7 @@ namespace FakeDeck.Class
|
|||||||
AutoUpdater.ParseUpdateInfoEvent += AutoUpdaterOnParseUpdateInfoEvent;
|
AutoUpdater.ParseUpdateInfoEvent += AutoUpdaterOnParseUpdateInfoEvent;
|
||||||
AutoUpdater.Synchronous = true;
|
AutoUpdater.Synchronous = true;
|
||||||
AutoUpdater.ShowRemindLaterButton = false;
|
AutoUpdater.ShowRemindLaterButton = false;
|
||||||
|
AutoUpdater.ClearAppDirectory = false;
|
||||||
//AutoUpdater.ReportErrors = Debugger.IsAttached;
|
//AutoUpdater.ReportErrors = Debugger.IsAttached;
|
||||||
AutoUpdater.HttpUserAgent = ("FakeDeck-v" + Assembly.GetExecutingAssembly().GetName().Version);
|
AutoUpdater.HttpUserAgent = ("FakeDeck-v" + Assembly.GetExecutingAssembly().GetName().Version);
|
||||||
AutoUpdater.Start("https://api.github.com/repos/GamerClassN7/FakeDeck/releases/latest");
|
AutoUpdater.Start("https://api.github.com/repos/GamerClassN7/FakeDeck/releases/latest");
|
||||||
|
@ -160,9 +160,15 @@ namespace FakeDeck.Class
|
|||||||
|
|
||||||
string pageContent = "";
|
string pageContent = "";
|
||||||
foreach (JsonElement button in selectedPage.GetProperty("buttons").EnumerateArray())
|
foreach (JsonElement button in selectedPage.GetProperty("buttons").EnumerateArray())
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
pageContent += AbstractionHelper.getButtonVisual(button);
|
pageContent += AbstractionHelper.getButtonVisual(button);
|
||||||
}
|
}
|
||||||
|
catch (Exception ex) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (Directory.Exists(cachePath))
|
if (Directory.Exists(cachePath))
|
||||||
Directory.CreateDirectory(cachePath);
|
Directory.CreateDirectory(cachePath);
|
||||||
|
@ -156,6 +156,24 @@ pages:
|
|||||||
|
|
||||||
- page: media
|
- page: media
|
||||||
buttons:
|
buttons:
|
||||||
|
- button: notepad
|
||||||
|
function: ProcessMacro
|
||||||
|
parameters:
|
||||||
|
- name: process
|
||||||
|
value: "notepad.exe"
|
||||||
|
- name: image
|
||||||
|
value: "https://www.club386.com/wp-content/uploads/2021/12/notepad-icon-696x632.jpg"
|
||||||
|
|
||||||
|
- button: cmd
|
||||||
|
function: ProcessMacro
|
||||||
|
parameters:
|
||||||
|
- name: process
|
||||||
|
value: "cmd.exe"
|
||||||
|
- name: arguments
|
||||||
|
value: "/C ping google.com -t"
|
||||||
|
- name: image
|
||||||
|
value: "https://winaero.com/blog/wp-content/uploads/2019/06/WIndows-Terminal-icon.png"
|
||||||
|
|
||||||
- button: mute
|
- button: mute
|
||||||
function: MediaMacro
|
function: MediaMacro
|
||||||
parameters:
|
parameters:
|
||||||
|
10
README.md
10
README.md
@ -124,6 +124,16 @@ Just add desired macros to `configuration.yaml` and start the application, tahn
|
|||||||
- name: Key
|
- name: Key
|
||||||
value: spacer
|
value: spacer
|
||||||
```
|
```
|
||||||
|
### Process Macro
|
||||||
|
```yaml
|
||||||
|
- button: cmd
|
||||||
|
function: ProcessMacro
|
||||||
|
parameters:
|
||||||
|
- name: process
|
||||||
|
value: "cmd.exe"
|
||||||
|
- name: arguments #Optional Proces Arguments
|
||||||
|
value: "/C ipconfig"
|
||||||
|
```
|
||||||
### Comon Macro Parameters
|
### Comon Macro Parameters
|
||||||
```yaml
|
```yaml
|
||||||
...
|
...
|
||||||
|
Loading…
Reference in New Issue
Block a user