diff --git a/PowerToys.sln b/PowerToys.sln
index a3c610b38b..d5304fefe2 100644
--- a/PowerToys.sln
+++ b/PowerToys.sln
@@ -167,148 +167,414 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Wox.Launcher", "src\modules
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wox.Plugin.Indexer", "src\modules\launcher\Plugins\Wox.Plugin.Indexer\Wox.Plugin.Indexer.csproj", "{8DD27FDE-7B2F-45D8-A148-3340205A7BEF}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PowerLauncher", "src\modules\launcher\PowerLauncher\PowerLauncher.csproj", "{F97E5003-F263-4D4A-A964-0F1F3C82DEF2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PowerLauncher.UI", "src\modules\launcher\PowerLauncher.UI\PowerLauncher.UI.csproj", "{4A3DE70C-684C-410D-B851-C23B6DAEDF16}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|ARM = Debug|ARM
+ Debug|ARM64 = Debug|ARM64
Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|ARM = Release|ARM
+ Release|ARM64 = Release|ARM64
Release|x64 = Release|x64
+ Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Debug|ARM.ActiveCfg = Debug|x64
+ {9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Debug|ARM64.ActiveCfg = Debug|x64
{9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Debug|x64.ActiveCfg = Debug|x64
{9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Debug|x64.Build.0 = Debug|x64
+ {9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Debug|x86.ActiveCfg = Debug|x64
+ {9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Release|ARM.ActiveCfg = Release|x64
+ {9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Release|ARM64.ActiveCfg = Release|x64
{9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Release|x64.ActiveCfg = Release|x64
{9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Release|x64.Build.0 = Release|x64
+ {9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Release|x86.ActiveCfg = Release|x64
+ {74485049-C722-400F-ABE5-86AC52D929B3}.Debug|ARM.ActiveCfg = Debug|x64
+ {74485049-C722-400F-ABE5-86AC52D929B3}.Debug|ARM64.ActiveCfg = Debug|x64
{74485049-C722-400F-ABE5-86AC52D929B3}.Debug|x64.ActiveCfg = Debug|x64
{74485049-C722-400F-ABE5-86AC52D929B3}.Debug|x64.Build.0 = Debug|x64
+ {74485049-C722-400F-ABE5-86AC52D929B3}.Debug|x86.ActiveCfg = Debug|x64
+ {74485049-C722-400F-ABE5-86AC52D929B3}.Release|ARM.ActiveCfg = Release|x64
+ {74485049-C722-400F-ABE5-86AC52D929B3}.Release|ARM64.ActiveCfg = Release|x64
{74485049-C722-400F-ABE5-86AC52D929B3}.Release|x64.ActiveCfg = Release|x64
{74485049-C722-400F-ABE5-86AC52D929B3}.Release|x64.Build.0 = Release|x64
+ {74485049-C722-400F-ABE5-86AC52D929B3}.Release|x86.ActiveCfg = Release|x64
+ {A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Debug|ARM.ActiveCfg = Debug|x64
+ {A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Debug|ARM64.ActiveCfg = Debug|x64
{A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Debug|x64.ActiveCfg = Debug|x64
{A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Debug|x64.Build.0 = Debug|x64
+ {A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Debug|x86.ActiveCfg = Debug|x64
+ {A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Release|ARM.ActiveCfg = Release|x64
+ {A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Release|ARM64.ActiveCfg = Release|x64
{A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Release|x64.ActiveCfg = Release|x64
{A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Release|x64.Build.0 = Release|x64
+ {A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Release|x86.ActiveCfg = Release|x64
+ {44CC9375-3E6E-4D99-8913-7FB748807EBD}.Debug|ARM.ActiveCfg = Debug|x64
+ {44CC9375-3E6E-4D99-8913-7FB748807EBD}.Debug|ARM64.ActiveCfg = Debug|x64
{44CC9375-3E6E-4D99-8913-7FB748807EBD}.Debug|x64.ActiveCfg = Debug|x64
{44CC9375-3E6E-4D99-8913-7FB748807EBD}.Debug|x64.Build.0 = Debug|x64
+ {44CC9375-3E6E-4D99-8913-7FB748807EBD}.Debug|x86.ActiveCfg = Debug|x64
+ {44CC9375-3E6E-4D99-8913-7FB748807EBD}.Release|ARM.ActiveCfg = Release|x64
+ {44CC9375-3E6E-4D99-8913-7FB748807EBD}.Release|ARM64.ActiveCfg = Release|x64
{44CC9375-3E6E-4D99-8913-7FB748807EBD}.Release|x64.ActiveCfg = Release|x64
{44CC9375-3E6E-4D99-8913-7FB748807EBD}.Release|x64.Build.0 = Release|x64
+ {44CC9375-3E6E-4D99-8913-7FB748807EBD}.Release|x86.ActiveCfg = Release|x64
+ {07C389E3-6BC8-41CF-923E-307B1265FA2D}.Debug|ARM.ActiveCfg = Debug|x64
+ {07C389E3-6BC8-41CF-923E-307B1265FA2D}.Debug|ARM64.ActiveCfg = Debug|x64
{07C389E3-6BC8-41CF-923E-307B1265FA2D}.Debug|x64.ActiveCfg = Debug|x64
{07C389E3-6BC8-41CF-923E-307B1265FA2D}.Debug|x64.Build.0 = Debug|x64
+ {07C389E3-6BC8-41CF-923E-307B1265FA2D}.Debug|x86.ActiveCfg = Debug|x64
+ {07C389E3-6BC8-41CF-923E-307B1265FA2D}.Release|ARM.ActiveCfg = Release|x64
+ {07C389E3-6BC8-41CF-923E-307B1265FA2D}.Release|ARM64.ActiveCfg = Release|x64
{07C389E3-6BC8-41CF-923E-307B1265FA2D}.Release|x64.ActiveCfg = Release|x64
{07C389E3-6BC8-41CF-923E-307B1265FA2D}.Release|x64.Build.0 = Release|x64
+ {07C389E3-6BC8-41CF-923E-307B1265FA2D}.Release|x86.ActiveCfg = Release|x64
+ {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Debug|ARM.ActiveCfg = Debug|x64
+ {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Debug|ARM64.ActiveCfg = Debug|x64
{F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Debug|x64.ActiveCfg = Debug|x64
{F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Debug|x64.Build.0 = Debug|x64
+ {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Debug|x86.ActiveCfg = Debug|x64
+ {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Release|ARM.ActiveCfg = Release|x64
+ {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Release|ARM64.ActiveCfg = Release|x64
{F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Release|x64.ActiveCfg = Release|x64
{F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Release|x64.Build.0 = Release|x64
+ {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Release|x86.ActiveCfg = Release|x64
+ {48804216-2A0E-4168-A6D8-9CD068D14227}.Debug|ARM.ActiveCfg = Debug|x64
+ {48804216-2A0E-4168-A6D8-9CD068D14227}.Debug|ARM64.ActiveCfg = Debug|x64
{48804216-2A0E-4168-A6D8-9CD068D14227}.Debug|x64.ActiveCfg = Debug|x64
{48804216-2A0E-4168-A6D8-9CD068D14227}.Debug|x64.Build.0 = Debug|x64
+ {48804216-2A0E-4168-A6D8-9CD068D14227}.Debug|x86.ActiveCfg = Debug|x64
+ {48804216-2A0E-4168-A6D8-9CD068D14227}.Release|ARM.ActiveCfg = Release|x64
+ {48804216-2A0E-4168-A6D8-9CD068D14227}.Release|ARM64.ActiveCfg = Release|x64
{48804216-2A0E-4168-A6D8-9CD068D14227}.Release|x64.ActiveCfg = Release|x64
{48804216-2A0E-4168-A6D8-9CD068D14227}.Release|x64.Build.0 = Release|x64
+ {48804216-2A0E-4168-A6D8-9CD068D14227}.Release|x86.ActiveCfg = Release|x64
+ {9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Debug|ARM.ActiveCfg = Debug|x64
+ {9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Debug|ARM64.ActiveCfg = Debug|x64
{9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Debug|x64.ActiveCfg = Debug|x64
{9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Debug|x64.Build.0 = Debug|x64
+ {9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Debug|x86.ActiveCfg = Debug|x64
+ {9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Release|ARM.ActiveCfg = Release|x64
+ {9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Release|ARM64.ActiveCfg = Release|x64
{9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Release|x64.ActiveCfg = Release|x64
{9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Release|x64.Build.0 = Release|x64
+ {9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Release|x86.ActiveCfg = Release|x64
+ {1A066C63-64B3-45F8-92FE-664E1CCE8077}.Debug|ARM.ActiveCfg = Debug|x64
+ {1A066C63-64B3-45F8-92FE-664E1CCE8077}.Debug|ARM64.ActiveCfg = Debug|x64
{1A066C63-64B3-45F8-92FE-664E1CCE8077}.Debug|x64.ActiveCfg = Debug|x64
{1A066C63-64B3-45F8-92FE-664E1CCE8077}.Debug|x64.Build.0 = Debug|x64
+ {1A066C63-64B3-45F8-92FE-664E1CCE8077}.Debug|x86.ActiveCfg = Debug|x64
+ {1A066C63-64B3-45F8-92FE-664E1CCE8077}.Release|ARM.ActiveCfg = Release|x64
+ {1A066C63-64B3-45F8-92FE-664E1CCE8077}.Release|ARM64.ActiveCfg = Release|x64
{1A066C63-64B3-45F8-92FE-664E1CCE8077}.Release|x64.ActiveCfg = Release|x64
{1A066C63-64B3-45F8-92FE-664E1CCE8077}.Release|x64.Build.0 = Release|x64
+ {1A066C63-64B3-45F8-92FE-664E1CCE8077}.Release|x86.ActiveCfg = Release|x64
+ {5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Debug|ARM.ActiveCfg = Debug|x64
+ {5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Debug|ARM64.ActiveCfg = Debug|x64
{5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Debug|x64.ActiveCfg = Debug|x64
{5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Debug|x64.Build.0 = Debug|x64
+ {5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Debug|x86.ActiveCfg = Debug|x64
+ {5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Release|ARM.ActiveCfg = Release|x64
+ {5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Release|ARM64.ActiveCfg = Release|x64
{5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Release|x64.ActiveCfg = Release|x64
{5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Release|x64.Build.0 = Release|x64
+ {5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Release|x86.ActiveCfg = Release|x64
+ {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Debug|ARM.ActiveCfg = Debug|Win32
+ {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Debug|ARM64.ActiveCfg = Debug|Win32
{B25AC7A5-FB9F-4789-B392-D5C85E948670}.Debug|x64.ActiveCfg = Debug|x64
{B25AC7A5-FB9F-4789-B392-D5C85E948670}.Debug|x64.Build.0 = Debug|x64
+ {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Debug|x86.ActiveCfg = Debug|Win32
+ {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Debug|x86.Build.0 = Debug|Win32
+ {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Release|ARM.ActiveCfg = Release|Win32
+ {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Release|ARM64.ActiveCfg = Release|Win32
{B25AC7A5-FB9F-4789-B392-D5C85E948670}.Release|x64.ActiveCfg = Release|x64
{B25AC7A5-FB9F-4789-B392-D5C85E948670}.Release|x64.Build.0 = Release|x64
+ {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Release|x86.ActiveCfg = Release|Win32
+ {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Release|x86.Build.0 = Release|Win32
+ {51920F1F-C28C-4ADF-8660-4238766796C2}.Debug|ARM.ActiveCfg = Debug|Win32
+ {51920F1F-C28C-4ADF-8660-4238766796C2}.Debug|ARM64.ActiveCfg = Debug|Win32
{51920F1F-C28C-4ADF-8660-4238766796C2}.Debug|x64.ActiveCfg = Debug|x64
{51920F1F-C28C-4ADF-8660-4238766796C2}.Debug|x64.Build.0 = Debug|x64
+ {51920F1F-C28C-4ADF-8660-4238766796C2}.Debug|x86.ActiveCfg = Debug|Win32
+ {51920F1F-C28C-4ADF-8660-4238766796C2}.Debug|x86.Build.0 = Debug|Win32
+ {51920F1F-C28C-4ADF-8660-4238766796C2}.Release|ARM.ActiveCfg = Release|Win32
+ {51920F1F-C28C-4ADF-8660-4238766796C2}.Release|ARM64.ActiveCfg = Release|Win32
{51920F1F-C28C-4ADF-8660-4238766796C2}.Release|x64.ActiveCfg = Release|x64
{51920F1F-C28C-4ADF-8660-4238766796C2}.Release|x64.Build.0 = Release|x64
+ {51920F1F-C28C-4ADF-8660-4238766796C2}.Release|x86.ActiveCfg = Release|Win32
+ {51920F1F-C28C-4ADF-8660-4238766796C2}.Release|x86.Build.0 = Release|Win32
+ {0E072714-D127-460B-AFAD-B4C40B412798}.Debug|ARM.ActiveCfg = Debug|x64
+ {0E072714-D127-460B-AFAD-B4C40B412798}.Debug|ARM64.ActiveCfg = Debug|x64
{0E072714-D127-460B-AFAD-B4C40B412798}.Debug|x64.ActiveCfg = Debug|x64
{0E072714-D127-460B-AFAD-B4C40B412798}.Debug|x64.Build.0 = Debug|x64
+ {0E072714-D127-460B-AFAD-B4C40B412798}.Debug|x86.ActiveCfg = Debug|x64
+ {0E072714-D127-460B-AFAD-B4C40B412798}.Release|ARM.ActiveCfg = Release|x64
+ {0E072714-D127-460B-AFAD-B4C40B412798}.Release|ARM64.ActiveCfg = Release|x64
{0E072714-D127-460B-AFAD-B4C40B412798}.Release|x64.ActiveCfg = Release|x64
{0E072714-D127-460B-AFAD-B4C40B412798}.Release|x64.Build.0 = Release|x64
+ {0E072714-D127-460B-AFAD-B4C40B412798}.Release|x86.ActiveCfg = Release|x64
+ {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Debug|ARM.ActiveCfg = Debug|Win32
+ {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Debug|ARM64.ActiveCfg = Debug|Win32
{A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Debug|x64.ActiveCfg = Debug|x64
{A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Debug|x64.Build.0 = Debug|x64
+ {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Debug|x86.ActiveCfg = Debug|Win32
+ {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Debug|x86.Build.0 = Debug|Win32
+ {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Release|ARM.ActiveCfg = Release|Win32
+ {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Release|ARM64.ActiveCfg = Release|Win32
{A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Release|x64.ActiveCfg = Release|x64
{A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Release|x64.Build.0 = Release|x64
+ {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Release|x86.ActiveCfg = Release|Win32
+ {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Release|x86.Build.0 = Release|Win32
+ {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Debug|ARM.ActiveCfg = Debug|Win32
+ {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Debug|ARM64.ActiveCfg = Debug|Win32
{2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Debug|x64.ActiveCfg = Debug|x64
{2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Debug|x64.Build.0 = Debug|x64
+ {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Debug|x86.ActiveCfg = Debug|Win32
+ {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Debug|x86.Build.0 = Debug|Win32
+ {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Release|ARM.ActiveCfg = Release|Win32
+ {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Release|ARM64.ActiveCfg = Release|Win32
{2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Release|x64.ActiveCfg = Release|x64
{2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Release|x64.Build.0 = Release|x64
+ {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Release|x86.ActiveCfg = Release|Win32
+ {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Release|x86.Build.0 = Release|Win32
+ {64A80062-4D8B-4229-8A38-DFA1D7497749}.Debug|ARM.ActiveCfg = Debug|x64
+ {64A80062-4D8B-4229-8A38-DFA1D7497749}.Debug|ARM64.ActiveCfg = Debug|x64
{64A80062-4D8B-4229-8A38-DFA1D7497749}.Debug|x64.ActiveCfg = Debug|x64
{64A80062-4D8B-4229-8A38-DFA1D7497749}.Debug|x64.Build.0 = Debug|x64
+ {64A80062-4D8B-4229-8A38-DFA1D7497749}.Debug|x86.ActiveCfg = Debug|x64
+ {64A80062-4D8B-4229-8A38-DFA1D7497749}.Release|ARM.ActiveCfg = Release|x64
+ {64A80062-4D8B-4229-8A38-DFA1D7497749}.Release|ARM64.ActiveCfg = Release|x64
{64A80062-4D8B-4229-8A38-DFA1D7497749}.Release|x64.ActiveCfg = Release|x64
{64A80062-4D8B-4229-8A38-DFA1D7497749}.Release|x64.Build.0 = Release|x64
+ {64A80062-4D8B-4229-8A38-DFA1D7497749}.Release|x86.ActiveCfg = Release|x64
+ {0485F45C-EA7A-4BB5-804B-3E8D14699387}.Debug|ARM.ActiveCfg = Debug|x64
+ {0485F45C-EA7A-4BB5-804B-3E8D14699387}.Debug|ARM64.ActiveCfg = Debug|x64
{0485F45C-EA7A-4BB5-804B-3E8D14699387}.Debug|x64.ActiveCfg = Debug|x64
{0485F45C-EA7A-4BB5-804B-3E8D14699387}.Debug|x64.Build.0 = Debug|x64
+ {0485F45C-EA7A-4BB5-804B-3E8D14699387}.Debug|x86.ActiveCfg = Debug|x64
+ {0485F45C-EA7A-4BB5-804B-3E8D14699387}.Release|ARM.ActiveCfg = Release|x64
+ {0485F45C-EA7A-4BB5-804B-3E8D14699387}.Release|ARM64.ActiveCfg = Release|x64
{0485F45C-EA7A-4BB5-804B-3E8D14699387}.Release|x64.ActiveCfg = Release|x64
{0485F45C-EA7A-4BB5-804B-3E8D14699387}.Release|x64.Build.0 = Release|x64
+ {0485F45C-EA7A-4BB5-804B-3E8D14699387}.Release|x86.ActiveCfg = Release|x64
+ {0B593A6C-4143-4337-860E-DB5710FB87DB}.Debug|ARM.ActiveCfg = Debug|ARM
+ {0B593A6C-4143-4337-860E-DB5710FB87DB}.Debug|ARM.Build.0 = Debug|ARM
+ {0B593A6C-4143-4337-860E-DB5710FB87DB}.Debug|ARM64.ActiveCfg = Debug|Win32
{0B593A6C-4143-4337-860E-DB5710FB87DB}.Debug|x64.ActiveCfg = Debug|x64
{0B593A6C-4143-4337-860E-DB5710FB87DB}.Debug|x64.Build.0 = Debug|x64
+ {0B593A6C-4143-4337-860E-DB5710FB87DB}.Debug|x86.ActiveCfg = Debug|Win32
+ {0B593A6C-4143-4337-860E-DB5710FB87DB}.Debug|x86.Build.0 = Debug|Win32
+ {0B593A6C-4143-4337-860E-DB5710FB87DB}.Release|ARM.ActiveCfg = Release|ARM
+ {0B593A6C-4143-4337-860E-DB5710FB87DB}.Release|ARM.Build.0 = Release|ARM
+ {0B593A6C-4143-4337-860E-DB5710FB87DB}.Release|ARM64.ActiveCfg = Release|Win32
{0B593A6C-4143-4337-860E-DB5710FB87DB}.Release|x64.ActiveCfg = Release|x64
{0B593A6C-4143-4337-860E-DB5710FB87DB}.Release|x64.Build.0 = Release|x64
+ {0B593A6C-4143-4337-860E-DB5710FB87DB}.Release|x86.ActiveCfg = Release|Win32
+ {0B593A6C-4143-4337-860E-DB5710FB87DB}.Release|x86.Build.0 = Release|Win32
+ {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Debug|ARM.ActiveCfg = Debug|Win32
+ {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Debug|ARM64.ActiveCfg = Debug|Win32
{031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Debug|x64.ActiveCfg = Debug|x64
{031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Debug|x64.Build.0 = Debug|x64
+ {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Debug|x86.ActiveCfg = Debug|Win32
+ {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Debug|x86.Build.0 = Debug|Win32
+ {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Release|ARM.ActiveCfg = Release|Win32
+ {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Release|ARM64.ActiveCfg = Release|Win32
{031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Release|x64.ActiveCfg = Release|x64
{031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Release|x64.Build.0 = Release|x64
+ {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Release|x86.ActiveCfg = Release|Win32
+ {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Release|x86.Build.0 = Release|Win32
+ {B9BDF8BE-FED7-49B5-A7AE-DD4D1CA2D9EB}.Debug|ARM.ActiveCfg = Debug|x64
+ {B9BDF8BE-FED7-49B5-A7AE-DD4D1CA2D9EB}.Debug|ARM64.ActiveCfg = Debug|x64
{B9BDF8BE-FED7-49B5-A7AE-DD4D1CA2D9EB}.Debug|x64.ActiveCfg = Debug|x64
{B9BDF8BE-FED7-49B5-A7AE-DD4D1CA2D9EB}.Debug|x64.Build.0 = Debug|x64
+ {B9BDF8BE-FED7-49B5-A7AE-DD4D1CA2D9EB}.Debug|x86.ActiveCfg = Debug|x64
+ {B9BDF8BE-FED7-49B5-A7AE-DD4D1CA2D9EB}.Release|ARM.ActiveCfg = Release|x64
+ {B9BDF8BE-FED7-49B5-A7AE-DD4D1CA2D9EB}.Release|ARM64.ActiveCfg = Release|x64
{B9BDF8BE-FED7-49B5-A7AE-DD4D1CA2D9EB}.Release|x64.ActiveCfg = Release|x64
{B9BDF8BE-FED7-49B5-A7AE-DD4D1CA2D9EB}.Release|x64.Build.0 = Release|x64
+ {B9BDF8BE-FED7-49B5-A7AE-DD4D1CA2D9EB}.Release|x86.ActiveCfg = Release|x64
+ {51D3BD1F-07A8-48EB-B2A0-0A249CD4E1A6}.Debug|ARM.ActiveCfg = Debug|x64
+ {51D3BD1F-07A8-48EB-B2A0-0A249CD4E1A6}.Debug|ARM64.ActiveCfg = Debug|x64
{51D3BD1F-07A8-48EB-B2A0-0A249CD4E1A6}.Debug|x64.ActiveCfg = Debug|x64
{51D3BD1F-07A8-48EB-B2A0-0A249CD4E1A6}.Debug|x64.Build.0 = Debug|x64
+ {51D3BD1F-07A8-48EB-B2A0-0A249CD4E1A6}.Debug|x86.ActiveCfg = Debug|x64
+ {51D3BD1F-07A8-48EB-B2A0-0A249CD4E1A6}.Release|ARM.ActiveCfg = Release|x64
+ {51D3BD1F-07A8-48EB-B2A0-0A249CD4E1A6}.Release|ARM64.ActiveCfg = Release|x64
{51D3BD1F-07A8-48EB-B2A0-0A249CD4E1A6}.Release|x64.ActiveCfg = Release|x64
{51D3BD1F-07A8-48EB-B2A0-0A249CD4E1A6}.Release|x64.Build.0 = Release|x64
+ {51D3BD1F-07A8-48EB-B2A0-0A249CD4E1A6}.Release|x86.ActiveCfg = Release|x64
+ {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Debug|ARM.ActiveCfg = Debug|Win32
+ {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Debug|ARM64.ActiveCfg = Debug|Win32
{D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Debug|x64.ActiveCfg = Debug|x64
{D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Debug|x64.Build.0 = Debug|x64
+ {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Debug|x86.ActiveCfg = Debug|Win32
+ {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Debug|x86.Build.0 = Debug|Win32
+ {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Release|ARM.ActiveCfg = Release|Win32
+ {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Release|ARM64.ActiveCfg = Release|Win32
{D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Release|x64.ActiveCfg = Release|x64
{D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Release|x64.Build.0 = Release|x64
+ {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Release|x86.ActiveCfg = Release|Win32
+ {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Release|x86.Build.0 = Release|Win32
+ {17DA04DF-E393-4397-9CF0-84DABE11032E}.Debug|ARM.ActiveCfg = Debug|Win32
+ {17DA04DF-E393-4397-9CF0-84DABE11032E}.Debug|ARM64.ActiveCfg = Debug|Win32
{17DA04DF-E393-4397-9CF0-84DABE11032E}.Debug|x64.ActiveCfg = Debug|x64
{17DA04DF-E393-4397-9CF0-84DABE11032E}.Debug|x64.Build.0 = Debug|x64
+ {17DA04DF-E393-4397-9CF0-84DABE11032E}.Debug|x86.ActiveCfg = Debug|Win32
+ {17DA04DF-E393-4397-9CF0-84DABE11032E}.Debug|x86.Build.0 = Debug|Win32
+ {17DA04DF-E393-4397-9CF0-84DABE11032E}.Release|ARM.ActiveCfg = Release|Win32
+ {17DA04DF-E393-4397-9CF0-84DABE11032E}.Release|ARM64.ActiveCfg = Release|Win32
{17DA04DF-E393-4397-9CF0-84DABE11032E}.Release|x64.ActiveCfg = Release|x64
{17DA04DF-E393-4397-9CF0-84DABE11032E}.Release|x64.Build.0 = Release|x64
+ {17DA04DF-E393-4397-9CF0-84DABE11032E}.Release|x86.ActiveCfg = Release|Win32
+ {17DA04DF-E393-4397-9CF0-84DABE11032E}.Release|x86.Build.0 = Release|Win32
+ {DB90F671-D861-46BB-93A3-F1304F5BA1C5}.Debug|ARM.ActiveCfg = Debug|x64
+ {DB90F671-D861-46BB-93A3-F1304F5BA1C5}.Debug|ARM64.ActiveCfg = Debug|x64
{DB90F671-D861-46BB-93A3-F1304F5BA1C5}.Debug|x64.ActiveCfg = Debug|x64
{DB90F671-D861-46BB-93A3-F1304F5BA1C5}.Debug|x64.Build.0 = Debug|x64
+ {DB90F671-D861-46BB-93A3-F1304F5BA1C5}.Debug|x86.ActiveCfg = Debug|x64
+ {DB90F671-D861-46BB-93A3-F1304F5BA1C5}.Release|ARM.ActiveCfg = Release|x64
+ {DB90F671-D861-46BB-93A3-F1304F5BA1C5}.Release|ARM64.ActiveCfg = Release|x64
{DB90F671-D861-46BB-93A3-F1304F5BA1C5}.Release|x64.ActiveCfg = Release|x64
{DB90F671-D861-46BB-93A3-F1304F5BA1C5}.Release|x64.Build.0 = Release|x64
+ {DB90F671-D861-46BB-93A3-F1304F5BA1C5}.Release|x86.ActiveCfg = Release|x64
+ {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Debug|ARM.ActiveCfg = Debug|x64
+ {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Debug|ARM64.ActiveCfg = Debug|x64
{B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Debug|x64.ActiveCfg = Debug|x64
{B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Debug|x64.Build.0 = Debug|x64
+ {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Debug|x86.ActiveCfg = Debug|x64
+ {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Release|ARM.ActiveCfg = Release|x64
+ {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Release|ARM64.ActiveCfg = Release|x64
{B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Release|x64.ActiveCfg = Release|x64
{B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Release|x64.Build.0 = Release|x64
+ {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Release|x86.ActiveCfg = Release|x64
+ {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Debug|ARM.ActiveCfg = Debug|x64
+ {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Debug|ARM64.ActiveCfg = Debug|x64
{4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Debug|x64.ActiveCfg = Debug|x64
{4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Debug|x64.Build.0 = Debug|x64
+ {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Debug|x86.ActiveCfg = Debug|x64
+ {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Release|ARM.ActiveCfg = Release|x64
+ {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Release|ARM64.ActiveCfg = Release|x64
{4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Release|x64.ActiveCfg = Release|x64
{4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Release|x64.Build.0 = Release|x64
+ {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Release|x86.ActiveCfg = Release|x64
+ {8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Debug|ARM.ActiveCfg = Debug|x64
+ {8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Debug|ARM64.ActiveCfg = Debug|x64
{8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Debug|x64.ActiveCfg = Debug|x64
{8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Debug|x64.Build.0 = Debug|x64
+ {8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Debug|x86.ActiveCfg = Debug|x64
+ {8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Release|ARM.ActiveCfg = Release|x64
+ {8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Release|ARM64.ActiveCfg = Release|x64
{8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Release|x64.ActiveCfg = Release|x64
{8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Release|x64.Build.0 = Release|x64
+ {8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Release|x86.ActiveCfg = Release|x64
+ {FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|ARM.ActiveCfg = Debug|x64
+ {FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|ARM64.ActiveCfg = Debug|x64
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|x64.ActiveCfg = Debug|x64
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|x64.Build.0 = Debug|x64
+ {FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|x86.ActiveCfg = Debug|x64
+ {FF742965-9A80-41A5-B042-D6C7D3A21708}.Release|ARM.ActiveCfg = Release|x64
+ {FF742965-9A80-41A5-B042-D6C7D3A21708}.Release|ARM64.ActiveCfg = Release|x64
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Release|x64.ActiveCfg = Release|x64
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Release|x64.Build.0 = Release|x64
+ {FF742965-9A80-41A5-B042-D6C7D3A21708}.Release|x86.ActiveCfg = Release|x64
+ {59BD9891-3837-438A-958D-ADC7F91F6F7E}.Debug|ARM.ActiveCfg = Debug|x64
+ {59BD9891-3837-438A-958D-ADC7F91F6F7E}.Debug|ARM64.ActiveCfg = Debug|x64
{59BD9891-3837-438A-958D-ADC7F91F6F7E}.Debug|x64.ActiveCfg = Debug|x64
{59BD9891-3837-438A-958D-ADC7F91F6F7E}.Debug|x64.Build.0 = Debug|x64
+ {59BD9891-3837-438A-958D-ADC7F91F6F7E}.Debug|x86.ActiveCfg = Debug|x64
+ {59BD9891-3837-438A-958D-ADC7F91F6F7E}.Release|ARM.ActiveCfg = Release|x64
+ {59BD9891-3837-438A-958D-ADC7F91F6F7E}.Release|ARM64.ActiveCfg = Release|x64
{59BD9891-3837-438A-958D-ADC7F91F6F7E}.Release|x64.ActiveCfg = Release|x64
{59BD9891-3837-438A-958D-ADC7F91F6F7E}.Release|x64.Build.0 = Release|x64
+ {59BD9891-3837-438A-958D-ADC7F91F6F7E}.Release|x86.ActiveCfg = Release|x64
+ {FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Debug|ARM.ActiveCfg = Debug|x64
+ {FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Debug|ARM64.ActiveCfg = Debug|x64
{FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Debug|x64.ActiveCfg = Debug|x64
{FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Debug|x64.Build.0 = Debug|x64
+ {FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Debug|x86.ActiveCfg = Debug|x64
+ {FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Release|ARM.ActiveCfg = Release|x64
+ {FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Release|ARM64.ActiveCfg = Release|x64
{FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Release|x64.ActiveCfg = Release|x64
{FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Release|x64.Build.0 = Release|x64
+ {FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Release|x86.ActiveCfg = Release|x64
+ {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Debug|ARM.ActiveCfg = Debug|x64
+ {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Debug|ARM64.ActiveCfg = Debug|x64
{C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Debug|x64.ActiveCfg = Debug|x64
{C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Debug|x64.Build.0 = Debug|x64
+ {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Debug|x86.ActiveCfg = Debug|x64
+ {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Release|ARM.ActiveCfg = Release|x64
+ {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Release|ARM64.ActiveCfg = Release|x64
{C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Release|x64.ActiveCfg = Release|x64
{C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Release|x64.Build.0 = Release|x64
+ {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Release|x86.ActiveCfg = Release|x64
+ {787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Debug|ARM.ActiveCfg = Debug|x64
+ {787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Debug|ARM64.ActiveCfg = Debug|x64
{787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Debug|x64.ActiveCfg = Debug|x64
{787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Debug|x64.Build.0 = Debug|x64
+ {787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Debug|x86.ActiveCfg = Debug|x64
+ {787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Release|ARM.ActiveCfg = Release|x64
+ {787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Release|ARM64.ActiveCfg = Release|x64
{787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Release|x64.ActiveCfg = Release|x64
{787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Release|x64.Build.0 = Release|x64
+ {787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Release|x86.ActiveCfg = Release|x64
+ {E364F67B-BB12-4E91-B639-355866EBCD8B}.Debug|ARM.ActiveCfg = Debug|x64
+ {E364F67B-BB12-4E91-B639-355866EBCD8B}.Debug|ARM64.ActiveCfg = Debug|x64
{E364F67B-BB12-4E91-B639-355866EBCD8B}.Debug|x64.ActiveCfg = Debug|x64
{E364F67B-BB12-4E91-B639-355866EBCD8B}.Debug|x64.Build.0 = Debug|x64
+ {E364F67B-BB12-4E91-B639-355866EBCD8B}.Debug|x86.ActiveCfg = Debug|x64
+ {E364F67B-BB12-4E91-B639-355866EBCD8B}.Release|ARM.ActiveCfg = Release|x64
+ {E364F67B-BB12-4E91-B639-355866EBCD8B}.Release|ARM64.ActiveCfg = Release|x64
{E364F67B-BB12-4E91-B639-355866EBCD8B}.Release|x64.ActiveCfg = Release|x64
{E364F67B-BB12-4E91-B639-355866EBCD8B}.Release|x64.Build.0 = Release|x64
+ {E364F67B-BB12-4E91-B639-355866EBCD8B}.Release|x86.ActiveCfg = Release|x64
+ {8DD27FDE-7B2F-45D8-A148-3340205A7BEF}.Debug|ARM.ActiveCfg = Debug|x64
+ {8DD27FDE-7B2F-45D8-A148-3340205A7BEF}.Debug|ARM64.ActiveCfg = Debug|x64
{8DD27FDE-7B2F-45D8-A148-3340205A7BEF}.Debug|x64.ActiveCfg = Debug|x64
{8DD27FDE-7B2F-45D8-A148-3340205A7BEF}.Debug|x64.Build.0 = Debug|x64
+ {8DD27FDE-7B2F-45D8-A148-3340205A7BEF}.Debug|x86.ActiveCfg = Debug|x64
+ {8DD27FDE-7B2F-45D8-A148-3340205A7BEF}.Release|ARM.ActiveCfg = Release|x64
+ {8DD27FDE-7B2F-45D8-A148-3340205A7BEF}.Release|ARM64.ActiveCfg = Release|x64
{8DD27FDE-7B2F-45D8-A148-3340205A7BEF}.Release|x64.ActiveCfg = Release|x64
{8DD27FDE-7B2F-45D8-A148-3340205A7BEF}.Release|x64.Build.0 = Release|x64
+ {8DD27FDE-7B2F-45D8-A148-3340205A7BEF}.Release|x86.ActiveCfg = Release|x64
+ {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Debug|ARM.ActiveCfg = Debug|x64
+ {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Debug|ARM64.ActiveCfg = Debug|x64
+ {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Debug|x64.ActiveCfg = Debug|x64
+ {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Debug|x64.Build.0 = Debug|x64
+ {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Debug|x86.ActiveCfg = Debug|x64
+ {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Release|ARM.ActiveCfg = Release|x64
+ {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Release|ARM64.ActiveCfg = Release|x64
+ {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Release|x64.ActiveCfg = Release|x64
+ {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Release|x64.Build.0 = Release|x64
+ {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Release|x86.ActiveCfg = Release|x64
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|ARM.ActiveCfg = Debug|ARM
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|ARM.Build.0 = Debug|ARM
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|ARM.Deploy.0 = Debug|ARM
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|ARM64.Build.0 = Debug|ARM64
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|ARM64.Deploy.0 = Debug|ARM64
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|x64.ActiveCfg = Debug|x64
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|x64.Build.0 = Debug|x64
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|x64.Deploy.0 = Debug|x64
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|x86.ActiveCfg = Debug|x86
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|x86.Build.0 = Debug|x86
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|x86.Deploy.0 = Debug|x86
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|ARM.ActiveCfg = Release|ARM
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|ARM.Build.0 = Release|ARM
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|ARM.Deploy.0 = Release|ARM
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|ARM64.ActiveCfg = Release|ARM64
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|ARM64.Build.0 = Release|ARM64
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|ARM64.Deploy.0 = Release|ARM64
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|x64.ActiveCfg = Release|x64
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|x64.Build.0 = Release|x64
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|x64.Deploy.0 = Release|x64
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|x86.ActiveCfg = Release|x86
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|x86.Build.0 = Release|x86
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|x86.Deploy.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -351,6 +617,8 @@ Global
{787B8AA6-CA93-4C84-96FE-DF31110AD1C4} = {4AFC9975-2456-4C70-94A4-84073C1CED93}
{E364F67B-BB12-4E91-B639-355866EBCD8B} = {C140A3EF-6DBF-4084-9D4C-4EB5A99FEE68}
{8DD27FDE-7B2F-45D8-A148-3340205A7BEF} = {4AFC9975-2456-4C70-94A4-84073C1CED93}
+ {F97E5003-F263-4D4A-A964-0F1F3C82DEF2} = {C140A3EF-6DBF-4084-9D4C-4EB5A99FEE68}
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16} = {C140A3EF-6DBF-4084-9D4C-4EB5A99FEE68}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C3A2F9D1-7930-4EF4-A6FC-7EE0A99821D0}
diff --git a/src/modules/launcher/PowerLauncher.UI/App.xaml b/src/modules/launcher/PowerLauncher.UI/App.xaml
new file mode 100644
index 0000000000..9123f30746
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher.UI/App.xaml
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher.UI/App.xaml.cs b/src/modules/launcher/PowerLauncher.UI/App.xaml.cs
new file mode 100644
index 0000000000..3e96413d1d
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher.UI/App.xaml.cs
@@ -0,0 +1,10 @@
+namespace PowerLauncher.UI
+{
+ public sealed partial class App : Microsoft.Toolkit.Win32.UI.XamlHost.XamlApplication
+ {
+ public App()
+ {
+ this.Initialize();
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher.UI/Assets/LockScreenLogo.scale-200.png b/src/modules/launcher/PowerLauncher.UI/Assets/LockScreenLogo.scale-200.png
new file mode 100644
index 0000000000..735f57adb5
Binary files /dev/null and b/src/modules/launcher/PowerLauncher.UI/Assets/LockScreenLogo.scale-200.png differ
diff --git a/src/modules/launcher/PowerLauncher.UI/Assets/SplashScreen.scale-200.png b/src/modules/launcher/PowerLauncher.UI/Assets/SplashScreen.scale-200.png
new file mode 100644
index 0000000000..023e7f1fed
Binary files /dev/null and b/src/modules/launcher/PowerLauncher.UI/Assets/SplashScreen.scale-200.png differ
diff --git a/src/modules/launcher/PowerLauncher.UI/Assets/Square150x150Logo.scale-200.png b/src/modules/launcher/PowerLauncher.UI/Assets/Square150x150Logo.scale-200.png
new file mode 100644
index 0000000000..af49fec1a5
Binary files /dev/null and b/src/modules/launcher/PowerLauncher.UI/Assets/Square150x150Logo.scale-200.png differ
diff --git a/src/modules/launcher/PowerLauncher.UI/Assets/Square44x44Logo.scale-200.png b/src/modules/launcher/PowerLauncher.UI/Assets/Square44x44Logo.scale-200.png
new file mode 100644
index 0000000000..ce342a2ec8
Binary files /dev/null and b/src/modules/launcher/PowerLauncher.UI/Assets/Square44x44Logo.scale-200.png differ
diff --git a/src/modules/launcher/PowerLauncher.UI/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/src/modules/launcher/PowerLauncher.UI/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
new file mode 100644
index 0000000000..f6c02ce97e
Binary files /dev/null and b/src/modules/launcher/PowerLauncher.UI/Assets/Square44x44Logo.targetsize-24_altform-unplated.png differ
diff --git a/src/modules/launcher/PowerLauncher.UI/Assets/StoreLogo.png b/src/modules/launcher/PowerLauncher.UI/Assets/StoreLogo.png
new file mode 100644
index 0000000000..7385b56c0e
Binary files /dev/null and b/src/modules/launcher/PowerLauncher.UI/Assets/StoreLogo.png differ
diff --git a/src/modules/launcher/PowerLauncher.UI/Assets/Wide310x150Logo.scale-200.png b/src/modules/launcher/PowerLauncher.UI/Assets/Wide310x150Logo.scale-200.png
new file mode 100644
index 0000000000..288995b397
Binary files /dev/null and b/src/modules/launcher/PowerLauncher.UI/Assets/Wide310x150Logo.scale-200.png differ
diff --git a/src/modules/launcher/PowerLauncher.UI/LauncherControl.xaml b/src/modules/launcher/PowerLauncher.UI/LauncherControl.xaml
new file mode 100644
index 0000000000..0a76145f2f
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher.UI/LauncherControl.xaml
@@ -0,0 +1,18 @@
+
+
+
+
+ This is a simple custom UWP control
+
+
+
+
+
diff --git a/src/modules/launcher/PowerLauncher.UI/LauncherControl.xaml.cs b/src/modules/launcher/PowerLauncher.UI/LauncherControl.xaml.cs
new file mode 100644
index 0000000000..a962ff8821
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher.UI/LauncherControl.xaml.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The User Control item template is documented at https://go.microsoft.com/fwlink/?LinkId=234236
+
+namespace PowerLauncher.UI
+{
+ public sealed partial class LauncherControl : UserControl
+ {
+ public string XamlIslandMessage { get; set; }
+
+ public LauncherControl()
+ {
+ this.InitializeComponent();
+ }
+
+ }
+
+}
diff --git a/src/modules/launcher/PowerLauncher.UI/MainPage.xaml b/src/modules/launcher/PowerLauncher.UI/MainPage.xaml
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/modules/launcher/PowerLauncher.UI/Package.appxmanifest b/src/modules/launcher/PowerLauncher.UI/Package.appxmanifest
new file mode 100644
index 0000000000..89ff629cd3
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher.UI/Package.appxmanifest
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+ PowerLauncher.UI
+ bakudies
+ Assets\StoreLogo.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher.UI/PowerLauncher.UI.csproj b/src/modules/launcher/PowerLauncher.UI/PowerLauncher.UI.csproj
new file mode 100644
index 0000000000..8a9264d0d3
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher.UI/PowerLauncher.UI.csproj
@@ -0,0 +1,187 @@
+
+
+
+
+ Debug
+ x86
+ {4A3DE70C-684C-410D-B851-C23B6DAEDF16}
+ AppContainerExe
+ Properties
+ PowerLauncher.UI
+ PowerLauncher.UI
+ en-US
+ UAP
+ 10.0.18362.0
+ 10.0.18362.0
+ 14
+ 512
+ {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ true
+ false
+
+
+ true
+ bin\x86\Debug\
+ DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
+ ;2008
+ full
+ x86
+ false
+ prompt
+ true
+
+
+ bin\x86\Release\
+ TRACE;NETFX_CORE;WINDOWS_UWP
+ true
+ ;2008
+ pdbonly
+ x86
+ false
+ prompt
+ true
+ true
+
+
+ true
+ bin\ARM\Debug\
+ DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
+ ;2008
+ full
+ ARM
+ false
+ prompt
+ true
+
+
+ bin\ARM\Release\
+ TRACE;NETFX_CORE;WINDOWS_UWP
+ true
+ ;2008
+ pdbonly
+ ARM
+ false
+ prompt
+ true
+ true
+
+
+ true
+ bin\ARM64\Debug\
+ DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
+ ;2008
+ full
+ ARM64
+ false
+ prompt
+ true
+ true
+
+
+ bin\ARM64\Release\
+ TRACE;NETFX_CORE;WINDOWS_UWP
+ true
+ ;2008
+ pdbonly
+ ARM64
+ false
+ prompt
+ true
+ true
+
+
+ true
+ bin\x64\Debug\
+ DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
+ ;2008
+ full
+ x64
+ false
+ prompt
+ true
+
+
+ bin\x64\Release\
+ TRACE;NETFX_CORE;WINDOWS_UWP
+ true
+ ;2008
+ pdbonly
+ x64
+ false
+ prompt
+ true
+ true
+
+
+ PackageReference
+
+
+
+ App.xaml
+
+
+ LauncherControl.xaml
+
+
+
+
+
+ Designer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+
+
+ 6.2.10
+
+
+ 6.0.0
+
+
+ 6.0.0
+
+
+ 6.0.0
+
+
+ 6.0.0
+
+
+ 2.4.0-prerelease.200322001
+
+
+
+ 14.0
+
+
+
+
+ false
+ false
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher.UI/Properties/AssemblyInfo.cs b/src/modules/launcher/PowerLauncher.UI/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..7386690a20
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher.UI/Properties/AssemblyInfo.cs
@@ -0,0 +1,29 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 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("PowerLauncher.UI")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("PowerLauncher.UI")]
+[assembly: AssemblyCopyright("Copyright © 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// 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("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: ComVisible(false)]
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher.UI/Properties/Default.rd.xml b/src/modules/launcher/PowerLauncher.UI/Properties/Default.rd.xml
new file mode 100644
index 0000000000..af00722cdf
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher.UI/Properties/Default.rd.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/ActionKeywords.xaml b/src/modules/launcher/PowerLauncher/ActionKeywords.xaml
new file mode 100644
index 0000000000..ffe1b5400b
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/ActionKeywords.xaml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Old ActionKeywords:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/ActionKeywords.xaml.cs b/src/modules/launcher/PowerLauncher/ActionKeywords.xaml.cs
new file mode 100644
index 0000000000..68024b1270
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/ActionKeywords.xaml.cs
@@ -0,0 +1,58 @@
+using System.Windows;
+using Wox.Core.Plugin;
+using Wox.Core.Resource;
+using Wox.Infrastructure.Exception;
+using Wox.Infrastructure.UserSettings;
+using Wox.Plugin;
+
+namespace Wox
+{
+ public partial class ActionKeywords : Window
+ {
+ private PluginPair _plugin;
+ private Settings _settings;
+ private readonly Internationalization _translater = InternationalizationManager.Instance;
+
+ public ActionKeywords(string pluginId, Settings settings)
+ {
+ InitializeComponent();
+ _plugin = PluginManager.GetPluginForId(pluginId);
+ _settings = settings;
+ if (_plugin == null)
+ {
+ MessageBox.Show(_translater.GetTranslation("cannotFindSpecifiedPlugin"));
+ Close();
+ }
+ }
+
+ private void ActionKeyword_OnLoaded(object sender, RoutedEventArgs e)
+ {
+ tbOldActionKeyword.Text = string.Join(Query.ActionKeywordSeperater, _plugin.Metadata.ActionKeywords.ToArray());
+ tbAction.Focus();
+ }
+
+ private void BtnCancel_OnClick(object sender, RoutedEventArgs e)
+ {
+ Close();
+ }
+
+ private void btnDone_OnClick(object sender, RoutedEventArgs _)
+ {
+ var oldActionKeyword = _plugin.Metadata.ActionKeywords[0];
+ var newActionKeyword = tbAction.Text.Trim();
+ newActionKeyword = newActionKeyword.Length > 0 ? newActionKeyword : "*";
+ if (!PluginManager.ActionKeywordRegistered(newActionKeyword))
+ {
+ var id = _plugin.Metadata.ID;
+ PluginManager.ReplaceActionKeyword(id, oldActionKeyword, newActionKeyword);
+ MessageBox.Show(_translater.GetTranslation("success"));
+ Close();
+ }
+ else
+ {
+ string msg = _translater.GetTranslation("newActionKeywordsHasBeenAssigned");
+ MessageBox.Show(msg);
+ }
+ }
+ }
+}
diff --git a/src/modules/launcher/PowerLauncher/App.xaml b/src/modules/launcher/PowerLauncher/App.xaml
new file mode 100644
index 0000000000..ec92b631a4
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/App.xaml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/App.xaml.cs b/src/modules/launcher/PowerLauncher/App.xaml.cs
new file mode 100644
index 0000000000..09c7646fcb
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/App.xaml.cs
@@ -0,0 +1,163 @@
+using System;
+using System.Diagnostics;
+using System.Threading.Tasks;
+using System.Timers;
+using System.Windows;
+using Wox;
+using Wox.Core;
+using Wox.Core.Plugin;
+using Wox.Core.Resource;
+using Wox.Helper;
+using Wox.Infrastructure;
+using Wox.Infrastructure.Http;
+using Wox.Infrastructure.Image;
+using Wox.Infrastructure.Logger;
+using Wox.Infrastructure.UserSettings;
+using Wox.ViewModel;
+using Stopwatch = Wox.Infrastructure.Stopwatch;
+
+namespace PowerLauncher
+{
+ public partial class App : IDisposable, ISingleInstanceApp
+ {
+ public static PublicAPIInstance API { get; private set; }
+ private const string Unique = "Wox_Unique_Application_Mutex";
+ private static bool _disposed;
+ private Settings _settings;
+ private MainViewModel _mainVM;
+ private SettingWindowViewModel _settingsVM;
+ private readonly Updater _updater = new Updater(PowerLauncher.Properties.Settings.Default.GithubRepo);
+ private readonly Alphabet _alphabet = new Alphabet();
+ private StringMatcher _stringMatcher;
+
+ [STAThread]
+ public static void Main()
+ {
+ if (SingleInstance.InitializeAsFirstInstance(Unique))
+ {
+ using (var application = new App())
+ {
+ application.InitializeComponent();
+ application.Run();
+ }
+ }
+ }
+
+ private void OnStartup(object sender, StartupEventArgs e)
+ {
+ Stopwatch.Normal("|App.OnStartup|Startup cost", () =>
+ {
+ Log.Info("|App.OnStartup|Begin Wox startup ----------------------------------------------------");
+ Log.Info($"|App.OnStartup|Runtime info:{ErrorReporting.RuntimeInfo()}");
+ RegisterAppDomainExceptions();
+ RegisterDispatcherUnhandledException();
+
+ ImageLoader.Initialize();
+
+ _settingsVM = new SettingWindowViewModel(_updater);
+ _settings = _settingsVM.Settings;
+
+ _alphabet.Initialize(_settings);
+ _stringMatcher = new StringMatcher(_alphabet);
+ StringMatcher.Instance = _stringMatcher;
+ _stringMatcher.UserSettingSearchPrecision = _settings.QuerySearchPrecision;
+
+ PluginManager.LoadPlugins(_settings.PluginSettings);
+ _mainVM = new MainViewModel(_settings);
+ var window = new MainWindow(_settings, _mainVM);
+ API = new PublicAPIInstance(_settingsVM, _mainVM, _alphabet);
+ PluginManager.InitializePlugins(API);
+ Log.Info($"|App.OnStartup|Dependencies Info:{ErrorReporting.DependenciesInfo()}");
+
+ Current.MainWindow = window;
+ Current.MainWindow.Title = Constant.Wox;
+
+ // happlebao todo temp fix for instance code logic
+ // load plugin before change language, because plugin language also needs be changed
+ InternationalizationManager.Instance.Settings = _settings;
+ InternationalizationManager.Instance.ChangeLanguage(_settings.Language);
+ // main windows needs initialized before theme change because of blur settigns
+ ThemeManager.Instance.Settings = _settings;
+ ThemeManager.Instance.ChangeTheme(_settings.Theme);
+
+ Http.Proxy = _settings.Proxy;
+
+ RegisterExitEvents();
+
+ AutoStartup();
+ AutoUpdates();
+
+ _mainVM.MainWindowVisibility = _settings.HideOnStartup ? Visibility.Hidden : Visibility.Visible;
+ Log.Info("|App.OnStartup|End Wox startup ---------------------------------------------------- ");
+ });
+ }
+
+
+ private void AutoStartup()
+ {
+ }
+
+ //[Conditional("RELEASE")]
+ private void AutoUpdates()
+ {
+ Task.Run(async () =>
+ {
+ if (_settings.AutoUpdates)
+ {
+ // check udpate every 5 hours
+ var timer = new Timer(1000 * 60 * 60 * 5);
+ timer.Elapsed += async (s, e) =>
+ {
+ await _updater.UpdateApp();
+ };
+ timer.Start();
+
+ // check updates on startup
+ await _updater.UpdateApp();
+ }
+ });
+ }
+
+ private void RegisterExitEvents()
+ {
+ AppDomain.CurrentDomain.ProcessExit += (s, e) => Dispose();
+ Current.Exit += (s, e) => Dispose();
+ Current.SessionEnding += (s, e) => Dispose();
+ }
+
+ ///
+ /// let exception throw as normal is better for Debug
+ ///
+ [Conditional("RELEASE")]
+ private void RegisterDispatcherUnhandledException()
+ {
+ DispatcherUnhandledException += ErrorReporting.DispatcherUnhandledException;
+ }
+
+
+ ///
+ /// let exception throw as normal is better for Debug
+ ///
+ [Conditional("RELEASE")]
+ private static void RegisterAppDomainExceptions()
+ {
+ AppDomain.CurrentDomain.UnhandledException += ErrorReporting.UnhandledExceptionHandle;
+ }
+
+ public void Dispose()
+ {
+ // if sessionending is called, exit proverbially be called when log off / shutdown
+ // but if sessionending is not called, exit won't be called when log off / shutdown
+ if (!_disposed)
+ {
+ API.SaveAppAllSettings();
+ _disposed = true;
+ }
+ }
+
+ public void OnSecondAppStarted()
+ {
+ Current.MainWindow.Visibility = Visibility.Visible;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/FodyWeavers.xml b/src/modules/launcher/PowerLauncher/FodyWeavers.xml
new file mode 100644
index 0000000000..4e68ed1a8b
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/FodyWeavers.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/FodyWeavers.xsd b/src/modules/launcher/PowerLauncher/FodyWeavers.xsd
new file mode 100644
index 0000000000..2f1b8aae7a
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/FodyWeavers.xsd
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+ Used to control if the On_PropertyName_Changed feature is enabled.
+
+
+
+
+ Used to change the name of the method that fires the notify event. This is a string that accepts multiple values in a comma separated form.
+
+
+
+
+ Used to control if equality checks should be inserted. If false, equality checking will be disabled for the project.
+
+
+
+
+ Used to control if equality checks should use the Equals method resolved from the base class.
+
+
+
+
+ Used to control if equality checks should use the static Equals method resolved from the base class.
+
+
+
+
+
+
+
+ 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
+
+
+
+
+ A comma-separated list of error codes that can be safely ignored in assembly verification.
+
+
+
+
+ 'false' to turn off automatic generation of the XML Schema file.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/HotkeyControl.xaml b/src/modules/launcher/PowerLauncher/HotkeyControl.xaml
new file mode 100644
index 0000000000..affe185567
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/HotkeyControl.xaml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/HotkeyControl.xaml.cs b/src/modules/launcher/PowerLauncher/HotkeyControl.xaml.cs
new file mode 100644
index 0000000000..f2ba82a06c
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/HotkeyControl.xaml.cs
@@ -0,0 +1,117 @@
+using System;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Input;
+using System.Windows.Media;
+using NHotkey.Wpf;
+using Wox.Core.Resource;
+using Wox.Infrastructure.Hotkey;
+using Wox.Plugin;
+
+namespace Wox
+{
+ public partial class HotkeyControl : UserControl
+ {
+ public HotkeyModel CurrentHotkey { get; private set; }
+ public bool CurrentHotkeyAvailable { get; private set; }
+
+ public event EventHandler HotkeyChanged;
+
+ protected virtual void OnHotkeyChanged()
+ {
+ EventHandler handler = HotkeyChanged;
+ if (handler != null) handler(this, EventArgs.Empty);
+ }
+
+ public HotkeyControl()
+ {
+ InitializeComponent();
+ }
+
+ void TbHotkey_OnPreviewKeyDown(object sender, KeyEventArgs e)
+ {
+ e.Handled = true;
+ tbMsg.Visibility = Visibility.Hidden;
+
+ //when alt is pressed, the real key should be e.SystemKey
+ Key key = (e.Key == Key.System ? e.SystemKey : e.Key);
+
+ SpecialKeyState specialKeyState = GlobalHotkey.Instance.CheckModifiers();
+
+ var hotkeyModel = new HotkeyModel(
+ specialKeyState.AltPressed,
+ specialKeyState.ShiftPressed,
+ specialKeyState.WinPressed,
+ specialKeyState.CtrlPressed,
+ key);
+
+ var hotkeyString = hotkeyModel.ToString();
+
+ if (hotkeyString == tbHotkey.Text)
+ {
+ return;
+ }
+
+ Dispatcher.InvokeAsync(async () =>
+ {
+ await Task.Delay(500);
+ SetHotkey(hotkeyModel);
+ });
+ }
+
+ public void SetHotkey(HotkeyModel keyModel, bool triggerValidate = true)
+ {
+ CurrentHotkey = keyModel;
+
+ tbHotkey.Text = CurrentHotkey.ToString();
+ tbHotkey.Select(tbHotkey.Text.Length, 0);
+
+ if (triggerValidate)
+ {
+ CurrentHotkeyAvailable = CheckHotkeyAvailability();
+ if (!CurrentHotkeyAvailable)
+ {
+ tbMsg.Foreground = new SolidColorBrush(Colors.Red);
+ tbMsg.Text = InternationalizationManager.Instance.GetTranslation("hotkeyUnavailable");
+ }
+ else
+ {
+ tbMsg.Foreground = new SolidColorBrush(Colors.Green);
+ tbMsg.Text = InternationalizationManager.Instance.GetTranslation("success");
+ }
+ tbMsg.Visibility = Visibility.Visible;
+ OnHotkeyChanged();
+ }
+ }
+
+ public void SetHotkey(string keyStr, bool triggerValidate = true)
+ {
+ SetHotkey(new HotkeyModel(keyStr), triggerValidate);
+ }
+
+ private bool CheckHotkeyAvailability()
+ {
+ try
+ {
+ HotkeyManager.Current.AddOrReplace("HotkeyAvailabilityTest", CurrentHotkey.CharKey, CurrentHotkey.ModifierKeys, (sender, e) => { });
+
+ return true;
+ }
+ catch
+ {
+ }
+ finally
+ {
+ HotkeyManager.Current.Remove("HotkeyAvailabilityTest");
+ }
+
+ return false;
+ }
+
+ public new bool IsFocused
+ {
+ get { return tbHotkey.IsFocused; }
+ }
+ }
+}
diff --git a/src/modules/launcher/PowerLauncher/Images/Browser.png b/src/modules/launcher/PowerLauncher/Images/Browser.png
new file mode 100644
index 0000000000..619d1ad6ab
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/Browser.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/EXE.png b/src/modules/launcher/PowerLauncher/Images/EXE.png
new file mode 100644
index 0000000000..e4c7896898
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/EXE.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/Link.png b/src/modules/launcher/PowerLauncher/Images/Link.png
new file mode 100644
index 0000000000..c0c3607bd1
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/Link.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/New Message.png b/src/modules/launcher/PowerLauncher/Images/New Message.png
new file mode 100644
index 0000000000..2dd2c45f2e
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/New Message.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/app.png b/src/modules/launcher/PowerLauncher/Images/app.png
new file mode 100644
index 0000000000..8c9ca7971a
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/app.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/app_error.png b/src/modules/launcher/PowerLauncher/Images/app_error.png
new file mode 100644
index 0000000000..5106d6e8a9
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/app_error.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/calculator.png b/src/modules/launcher/PowerLauncher/Images/calculator.png
new file mode 100644
index 0000000000..102a86bde5
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/calculator.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/cancel.png b/src/modules/launcher/PowerLauncher/Images/cancel.png
new file mode 100644
index 0000000000..022fbc197a
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/cancel.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/close.png b/src/modules/launcher/PowerLauncher/Images/close.png
new file mode 100644
index 0000000000..17c4363ad3
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/close.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/cmd.png b/src/modules/launcher/PowerLauncher/Images/cmd.png
new file mode 100644
index 0000000000..686583653f
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/cmd.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/color.png b/src/modules/launcher/PowerLauncher/Images/color.png
new file mode 100644
index 0000000000..da28583b1c
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/color.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/copy.png b/src/modules/launcher/PowerLauncher/Images/copy.png
new file mode 100644
index 0000000000..8f1fca752f
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/copy.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/down.png b/src/modules/launcher/PowerLauncher/Images/down.png
new file mode 100644
index 0000000000..2349d89175
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/down.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/file.png b/src/modules/launcher/PowerLauncher/Images/file.png
new file mode 100644
index 0000000000..36156767a6
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/file.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/find.png b/src/modules/launcher/PowerLauncher/Images/find.png
new file mode 100644
index 0000000000..a3f0be1f5b
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/find.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/folder.png b/src/modules/launcher/PowerLauncher/Images/folder.png
new file mode 100644
index 0000000000..569fa70491
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/folder.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/history.png b/src/modules/launcher/PowerLauncher/Images/history.png
new file mode 100644
index 0000000000..2a3b72dc46
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/history.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/image.png b/src/modules/launcher/PowerLauncher/Images/image.png
new file mode 100644
index 0000000000..7fc14c38e9
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/image.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/lock.png b/src/modules/launcher/PowerLauncher/Images/lock.png
new file mode 100644
index 0000000000..4aef7007ba
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/lock.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/logoff.png b/src/modules/launcher/PowerLauncher/Images/logoff.png
new file mode 100644
index 0000000000..0d1378830e
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/logoff.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/ok.png b/src/modules/launcher/PowerLauncher/Images/ok.png
new file mode 100644
index 0000000000..f2dde98efb
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/ok.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/open.png b/src/modules/launcher/PowerLauncher/Images/open.png
new file mode 100644
index 0000000000..b5c7a0e19c
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/open.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/plugin.png b/src/modules/launcher/PowerLauncher/Images/plugin.png
new file mode 100644
index 0000000000..6ff9b8b157
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/plugin.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/recyclebin.png b/src/modules/launcher/PowerLauncher/Images/recyclebin.png
new file mode 100644
index 0000000000..2cc3b0116c
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/recyclebin.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/restart.png b/src/modules/launcher/PowerLauncher/Images/restart.png
new file mode 100644
index 0000000000..aaa2ee7116
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/restart.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/search.png b/src/modules/launcher/PowerLauncher/Images/search.png
new file mode 100644
index 0000000000..a3f0be1f5b
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/search.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/settings.png b/src/modules/launcher/PowerLauncher/Images/settings.png
new file mode 100644
index 0000000000..c61729fe02
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/settings.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/shutdown.png b/src/modules/launcher/PowerLauncher/Images/shutdown.png
new file mode 100644
index 0000000000..7da7a528d6
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/shutdown.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/sleep.png b/src/modules/launcher/PowerLauncher/Images/sleep.png
new file mode 100644
index 0000000000..42426286dd
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/sleep.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/up.png b/src/modules/launcher/PowerLauncher/Images/up.png
new file mode 100644
index 0000000000..e68def0b5e
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/up.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/update.png b/src/modules/launcher/PowerLauncher/Images/update.png
new file mode 100644
index 0000000000..6fe5790917
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/update.png differ
diff --git a/src/modules/launcher/PowerLauncher/Images/warning.png b/src/modules/launcher/PowerLauncher/Images/warning.png
new file mode 100644
index 0000000000..8d29625ee7
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Images/warning.png differ
diff --git a/src/modules/launcher/PowerLauncher/Languages/da.xaml b/src/modules/launcher/PowerLauncher/Languages/da.xaml
new file mode 100644
index 0000000000..c68024fbef
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Languages/da.xaml
@@ -0,0 +1,130 @@
+
+
+ Kunne ikke registrere genvejstast: {0}
+ Kunne ikke starte {0}
+ Ugyldigt Wox plugin filformat
+ Sæt øverst i denne søgning
+ Annuller øverst i denne søgning
+ Udfør søgning: {0}
+ Seneste afviklingstid: {0}
+ Åben
+ Indstillinger
+ Om
+ Afslut
+
+
+ Wox indstillinger
+ Generelt
+ Start Wox ved system start
+ Skjul Wox ved mistet fokus
+ Vis ikke notifikationer om nye versioner
+ Husk seneste position
+ Sprog
+ Maksimum antal resultater vist
+ Ignorer genvejstaster i fuldskærmsmode
+ Autoopdatering
+ Skjul Wox ved opstart
+
+
+ Plugin
+ Find flere plugins
+ Deaktiver
+ Nøgleord
+ Plugin bibliotek
+ Forfatter
+ Initaliseringstid: {0}ms
+ Søgetid: {0}ms
+
+
+ Tema
+ Søg efter flere temaer
+ Hej Wox
+ Søgefelt skrifttype
+ Resultat skrifttype
+ Vindue mode
+ Gennemsigtighed
+
+
+ Genvejstast
+ Wox genvejstast
+ Tilpasset søgegenvejstast
+ Slet
+ Rediger
+ Tilføj
+ Vælg venligst
+ Er du sikker på du vil slette {0} plugin genvejstast?
+
+
+ HTTP Proxy
+ Aktiver HTTP Proxy
+ HTTP Server
+ Port
+ Brugernavn
+ Adgangskode
+ Test Proxy
+ Gem
+ Server felt må ikke være tomt
+ Port felt må ikke være tomt
+ Ugyldigt port format
+ Proxy konfiguration gemt
+ Proxy konfiguret korrekt
+ Proxy forbindelse fejlet
+
+
+ Om
+ Website
+ Version
+ Du har aktiveret Wox {0} gange
+ Tjek for opdateringer
+ Ny version {0} er tilgængelig, genstart venligst Wox
+ Release Notes:
+
+
+ Gammelt nøgleord
+ Nyt nøgleord
+ Annuller
+ Færdig
+ Kan ikke finde det valgte plugin
+ Nyt nøgleord må ikke være tomt
+ Nyt nøgleord er tilknyttet et andet plugin, tilknyt venligst et andet nyt nøgeleord
+ Fortsæt
+ Brug * hvis du ikke vil angive et nøgleord
+
+
+ Vis
+ Genvejstast er utilgængelig, vælg venligst en ny genvejstast
+ Ugyldig plugin genvejstast
+ Opdater
+
+
+ Genvejstast utilgængelig
+
+
+ Version
+ Tid
+ Beskriv venligst hvordan Wox crashede, så vi kan rette det.
+ Send rapport
+ Annuller
+ Generelt
+ Exceptions
+ Exception Type
+ Kilde
+ Stack Trace
+ Sender
+ Rapport sendt korrekt
+ Kunne ikke sende rapport
+ Wox fik en fejl
+
+
+ Ny Wox udgivelse {0} er nu tilgængelig
+ Der skete en fejl ifm. opdatering af Wox
+ Opdater
+ Annuler
+ Denne opdatering vil genstarte Wox
+ Følgende filer bliver opdateret
+ Opdatereringsfiler
+ Opdateringsbeskrivelse
+
+
diff --git a/src/modules/launcher/PowerLauncher/Languages/de.xaml b/src/modules/launcher/PowerLauncher/Languages/de.xaml
new file mode 100644
index 0000000000..a11cbd8013
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Languages/de.xaml
@@ -0,0 +1,130 @@
+
+
+ Tastenkombinationregistrierung: {0} fehlgeschlagen
+ Kann {0} nicht starten
+ Fehlerhaftes Wox-Plugin Dateiformat
+ In dieser Abfrage als oberstes setzen
+ In dieser Abfrage oberstes abbrechen
+ Abfrage ausführen:{0}
+ Letzte Ausführungszeit:{0}
+ Öffnen
+ Einstellungen
+ Über
+ Schließen
+
+
+ Wox Einstellungen
+ Allgemein
+ Starte Wox bei Systemstart
+ Verstecke Wox wenn der Fokus verloren geht
+ Zeige keine Nachricht wenn eine neue Version vorhanden ist
+ Merke letzte Ausführungsposition
+ Sprache
+ Maximale Anzahl Ergebnissen
+ Ignoriere Tastenkombination wenn Fenster im Vollbildmodus ist
+ Automatische Aktualisierung
+ Verstecke Wox bei Systemstart
+
+
+ Plugin
+ Suche nach weiteren Plugins
+ Deaktivieren
+ Aktionsschlüsselwörter
+ Pluginordner
+ Autor
+ Initialisierungszeit: {0}ms
+ Abfragezeit: {0}ms
+
+
+ Theme
+ Suche nach weiteren Themes
+ Hallo Wox
+ Abfragebox Schriftart
+ Ergebnis Schriftart
+ Fenstermodus
+ Transparenz
+
+
+ Tastenkombination
+ Wox Tastenkombination
+ Benutzerdefinierte Abfrage Tastenkombination
+ Löschen
+ Bearbeiten
+ Hinzufügen
+ Bitte einen Eintrag auswählen
+ Wollen Sie die {0} Plugin Tastenkombination wirklich löschen?
+
+
+ HTTP Proxy
+ Aktiviere HTTP Proxy
+ HTTP Server
+ Port
+ Benutzername
+ Passwort
+ Teste Proxy
+ Speichern
+ Server darf nicht leer sein
+ Server Port darf nicht leer sein
+ Falsches Port Format
+ Proxy wurde erfolgreich gespeichert
+ Proxy ist korrekt
+ Verbindung zum Proxy fehlgeschlagen
+
+
+ Über
+ Webseite
+ Version
+ Sie haben Wox {0} mal aktiviert
+ Nach Aktuallisierungen Suchen
+ Eine neue Version ({0}) ist vorhanden. Bitte starten Sie Wox neu.
+ Versionshinweise:
+
+
+ Altes Aktionsschlüsselwort
+ Neues Aktionsschlüsselwort
+ Abbrechen
+ Fertig
+ Kann das angegebene Plugin nicht finden
+ Neues Aktionsschlüsselwort darf nicht leer sein
+ Aktionsschlüsselwort ist schon bei einem anderen Plugin in verwendung. Bitte stellen Sie ein anderes Aktionsschlüsselwort ein.
+ Erfolgreich
+ Benutzen Sie * wenn Sie ein Aktionsschlüsselwort definieren wollen.
+
+
+ Vorschau
+ Tastenkombination ist nicht verfügbar, bitte wähle eine andere Tastenkombination
+ Ungültige Plugin Tastenkombination
+ Aktualisieren
+
+
+ Tastenkombination nicht verfügbar
+
+
+ Version
+ Zeit
+ Bitte teilen Sie uns mit, wie die Anwendung abgestürzt ist, damit wir den Fehler beheben können.
+ Sende Report
+ Abbrechen
+ Allgemein
+ Fehler
+ Fehlertypen
+ Quelle
+ Stack Trace
+ Sende
+ Report erfolgreich
+ Report fehlgeschlagen
+ Wox hat einen Fehler
+
+
+ V{0} von Wox ist verfügbar
+ Es ist ein Fehler während der Installation der Aktualisierung aufgetreten.
+ Aktualisieren
+ Abbrechen
+ Diese Aktualisierung wird Wox neu starten
+ Folgende Dateien werden aktualisiert
+ Aktualisiere Dateien
+ Aktualisierungbeschreibung
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Languages/en.xaml b/src/modules/launcher/PowerLauncher/Languages/en.xaml
new file mode 100644
index 0000000000..cf177cab52
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Languages/en.xaml
@@ -0,0 +1,144 @@
+
+
+ Failed to register hotkey: {0}
+ Could not start {0}
+ Invalid Wox plugin file format
+ Set as topmost in this query
+ Cancel topmost in this query
+ Execute query: {0}
+ Last execution time: {0}
+ Open
+ Settings
+ About
+ Exit
+
+
+ Wox Settings
+ General
+ Start Wox on system startup
+ Hide Wox when focus is lost
+ Do not show new version notifications
+ Remember last launch location
+ Language
+ Last Query Style
+ Preserve Last Query
+ Select last Query
+ Empty last Query
+ Maximum results shown
+ Ignore hotkeys in fullscreen mode
+ Auto Update
+ Hide Wox on startup
+ Hide tray icon
+ Query Search Precision
+ Should Use Pinyin
+
+
+ Plugin
+ Find more plugins
+ Disable
+ Action keywords
+ Plugin Directory
+ Author
+ Init time: {0}ms
+ Query time: {0}ms
+
+
+ Theme
+ Browse for more themes
+ Hello Wox
+ Query Box Font
+ Result Item Font
+ Window Mode
+ Opacity
+ Theme {0} not exists, fallback to default theme
+ Fail to load theme {0}, fallback to default theme
+
+
+ Hotkey
+ Wox Hotkey
+ Custom Query Hotkey
+ Delete
+ Edit
+ Add
+ Please select an item
+ Are you sure you want to delete {0} plugin hotkey?
+
+
+ HTTP Proxy
+ Enable HTTP Proxy
+ HTTP Server
+ Port
+ User Name
+ Password
+ Test Proxy
+ Save
+ Server field can't be empty
+ Port field can't be empty
+ Invalid port format
+ Proxy configuration saved successfully
+ Proxy configured correctly
+ Proxy connection failed
+
+
+ About
+ Website
+ Version
+ You have activated Wox {0} times
+ Check for Updates
+ New version {0} is available, please restart Wox.
+ Check updates failed, please check your connection and proxy settings to api.github.com.
+
+ Download updates failed, please check your connection and proxy settings to github-cloud.s3.amazonaws.com,
+ or go to https://github.com/Wox-launcher/Wox/releases to download updates manually.
+
+ Release Notes:
+
+
+ Old Action Keyword
+ New Action Keyword
+ Cancel
+ Done
+ Can't find specified plugin
+ New Action Keyword can't be empty
+ New Action Keywords have been assigned to another plugin, please assign other new action keyword
+ Success
+ Use * if you don't want to specify an action keyword
+
+
+ Preview
+ Hotkey is unavailable, please select a new hotkey
+ Invalid plugin hotkey
+ Update
+
+
+ Hotkey unavailable
+
+
+ Version
+ Time
+ Please tell us how application crashed so we can fix it
+ Send Report
+ Cancel
+ General
+ Exceptions
+ Exception Type
+ Source
+ Stack Trace
+ Sending
+ Report sent successfully
+ Failed to send report
+ Wox got an error
+
+
+ New Wox release {0} is now available
+ An error occurred while trying to install software updates
+ Update
+ Cancel
+ This upgrade will restart Wox
+ Following files will be updated
+ Update files
+ Update description
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Languages/fr.xaml b/src/modules/launcher/PowerLauncher/Languages/fr.xaml
new file mode 100644
index 0000000000..ecbcda3ae9
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Languages/fr.xaml
@@ -0,0 +1,136 @@
+
+
+ Échec lors de l'enregistrement du raccourci : {0}
+ Impossible de lancer {0}
+ Le format de fichier n'est pas un plugin Wox valide
+ Définir en tant que favori pour cette requête
+ Annuler le favori
+ Lancer la requête : {0}
+ Dernière exécution : {0}
+ Ouvrir
+ Paramètres
+ À propos
+ Quitter
+
+
+ Paramètres - Wox
+ Général
+ Lancer Wox au démarrage du système
+ Cacher Wox lors de la perte de focus
+ Ne pas afficher le message de mise à jour pour les nouvelles versions
+ Se souvenir du dernier emplacement de la fenêtre
+ Langue
+ Affichage de la dernière recherche
+ Conserver la dernière recherche
+ Sélectionner la dernière recherche
+ Ne pas afficher la dernière recherche
+ Résultats maximums à afficher
+ Ignore les raccourcis lorsqu'une application est en plein écran
+ Mettre à jour automatiquement
+ Cacher Wox au démarrage
+
+
+ Modules
+ Trouver plus de modules
+ Désactivé
+ Mot-clé d'action :
+ Répertoire
+ Auteur
+ Chargement : {0}ms
+ Utilisation : {0}ms
+
+
+ Thèmes
+ Trouver plus de thèmes
+ Hello Wox
+ Police (barre de recherche)
+ Police (liste des résultats)
+ Mode fenêtré
+ Opacité
+
+
+ Raccourcis
+ Ouvrir Wox
+ Requêtes personnalisées
+ Supprimer
+ Modifier
+ Ajouter
+ Veuillez sélectionner un élément
+ Voulez-vous vraiment supprimer {0} raccourci(s) ?
+
+
+ Proxy HTTP
+ Activer le HTTP proxy
+ Serveur HTTP
+ Port
+ Utilisateur
+ Mot de passe
+ Tester
+ Sauvegarder
+ Un serveur doit être indiqué
+ Un port doit être indiqué
+ Format du port invalide
+ Proxy sauvegardé avec succès
+ Le proxy est valide
+ Connexion au proxy échouée
+
+
+ À propos
+ Site web
+ Version
+ Vous avez utilisé Wox {0} fois
+ Vérifier les mises à jour
+ Nouvelle version {0} disponible, veuillez redémarrer Wox
+ Échec de la vérification de la mise à jour, vérifiez votre connexion et vos paramètres de configuration proxy pour pouvoir acceder à api.github.com.
+ Échec du téléchargement de la mise à jour, vérifiez votre connexion et vos paramètres de configuration proxy pour pouvoir acceder à github-cloud.s3.amazonaws.com, ou téléchargez manuelement la mise à jour sur https://github.com/Wox-launcher/Wox/releases.
+ Notes de changement :
+
+
+ Ancien mot-clé d'action
+ Nouveau mot-clé d'action
+ Annuler
+ Terminé
+ Impossible de trouver le module spécifié
+ Le nouveau mot-clé d'action doit être spécifié
+ Le nouveau mot-clé d'action a été assigné à un autre module, veuillez en choisir un autre
+ Ajouté
+ Saisissez * si vous ne souhaitez pas utiliser de mot-clé spécifique
+
+
+ Prévisualiser
+ Raccourci indisponible. Veuillez en choisir un autre.
+ Raccourci invalide
+ Actualiser
+
+
+ Raccourci indisponible
+
+
+ Version
+ Heure
+ Veuillez nous indiquer comment l'application a planté afin que nous puissions le corriger
+ Envoyer le rapport
+ Annuler
+ Général
+ Exceptions
+ Type d'exception
+ Source
+ Trace d'appel
+ Envoi en cours
+ Signalement envoyé
+ Échec de l'envoi du signalement
+ Wox a rencontré une erreur
+
+
+ Version v{0} de Wox disponible
+ Une erreur s'est produite lors de l'installation de la mise à jour
+ Mettre à jour
+ Annuler
+ Wox doit redémarrer pour installer cette mise à jour
+ Les fichiers suivants seront mis à jour
+ Fichiers mis à jour
+ Description de la mise à jour
+
+
diff --git a/src/modules/launcher/PowerLauncher/Languages/it.xaml b/src/modules/launcher/PowerLauncher/Languages/it.xaml
new file mode 100644
index 0000000000..a3a826d6a5
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Languages/it.xaml
@@ -0,0 +1,139 @@
+
+
+ Impossibile salvare il tasto di scelta rapida: {0}
+ Avvio fallito {0}
+ Formato file plugin non valido
+ Risultato prioritario con questa query
+ Rimuovi risultato prioritario con questa query
+ Query d'esecuzione: {0}
+ Ultima esecuzione: {0}
+ Apri
+ Impostazioni
+ About
+ Esci
+
+
+ Impostaizoni Wox
+ Generale
+ Avvia Wow all'avvio di Windows
+ Nascondi Wox quando perde il focus
+ Non mostrare le notifiche per una nuova versione
+ Ricorda l'ultima posizione di avvio del launcher
+ Lingua
+ Comportamento ultima ricerca
+ Conserva ultima ricerca
+ Seleziona ultima ricerca
+ Cancella ultima ricerca
+ Numero massimo di risultati mostrati
+ Ignora i tasti di scelta rapida in applicazione a schermo pieno
+ Aggiornamento automatico
+ Nascondi Wox all'avvio
+
+
+ Plugin
+ Cerca altri plugins
+ Disabilita
+ Parole chiave
+ Cartella Plugin
+ Autore
+ Tempo di avvio: {0}ms
+ Tempo ricerca: {0}ms
+
+
+ Tema
+ Sfoglia per altri temi
+ Hello Wox
+ Font campo di ricerca
+ Font campo risultati
+ Modalità finestra
+ Opacità
+
+
+ Tasti scelta rapida
+ Tasto scelta rapida Wox
+ Tasti scelta rapida per ricerche personalizzate
+ Cancella
+ Modifica
+ Aggiungi
+ Selezionare un oggetto
+ Volete cancellare il tasto di scelta rapida per il plugin {0}?
+
+
+ Proxy HTTP
+ Abilita Proxy HTTP
+ Server HTTP
+ Porta
+ User Name
+ Password
+ Proxy Test
+ Salva
+ Il campo Server non può essere vuoto
+ Il campo Porta non può essere vuoto
+ Formato Porta non valido
+ Configurazione Proxy salvata correttamente
+ Proxy Configurato correttamente
+ Connessione Proxy fallita
+
+
+ About
+ Sito web
+ Versione
+ Hai usato Wox {0} volte
+ Cerca aggiornamenti
+ Una nuova versione {0} è disponibile, riavvia Wox per favore.
+ Ricerca aggiornamenti fallita, per favore controlla la tua connessione e le eventuali impostazioni proxy per api.github.com.
+
+ Download degli aggiornamenti fallito, per favore controlla la tua connessione ed eventuali impostazioni proxy per github-cloud.s3.amazonaws.com,
+ oppure vai su https://github.com/Wox-launcher/Wox/releases per scaricare gli aggiornamenti manualmente.
+
+ Note di rilascio:
+
+
+ Vecchia parola chiave d'azione
+ Nuova parola chiave d'azione
+ Annulla
+ Conferma
+ Impossibile trovare il plugin specificato
+ La nuova parola chiave d'azione non può essere vuota
+ La nuova parola chiave d'azione è stata assegnata ad un altro plugin, per favore sceglierne una differente
+ Successo
+ Usa * se non vuoi specificare una parola chiave d'azione
+
+
+ Anteprima
+ Tasto di scelta rapida non disponibile, per favore scegli un nuovo tasto di scelta rapida
+ Tasto di scelta rapida plugin non valido
+ Aggiorna
+
+
+ Tasto di scelta rapida non disponibile
+
+
+ Versione
+ Tempo
+ Per favore raccontaci come l'applicazione si è chiusa inaspettatamente così che possimo risolvere il problema
+ Invia rapporto
+ Annulla
+ Generale
+ Eccezioni
+ Tipo di eccezione
+ Risorsa
+ Traccia dello stack
+ Invio in corso
+ Rapporto inviato correttamente
+ Invio rapporto fallito
+ Wox ha riportato un errore
+
+
+ E' disponibile la nuova release {0} di Wox
+ Errore durante l'installazione degli aggiornamenti software
+ Aggiorna
+ Annulla
+ Questo aggiornamento riavvierà Wox
+ I seguenti file saranno aggiornati
+ File aggiornati
+ Descrizione aggiornamento
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Languages/ja.xaml b/src/modules/launcher/PowerLauncher/Languages/ja.xaml
new file mode 100644
index 0000000000..598a162bdb
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Languages/ja.xaml
@@ -0,0 +1,142 @@
+
+
+ ホットキー「{0}」の登録に失敗しました
+ {0}の起動に失敗しました
+ Woxプラグインの形式が正しくありません
+ このクエリを最上位にセットする
+ このクエリを最上位にセットをキャンセル
+ 次のコマンドを実行します:{0}
+ 最終実行時間:{0}
+ 開く
+ 設定
+ Woxについて
+ 終了
+
+
+ Wox設定
+ 一般
+ スタートアップ時にWoxを起動する
+ フォーカスを失った時にWoxを隠す
+ 最新版が入手可能であっても、アップグレードメッセージを表示しない
+ 前回のランチャーの位置を記憶
+ 言語
+ 前回のクエリの扱い
+ 前回のクエリを保存
+ 前回のクエリを選択
+ 前回のクエリを消去
+ 結果の最大表示件数
+ ウィンドウがフルスクリーン時にホットキーを無効にする
+ 自動更新
+ 起動時にWoxを隠す
+ トレイアイコンを隠す
+
+
+ プラグイン
+ プラグインを探す
+ 無効
+ キーワード
+ プラグイン・ディレクトリ
+ 作者
+ 初期化時間: {0}ms
+ クエリ時間: {0}ms
+
+
+ テーマ
+ テーマを探す
+ こんにちは Wox
+ 検索ボックスのフォント
+ 検索結果一覧のフォント
+ ウィンドウモード
+ 透過度
+ テーマ {0} が存在しません、デフォルトのテーマに戻します。
+ テーマ {0} を読み込めません、デフォルトのテーマに戻します。
+
+
+ ホットキー
+ Wox ホットキー
+ カスタムクエリ ホットキー
+ 削除
+ 編集
+ 追加
+ 項目選択してください
+ {0} プラグインのホットキーを本当に削除しますか?
+
+
+ HTTP プロキシ
+ HTTP プロキシを有効化
+ HTTP サーバ
+ ポート
+ ユーザ名
+ パスワード
+ プロキシをテストする
+ 保存
+ サーバーは空白にできません
+ ポートは空白にできません
+ ポートの形式が正しくありません
+ プロキシの保存に成功しました
+ プロキシは正しいです
+ プロキシ接続に失敗しました
+
+
+ Woxについて
+ ウェブサイト
+ バージョン
+ あなたはWoxを {0} 回利用しました
+ アップデートを確認する
+ 新しいバージョン {0} が利用可能です。Woxを再起動してください。
+ アップデートの確認に失敗しました、api.github.com への接続とプロキシ設定を確認してください。
+
+ 更新のダウンロードに失敗しました、github-cloud.s3.amazonaws.com への接続とプロキシ設定を確認するか、
+ https://github.com/Wox-launcher/Wox/releases から手動でアップデートをダウンロードしてください。
+
+ リリースノート:
+
+
+ 古いアクションキーボード
+ 新しいアクションキーボード
+ キャンセル
+ 完了
+ プラグインが見つかりません
+ 新しいアクションキーボードを空にすることはできません
+ 新しいアクションキーボードは他のプラグインに割り当てられています。他のアクションキーボードを指定してください
+ 成功しました
+ アクションキーボードを指定しない場合、* を使用してください
+
+
+ プレビュー
+ ホットキーは使用できません。新しいホットキーを選択してください
+ プラグインホットキーは無効です
+ 更新
+
+
+ ホットキーは使用できません
+
+
+ バージョン
+ 時間
+ アプリケーションが突然終了した手順を私たちに教えてくださると、バグ修正ができます
+ クラッシュレポートを送信
+ キャンセル
+ 一般
+ 例外
+ 例外の種類
+ ソース
+ スタックトレース
+ 送信中
+ クラッシュレポートの送信に成功しました
+ クラッシュレポートの送信に失敗しました
+ Woxにエラーが発生しました
+
+
+ Wox の最新バージョン V{0} が入手可能です
+ Woxのアップデート中にエラーが発生しました
+ アップデート
+ キャンセル
+ このアップデートでは、Woxの再起動が必要です
+ 次のファイルがアップデートされます
+ 更新ファイル一覧
+ アップデートの詳細
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Languages/ko.xaml b/src/modules/launcher/PowerLauncher/Languages/ko.xaml
new file mode 100644
index 0000000000..28277da284
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Languages/ko.xaml
@@ -0,0 +1,134 @@
+
+
+ 핫키 등록 실패: {0}
+ {0}을 실행할 수 없습니다.
+ Wox 플러그인 파일 형식이 유효하지 않습니다.
+ 이 쿼리의 최상위로 설정
+ 이 쿼리의 최상위 설정 취소
+ 쿼리 실행: {0}
+ 마지막 실행 시간: {0}
+ 열기
+ 설정
+ 정보
+ 종료
+
+
+ Wox 설정
+ 일반
+ 시스템 시작 시 Wox 실행
+ 포커스 잃으면 Wox 숨김
+ 새 버전 알림 끄기
+ 마지막 실행 위치 기억
+ 언어
+ 마지막 쿼리 스타일
+ 직전 쿼리에 계속 입력
+ 직전 쿼리 내용 선택
+ 직전 쿼리 지우기
+ 표시할 결과 수
+ 전체화면 모드에서는 핫키 무시
+ 자동 업데이트
+ 시작 시 Wox 숨김
+
+
+ 플러그인
+ 플러그인 더 찾아보기
+ 비활성화
+ 액션 키워드
+ 플러그인 디렉토리
+ 저자
+ 초기화 시간: {0}ms
+ 쿼리 시간: {0}ms
+
+
+ 테마
+ 테마 더 찾아보기
+ Hello Wox
+ 쿼리 상자 글꼴
+ 결과 항목 글꼴
+ 윈도우 모드
+ 투명도
+
+
+ 핫키
+ Wox 핫키
+ 사용자지정 쿼리 핫키
+ 삭제
+ 편집
+ 추가
+ 항목을 선택하세요.
+ {0} 플러그인 핫키를 삭제하시겠습니까?
+
+
+ HTTP 프록시
+ HTTP 프록시 켜기
+ HTTP 서버
+ 포트
+ 사용자명
+ 패스워드
+ 프록시 테스트
+ 저장
+ 서버를 입력하세요.
+ 포트를 입력하세요.
+ 유효하지 않은 포트 형식
+ 프록시 설정이 저장되었습니다.
+ 프록시 설정 정상
+ 프록시 연결 실패
+
+
+ 정보
+ 웹사이트
+ 버전
+ Wox를 {0}번 실행했습니다.
+ 업데이트 확인
+ 새 버전({0})이 있습니다. Wox를 재시작하세요.
+ 릴리즈 노트:
+
+
+ 예전 액션 키워드
+ 새 액션 키워드
+ 취소
+ 완료
+ 플러그인을 찾을 수 없습니다.
+ 새 액션 키워드를 입력하세요.
+ 새 액션 키워드가 할당된 플러그인이 이미 있습니다. 다른 액션 키워드를 입력하세요.
+ 성공
+ 액션 키워드를 지정하지 않으려면 *를 사용하세요.
+
+
+ 미리보기
+ 핫키를 사용할 수 없습니다. 다른 핫키를 입력하세요.
+ 플러그인 핫키가 유효하지 않습니다.
+ 업데이트
+
+
+ 핫키를 사용할 수 없습니다.
+
+
+ 버전
+ 시간
+ 수정을 위해 애플리케이션이 어떻게 충돌했는지 알려주세요.
+ 보고서 보내기
+ 취소
+ 일반
+ 예외
+ 예외 유형
+ 소스
+ 스택 추적
+ 보내는 중
+ 보고서를 정상적으로 보냈습니다.
+ 보고서를 보내지 못했습니다.
+ Wox에 문제가 발생했습니다.
+
+
+ 새 Wox 버전({0})을 사용할 수 있습니다.
+ 소프트웨어 업데이트를 설치하는 중에 오류가 발생했습니다.
+ 업데이트
+ 취소
+ 업데이트를 위해 Wox를 재시작합니다.
+ 아래 파일들이 업데이트됩니다.
+ 업데이트 파일
+ 업데이트 설명
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Languages/nb-NO.xaml b/src/modules/launcher/PowerLauncher/Languages/nb-NO.xaml
new file mode 100644
index 0000000000..b5dcbdd910
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Languages/nb-NO.xaml
@@ -0,0 +1,139 @@
+
+
+ Kunne ikke registrere hurtigtast: {0}
+ Kunne ikke starte {0}
+ Ugyldig filformat for Wox-utvidelse
+ Sett til øverste for denne spørringen
+ Avbryt øverste for denne spørringen
+ Utfør spørring: {0}
+ Tid for siste gjennomføring: {0}
+ Åpne
+ Innstillinger
+ Om
+ Avslutt
+
+
+ Wox-innstillinger
+ Generelt
+ Start Wox ved systemstart
+ Skjul Wox ved mistet fokus
+ Ikke vis varsel om ny versjon
+ Husk siste plassering
+ Språk
+ Stil for siste spørring
+ Bevar siste spørring
+ Velg siste spørring
+ Tøm siste spørring
+ Maks antall resultater vist
+ Ignorer hurtigtaster i fullskjermsmodus
+ Oppdater automatisk
+ Skjul Wox ved oppstart
+
+
+ Utvidelse
+ Finn flere utvidelser
+ Deaktiver
+ Handlingsnøkkelord
+ Utvidelseskatalog
+ Forfatter
+ Oppstartstid: {0}ms
+ Spørringstid: {0}ms
+
+
+ Tema
+ Finn flere temaer
+ Hallo Wox
+ Font for spørringsboks
+ Font for resultat
+ Vindusmodus
+ Gjennomsiktighet
+
+
+ Hurtigtast
+ Wox-hurtigtast
+ Egendefinerd spørringshurtigtast
+ Slett
+ Rediger
+ Legg til
+ Vennligst velg et element
+ Er du sikker på at du vil slette utvidelserhurtigtasten for {0}?
+
+
+ HTTP-proxy
+ Aktiver HTTP-proxy
+ HTTP-server
+ Port
+ Brukernavn
+ Passord
+ Test proxy
+ Lagre
+ Serverfeltet kan ikke være tomt
+ Portfelter kan ikke være tomt
+ Ugyldig portformat
+ Proxy-konfigurasjon lagret med suksess
+ Proxy konfigurert riktig
+ Proxy-tilkobling feilet
+
+
+ Om
+ Netside
+ Versjon
+ Du har aktivert Wox {0} ganger
+ Sjekk for oppdatering
+ Ny versjon {0} er tilgjengelig, vennligst start Wox på nytt.
+ Oppdateringssjekk feilet, vennligst sjekk tilkoblingen og proxy-innstillene for api.github.com.
+
+ Nedlastning av oppdateringer feilet, vennligst sjekk tilkoblingen og proxy-innstillene for github-cloud.s3.amazonaws.com,
+ eller gå til https://github.com/Wox-launcher/Wox/releases for å laste ned oppdateringer manuelt.
+
+ Versjonsmerknader:
+
+
+ Gammelt handlingsnøkkelord
+ Nytt handlingsnøkkelord
+ Avbryt
+ Ferdig
+ Kan ikke finne den angitte utvidelsen
+ Nytt handlingsnøkkelord kan ikke være tomt
+ De nye handlingsnøkkelordene er tildelt en annen utvidelse, vennligst velg et annet nøkkelord
+ Vellykket
+ Bruk * hvis du ikke ønsker å angi et handlingsnøkkelord
+
+
+ Forhåndsvis
+ Hurtigtasten er ikke tilgjengelig, vennligst velg en ny hurtigtast
+ Ugyldig hurtigtast for utvidelse
+ Oppdater
+
+
+ Hurtigtast utilgjengelig
+
+
+ Versjon
+ Tid
+ Fortell oss hvordan programmet krasjet, så vi kan fikse det
+ Send rapport
+ Avbryt
+ Generelt
+ Unntak
+ Unntakstype
+ Kilde
+ Stack Trace
+ Sender
+ Rapport sendt med suksess
+ Kunne ikke sende rapport
+ Wox møtte på en feil
+
+
+ Versjon {0} av Wox er nå tilgjengelig
+ En feil oppstod under installasjon av programvareoppdateringer
+ Oppdater
+ Avbryt
+ Denne opgraderingen vil starte Wox på nytt
+ Følgende filer vil bli oppdatert
+ Oppdateringsfiler
+ Oppdateringsbeskrivelse
+
+
diff --git a/src/modules/launcher/PowerLauncher/Languages/nl.xaml b/src/modules/launcher/PowerLauncher/Languages/nl.xaml
new file mode 100644
index 0000000000..73aa621093
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Languages/nl.xaml
@@ -0,0 +1,130 @@
+
+
+ Sneltoets registratie: {0} mislukt
+ Kan {0} niet starten
+ Ongeldige Wox plugin bestandsextensie
+ Stel in als hoogste in deze query
+ Annuleer hoogste in deze query
+ Executeer query: {0}
+ Laatste executie tijd: {0}
+ Open
+ Instellingen
+ About
+ Afsluiten
+
+
+ Wox Instellingen
+ Algemeen
+ Start Wox als systeem opstart
+ Verberg Wox als focus verloren is
+ Laat geen nieuwe versie notificaties zien
+ Herinner laatste opstart locatie
+ Taal
+ Laat maximale resultaten zien
+ Negeer sneltoetsen in fullscreen mode
+ Automatische Update
+ Verberg Wox als systeem opstart
+
+
+ Plugin
+ Zoek meer plugins
+ Disable
+ Action terfwoorden
+ Plugin map
+ Auteur
+ Init tijd: {0}ms
+ Query tijd: {0}ms
+
+
+ Thema
+ Zoek meer thema´s
+ Hallo Wox
+ Query Box lettertype
+ Resultaat Item lettertype
+ Window Mode
+ Ondoorzichtigheid
+
+
+ Sneltoets
+ Wox Sneltoets
+ Custom Query Sneltoets
+ Verwijder
+ Bewerken
+ Toevoegen
+ Selecteer een item
+ Weet u zeker dat je {0} plugin sneltoets wilt verwijderen?
+
+
+ HTTP Proxy
+ Enable HTTP Proxy
+ HTTP Server
+ Poort
+ Gebruikersnaam
+ Wachtwoord
+ Test Proxy
+ Opslaan
+ Server moet ingevuld worden
+ Poort moet ingevuld worden
+ Ongeldige poort formaat
+ Proxy succesvol opgeslagen
+ Proxy correct geconfigureerd
+ Proxy connectie mislukt
+
+
+ Over
+ Website
+ Versie
+ U heeft Wox {0} keer opgestart
+ Zoek naar Updates
+ Nieuwe versie {0} beschikbaar, start Wox opnieuw op
+ Release Notes:
+
+
+ Oude actie sneltoets
+ Nieuwe actie sneltoets
+ Annuleer
+ Klaar
+ Kan plugin niet vinden
+ Nieuwe actie sneltoets moet ingevuld worden
+ Nieuwe actie sneltoets is toegewezen aan een andere plugin, wijs een nieuwe actie sneltoets aan
+ Succesvol
+ Gebruik * wanneer je geen nieuwe actie sneltoets wilt specificeren
+
+
+ Voorbeeld
+ Sneltoets is niet beschikbaar, selecteer een nieuwe sneltoets
+ Ongeldige plugin sneltoets
+ Update
+
+
+ Sneltoets niet beschikbaar
+
+
+ Versie
+ Tijd
+ Vertel ons hoe de applicatie is gecrashed, zodat wij de applicatie kunnen verbeteren
+ Verstuur Rapport
+ Annuleer
+ Algemeen
+ Uitzonderingen
+ Uitzondering Type
+ Bron
+ Stack Opzoeken
+ Versturen
+ Rapport succesvol
+ Rapport mislukt
+ Wox heeft een error
+
+
+ Nieuwe Wox release {0} nu beschikbaar
+ Een error is voorgekomen tijdens het installeren van de update
+ Update
+ Annuleer
+ Deze upgrade zal Wox opnieuw opstarten
+ Volgende bestanden zullen worden geüpdatet
+ Update bestanden
+ Update beschrijving
+
+
diff --git a/src/modules/launcher/PowerLauncher/Languages/pl.xaml b/src/modules/launcher/PowerLauncher/Languages/pl.xaml
new file mode 100644
index 0000000000..b7aa238b95
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Languages/pl.xaml
@@ -0,0 +1,130 @@
+
+
+ Nie udało się ustawić skrótu klawiszowego: {0}
+ Nie udało się uruchomić: {0}
+ Niepoprawny format pliku wtyczki
+ Ustaw jako najwyższy wynik dla tego zapytania
+ Usuń ten najwyższy wynik dla tego zapytania
+ Wyszukaj: {0}
+ Ostatni czas wykonywania: {0}
+ Otwórz
+ Ustawienia
+ O programie
+ Wyjdź
+
+
+ Ustawienia Wox
+ Ogólne
+ Uruchamiaj Wox przy starcie systemu
+ Ukryj okno Wox kiedy przestanie ono być aktywne
+ Nie pokazuj powiadomienia o nowej wersji
+ Zapamiętaj ostatnią pozycję okna
+ Język
+ Maksymalna liczba wyników
+ Ignoruj skróty klawiszowe w trybie pełnego ekranu
+ Automatyczne aktualizacje
+ Uruchamiaj Wox zminimalizowany
+
+
+ Wtyczki
+ Znajdź więcej wtyczek
+ Wyłącz
+ Wyzwalacze
+ Folder wtyczki
+ Autor
+ Czas ładowania: {0}ms
+ Czas zapytania: {0}ms
+
+
+ Skórka
+ Znajdź więcej skórek
+ Witaj Wox
+ Czcionka okna zapytania
+ Czcionka okna wyników
+ Tryb w oknie
+ Przeźroczystość
+
+
+ Skrót klawiszowy
+ Skrót klawiszowy Wox
+ Skrót klawiszowy niestandardowych zapytań
+ Usuń
+ Edytuj
+ Dodaj
+ Musisz coś wybrać
+ Czy jesteś pewien że chcesz usunąć skrót klawiszowy {0} wtyczki?
+
+
+ Serwer proxy HTTP
+ Używaj HTTP proxy
+ HTTP Serwer
+ Port
+ Nazwa użytkownika
+ Hasło
+ Sprawdź proxy
+ Zapisz
+ Nazwa serwera nie może być pusta
+ Numer portu nie może być pusty
+ Nieprawidłowy format numeru portu
+ Ustawienia proxy zostały zapisane
+ Proxy zostało skonfigurowane poprawnie
+ Nie udało się połączyć z serwerem proxy
+
+
+ O programie
+ Strona internetowa
+ Wersja
+ Uaktywniłeś Wox {0} razy
+ Szukaj aktualizacji
+ Nowa wersja {0} jest dostępna, uruchom ponownie Wox
+ Zmiany:
+
+
+ Stary wyzwalacz
+ Nowy wyzwalacz
+ Anuluj
+ Zapisz
+ Nie można odnaleźć podanej wtyczki
+ Nowy wyzwalacz nie może być pusty
+ Ten wyzwalacz został już przypisany do innej wtyczki, musisz podać inny wyzwalacz.
+ Sukces
+ Użyj * jeżeli nie chcesz podawać wyzwalacza
+
+
+ Podgląd
+ Skrót klawiszowy jest niedostępny, musisz podać inny skrót klawiszowy
+ Niepoprawny skrót klawiszowy
+ Aktualizuj
+
+
+ Niepoprawny skrót klawiszowy
+
+
+ Wersja
+ Czas
+ Proszę powiedz nam co się stało zanim wystąpił błąd dzięki czemu będziemy mogli go naprawić (tylko po angielsku)
+ Wyślij raport błędu
+ Anuluj
+ Ogólne
+ Wyjątki
+ Typ wyjątku
+ Źródło
+ Stos wywołań
+ Wysyłam raport...
+ Raport wysłany pomyślnie
+ Nie udało się wysłać raportu
+ W programie Wox wystąpił błąd
+
+
+ Nowa wersja Wox {0} jest dostępna
+ Wystąpił błąd podczas instalowania aktualizacji programu
+ Aktualizuj
+ Anuluj
+ Aby dokończyć proces aktualizacji Wox musi zostać zresetowany
+ Następujące pliki zostaną zaktualizowane
+ Aktualizuj pliki
+ Opis aktualizacji
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Languages/pt-br.xaml b/src/modules/launcher/PowerLauncher/Languages/pt-br.xaml
new file mode 100644
index 0000000000..6e0b5f2072
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Languages/pt-br.xaml
@@ -0,0 +1,139 @@
+
+
+ Falha ao registrar atalho: {0}
+ Não foi possível iniciar {0}
+ Formato de plugin Wox inválido
+ Tornar a principal nessa consulta
+ Cancelar a principal nessa consulta
+ Executar consulta: {0}
+ Última execução: {0}
+ Abrir
+ Configurações
+ Sobre
+ Sair
+
+
+ Configurações do Wox
+ Geral
+ Iniciar Wox com inicialização do sistema
+ Esconder Wox quando foco for perdido
+ Não mostrar notificações de novas versões
+ Lembrar última localização de lançamento
+ Idioma
+ Estilo da Última Consulta
+ Preservar Última Consulta
+ Selecionar última consulta
+ Limpar última consulta
+ Máximo de resultados mostrados
+ Ignorar atalhos em tela cheia
+ Atualizar Automaticamente
+ Esconder Wox na inicialização
+
+
+ Plugin
+ Encontrar mais plugins
+ Desabilitar
+ Palavras-chave de ação
+ Diretório de Plugins
+ Autor
+ Tempo de inicialização: {0}ms
+ Tempo de consulta: {0}ms
+
+
+ Tema
+ Ver mais temas
+ Olá Wox
+ Fonte da caixa de Consulta
+ Fonte do Resultado
+ Modo Janela
+ Opacidade
+
+
+ Atalho
+ Atalho do Wox
+ Atalho de Consulta Personalizada
+ Apagar
+ Editar
+ Adicionar
+ Por favor selecione um item
+ Tem cereza de que deseja deletar o atalho {0} do plugin?
+
+
+ Proxy HTTP
+ Habilitar Proxy HTTP
+ Servidor HTTP
+ Porta
+ Usuário
+ Senha
+ Testar Proxy
+ Salvar
+ O campo de servidor não pode ser vazio
+ O campo de porta não pode ser vazio
+ Formato de porta inválido
+ Configuração de proxy salva com sucesso
+ Proxy configurado corretamente
+ Conexão por proxy falhou
+
+
+ Sobre
+ Website
+ Versão
+ Você ativou o Wox {0} vezes
+ Procurar atualizações
+ A nova versão {0} está disponível, por favor reinicie o Wox.
+ Falha ao procurar atualizações, confira sua conexão e configuração de proxy para api.github.com.
+
+ Falha ao baixar atualizações, confira sua conexão e configuração de proxy para github-cloud.s3.amazonaws.com,
+ ou acesse https://github.com/Wox-launcher/Wox/releases para baixar manualmente.
+
+ Notas de Versão:
+
+
+ Antiga palavra-chave da ação
+ Nova palavra-chave da ação
+ Cancelar
+ Finalizado
+ Não foi possível encontrar o plugin especificado
+ A nova palavra-chave da ação não pode ser vazia
+ A nova palavra-chave da ação já foi atribuída a outro plugin, por favor tente outra
+ Sucesso
+ Use * se não quiser especificar uma palavra-chave de ação
+
+
+ Prévia
+ Atalho indisponível, escolha outro
+ Atalho de plugin inválido
+ Atualizar
+
+
+ Atalho indisponível
+
+
+ Versão
+ Horário
+ Por favor, conte como a aplicação parou de funcionar para que possamos consertar
+ Enviar Relatório
+ Cancelar
+ Geral
+ Exceções
+ Tipo de Exceção
+ Fonte
+ Rastreamento de pilha
+ Enviando
+ Relatório enviado com sucesso
+ Falha ao enviar relatório
+ Wox apresentou um erro
+
+
+ A nova versão {0} do Wox agora está disponível
+ Ocorreu um erro ao tentar instalar atualizações do progama
+ Atualizar
+ Cancelar
+ Essa atualização reiniciará o Wox
+ Os seguintes arquivos serão atualizados
+ Atualizar arquivos
+ Atualizar descrição
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Languages/ru.xaml b/src/modules/launcher/PowerLauncher/Languages/ru.xaml
new file mode 100644
index 0000000000..f80c3ed1fa
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Languages/ru.xaml
@@ -0,0 +1,130 @@
+
+
+ Регистрация хоткея {0} не удалась
+ Не удалось запустить {0}
+ Неверный формат файла wox плагина
+ Отображать это окно выше всех при этом запросе
+ Не отображать это окно выше всех при этом запросе
+ Выполнить запрос:{0}
+ Последний раз выполнен в:{0}
+ Открыть
+ Настройки
+ О Wox
+ Закрыть
+
+
+ Настройки Wox
+ Общие
+ Запускать Wox при запуске системы
+ Скрывать Wox если потерян фокус
+ Не отображать сообщение об обновлении когда доступна новая версия
+ Запомнить последнее место запуска
+ Язык
+ Максимальное количество результатов
+ Игнорировать горячие клавиши, если окно в полноэкранном режиме
+ Auto Update
+ Hide Wox on startup
+
+
+ Плагины
+ Найти больше плагинов
+ Отключить
+ Ключевое слово
+ Папка
+ Автор
+ Инициализация: {0}ms
+ Запрос: {0}ms
+
+
+ Темы
+ Найти больше тем
+ Привет Wox
+ Шрифт запросов
+ Шрифт результатов
+ Оконный режим
+ Прозрачность
+
+
+ Горячие клавиши
+ Горячая клавиша Wox
+ Задаваемые горячие клавиши для запросов
+ Удалить
+ Изменить
+ Добавить
+ Сначала выберите элемент
+ Вы уверены что хотите удалить горячую клавишу для плагина {0}?
+
+
+ HTTP Прокси
+ Включить HTTP прокси
+ HTTP Сервер
+ Порт
+ Логин
+ Пароль
+ Проверить
+ Сохранить
+ Необходимо задать сервер
+ Необходимо задать порт
+ Неверный формат порта
+ Прокси успешно сохранён
+ Прокси сервер задан правильно
+ Подключение к прокси серверу не удалось
+
+
+ О Wox
+ Сайт
+ Версия
+ Вы воспользовались Wox уже {0} раз
+ Check for Updates
+ New version {0} avaiable, please restart wox
+ Release Notes:
+
+
+ Текущая горячая клавиша
+ Новая горячая клавиша
+ Отменить
+ Подтвердить
+ Не удалось найти заданный плагин
+ Новая горячая клавиша не может быть пустой
+ Новая горячая клавиша уже используется другим плагином. Пожалуйста, задайте новую
+ Сохранено
+ Используйте * в случае, если вы не хотите задавать конкретную горячую клавишу
+
+
+ Проверить
+ Горячая клавиша недоступна. Пожалуйста, задайте новую
+ Недействительная горячая клавиша плагина
+ Изменить
+
+
+ Горячая клавиша недоступна
+
+
+ Версия
+ Время
+ Пожалуйста, сообщите что произошло когда произошёл сбой в приложении, чтобы мы могли его исправить
+ Отправить отчёт
+ Отмена
+ Общие
+ Исключения
+ Тип исключения
+ Источник
+ Трессировка стека
+ Отправляем
+ Отчёт успешно отправлен
+ Не удалось отправить отчёт
+ Произошёл сбой в Wox
+
+
+ Доступна новая версия Wox V{0}
+ Произошла ошибка при попытке установить обновление
+ Обновить
+ Отмена
+ Это обновление перезапустит Wox
+ Следующие файлы будут обновлены
+ Обновить файлы
+ Описание обновления
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Languages/sk.xaml b/src/modules/launcher/PowerLauncher/Languages/sk.xaml
new file mode 100644
index 0000000000..15ee75ad6d
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Languages/sk.xaml
@@ -0,0 +1,140 @@
+
+
+ Nepodarilo sa registrovať klávesovú skratku {0}
+ Nepodarilo sa spustiť {0}
+ Neplatný formát súboru pre plugin Wox
+ Pri tomto dopyte umiestniť navrchu
+ Zrušiť umiestnenie navrchu pri tomto dopyte
+ Spustiť dopyt: {0}
+ Posledný čas realizácie: {0}
+ Otvoriť
+ Nastavenia
+ O aplikácii
+ Ukončiť
+
+
+ Nastavenia Wox
+ Všeobecné
+ Spustiť Wox po štarte systému
+ Schovať Wox po strate fokusu
+ Nezobrazovať upozornenia na novú verziu
+ Zapamätať si posledné umiestnenie
+ Jazyk
+ Posledný dopyt
+ Ponechať
+ Označiť posledný dopyt
+ Prázdne
+ Max. výsledkov
+ Ignorovať klávesové skraty v režime na celú obrazovku
+ Automatická aktualizácia
+ Schovať Wox po spustení
+ Schovať ikonu v oblasti oznámení
+
+
+ Plugin
+ Nájsť ďalšie pluginy
+ Zakázať
+ Skratka akcie
+ Priečinok s pluginmy
+ Autor
+ Čas inic.: {0}ms
+ Čas dopytu: {0}ms
+
+
+ Motív
+ Prehliadať viac motívov
+ Ahoj Wox
+ Písmo poľa pre dopyt
+ Písmo výsledkov
+ Režim okno
+ Nepriehľadnosť
+
+
+ Klávesová skratka
+ Klávesová skratka pre Wox
+ Vlastná klávesová skratka pre dopyt
+ Odstrániť
+ Upraviť
+ Pridať
+ Vyberte položku, prosím
+ Ste si istý, že chcete odstrániť klávesovú skratku {0} pre plugin?
+
+
+ HTTP Proxy
+ Povoliť HTTP Proxy
+ HTTP Server
+ Port
+ Používateľské meno
+ Heslo
+ Test Proxy
+ Uložiť
+ Pole Server nemôže byť prázdne
+ Pole Port nemôže byť prázdne
+ Neplatný formát portu
+ Nastavenie proxy úspešne uložené
+ Nastavenie proxy je v poriadku
+ Pripojenie proxy zlyhalo
+
+
+ O aplikácii
+ Webstránka
+ Verzia
+ Wox bol aktivovaný {0}-krát
+ Skontrolovať aktualizácie
+ Je dostupná nová verzia {0}, prosím, reštartujte Wox.
+ Kontrola aktualizácií zlyhala, prosím, skontrolujte pripojenie na internet a nastavenie proxy k api.github.com.
+
+ Sťahovanie aktualizácií zlyhalo, skontrolujte pripojenie na internet a nastavenie proxy k github-cloud.s3.amazonaws.com,
+ alebo prejdite na https://github.com/Wox-launcher/Wox/releases pre manuálne stiahnutie aktualizácií.
+
+ Poznámky k vydaniu:
+
+
+ Stará skratka akcie
+ Nová skratka akcie
+ Zrušiť
+ Hotovo
+ Nepodarilo sa nájsť zadaný plugin
+ Nová skratka pre akciu nemôže byť prázdna
+ Nová skratka pre akciu bola priradená pre iný plugin, prosím, zvoľte inú skratku
+ Úspešné
+ Použite * ak nechcete určiť skratku pre akciu
+
+
+ Náhľad
+ Klávesová skratka je nedostupná, prosím, zadajte novú
+ Neplatná klávesová skratka pluginu
+ Aktualizovať
+
+
+ Klávesová skratka nedostupná
+
+
+ Verzia
+ Čas
+ Prosím, napíšte nám, ako došlo k pádu aplikácie, aby sme to mohli opraviť
+ Odoslať hlásenie
+ Zrušiť
+ Všeobecné
+ Výnimky
+ Typ výnimky
+ Zdroj
+ Stack Trace
+ Odosiela sa
+ Hlásenie bolo úspešne odoslané
+ Odoslanie hlásenia zlyhalo
+ Wox zaznamenal chybu
+
+
+ Je dostupné nové vydanie Wox {0}
+ Počas inštalácie aktualizácií došlo k chybe
+ Aktualizovať
+ Zrušiť
+ Tento upgrade reštartuje Wox
+ Nasledujúce súbory budú aktualizované
+ Aktualizovať súbory
+ Aktualizovať popis
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Languages/sr.xaml b/src/modules/launcher/PowerLauncher/Languages/sr.xaml
new file mode 100644
index 0000000000..91d6ec6155
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Languages/sr.xaml
@@ -0,0 +1,139 @@
+
+
+ Neuspešno registrovana prečica: {0}
+ Neuspešno pokretanje {0}
+ Nepravilni Wox plugin format datoteke
+ Postavi kao najviši u ovom upitu
+ Poništi najviši u ovom upitu
+ Izvrši upit: {0}
+ Vreme poslednjeg izvršenja: {0}
+ Otvori
+ Podešavanja
+ O Wox-u
+ Izlaz
+
+
+ Wox Podešavanja
+ Opšte
+ Pokreni Wox pri podizanju sistema
+ Sakri Wox kada se izgubi fokus
+ Ne prikazuj obaveštenje o novoj verziji
+ Zapamti lokaciju poslednjeg pokretanja
+ Jezik
+ Stil Poslednjeg upita
+ Sačuvaj poslednji Upit
+ Selektuj poslednji Upit
+ Isprazni poslednji Upit
+ Maksimum prikazanih rezultata
+ Ignoriši prečice u fullscreen režimu
+ Auto ažuriranje
+ Sakrij Wox pri podizanju sistema
+
+
+ Plugin
+ Nađi još plugin-a
+ Onemogući
+ Ključne reči
+ Plugin direktorijum
+ Autor
+ Vreme inicijalizacije: {0}ms
+ Vreme upita: {0}ms
+
+
+ Tema
+ Pretražite još tema
+ Zdravo Wox
+ Font upita
+ Font rezultata
+ Režim prozora
+ Neprozirnost
+
+
+ Prečica
+ Wox prečica
+ prečica za ručno dodat upit
+ Obriši
+ Izmeni
+ Dodaj
+ Molim Vas izaberite stavku
+ Da li ste sigurni da želite da obrišete prečicu za {0} plugin?
+
+
+ HTTP proksi
+ Uključi HTTP proksi
+ HTTP Server
+ Port
+ Korisničko ime
+ Šifra
+ Test proksi
+ Sačuvaj
+ Polje za server ne može da bude prazno
+ Polje za port ne može da bude prazno
+ Nepravilan format porta
+ Podešavanja proksija uspešno sačuvana
+ Proksi uspešno podešen
+ Veza sa proksijem neuspešna
+
+
+ O Wox-u
+ Veb sajt
+ Verzija
+ Aktivirali ste Wox {0} puta
+ Proveri ažuriranja
+ Nove verzija {0} je dostupna, molim Vas ponovo pokrenite Wox.
+ Neuspešna provera ažuriranja, molim Vas proverite vašu vezu i podešavanja za proksi prema api.github.com.
+
+ Neuspešno preuzimanje ažuriranja, molim Vas proverite vašu vezu i podešavanja za proksi prema github-cloud.s3.amazonaws.com,
+ ili posetite https://github.com/Wox-launcher/Wox/releases da preuzmete ažuriranja ručno.
+
+ U novoj verziji:
+
+
+ Prečica za staru radnju
+ Prečica za novu radnju
+ Otkaži
+ Gotovo
+ Navedeni plugin nije moguće pronaći
+ Prečica za novu radnju ne može da bude prazna
+ Prečica za novu radnju je dodeljena drugom plugin-u, molim Vas dodelite drugu prečicu
+ Uspešno
+ Koristite * ako ne želite da navedete prečicu za radnju
+
+
+ Pregled
+ Prečica je nedustupna, molim Vas izaberite drugu prečicu
+ Nepravlna prečica za plugin
+ Ažuriraj
+
+
+ Prečica nedostupna
+
+
+ Verzija
+ Vreme
+ Molimo Vas recite nam kako je aplikacija prestala sa radom, da bi smo je ispravili
+ Pošalji izveštaj
+ Otkaži
+ Opšte
+ Izuzetak
+ Tipovi Izuzetaka
+ Izvor
+ Stack Trace
+ Slanje
+ Izveštaj uspešno poslat
+ Izveštaj neuspešno poslat
+ Wox je dobio grešku
+
+
+ Nova verzija Wox-a {0} je dostupna
+ Došlo je do greške prilokom instalacije ažuriranja
+ Ažuriraj
+ Otkaži
+ Ova nadogradnja će ponovo pokrenuti Wox
+ Sledeće datoteke će biti ažurirane
+ Ažuriraj datoteke
+ Opis ažuriranja
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Languages/tr.xaml b/src/modules/launcher/PowerLauncher/Languages/tr.xaml
new file mode 100644
index 0000000000..2690c79f10
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Languages/tr.xaml
@@ -0,0 +1,143 @@
+
+
+ Kısayol tuşu ataması başarısız oldu: {0}
+ {0} başlatılamıyor
+ Geçersiz Wox eklenti dosyası formatı
+ Bu sorgu için başa sabitle
+ Sabitlemeyi kaldır
+ Sorguyu çalıştır: {0}
+ Son çalıştırma zamanı: {0}
+ Aç
+ Ayarlar
+ Hakkında
+ Çıkış
+
+
+ Wox Ayarları
+ Genel
+ Wox'u başlangıçta başlat
+ Odak pencereden ayrıldığında Wox'u gizle
+ Güncelleme bildirimlerini gösterme
+ Pencere konumunu hatırla
+ Dil
+ Pencere açıldığında
+ Son sorguyu sakla
+ Son sorguyu sakla ve tümünü seç
+ Sorgu kutusunu temizle
+ Maksimum sonuç sayısı
+ Tam ekran modunda kısayol tuşunu gözardı et
+ Otomatik Güncelle
+ Başlangıçta Wox'u gizle
+ Sistem çekmecesi simgesini gizle
+ Sorgu Arama Hassasiyeti
+
+
+ Eklentiler
+ Daha fazla eklenti bul
+ Devre Dışı
+ Anahtar Kelimeler
+ Eklenti Klasörü
+ Yapımcı
+ Açılış Süresi: {0}ms
+ Sorgu Süresi: {0}ms
+
+
+ Temalar
+ Daha fazla tema bul
+ Merhaba Wox
+ Pencere Yazı Tipi
+ Sonuç Yazı Tipi
+ Pencere Modu
+ Saydamlık
+ {0} isimli tema bulunamadı, varsayılan temaya dönülüyor.
+ {0} isimli tema yüklenirken hata oluştu, varsayılan temaya dönülüyor.
+
+
+ Kısayol Tuşu
+ Wox Kısayolu
+ Özel Sorgu Kısayolları
+ Sil
+ Düzenle
+ Ekle
+ Lütfen bir öğe seçin
+ {0} eklentisi için olan kısayolu silmek istediğinize emin misiniz?
+
+
+ Vekil Sunucu
+ HTTP vekil sunucuyu etkinleştir.
+ Sunucu Adresi
+ Port
+ Kullanıcı Adı
+ Parola
+ Ayarları Sına
+ Kaydet
+ Sunucu adresi boş olamaz
+ Port boş olamaz
+ Port biçimi geçersiz
+ Vekil sunucu ayarları başarıyla kaydedildi
+ Vekil sunucu doğru olarak ayarlandı
+ Vekil sunucuya bağlanılırken hata oluştu
+
+
+ Hakkında
+ Web Sitesi
+ Sürüm
+ Şu ana kadar Wox'u {0} kez aktifleştirdiniz.
+ Güncellemeleri Kontrol Et
+ Uygulamanın yeni sürümü ({0}) mevcut, Lütfen Wox'u yeniden başlatın.
+ Güncelleme kontrolü başarısız oldu. Lütfen bağlantınız ve vekil sunucu ayarlarınızın api.github.com adresine ulaşabilir olduğunu kontrol edin.
+
+ Güncellemenin yüklenmesi başarısız oldu. Lütfen bağlantınız ve vekil sunucu ayarlarınızın github-cloud.s3.amazonaws.com
+ adresine ulaşabilir olduğunu kontrol edin ya da https://github.com/Wox-launcher/Wox/releases adresinden güncellemeyi elle indirin.
+
+ Sürüm Notları:
+
+
+ Eski Anahtar Kelime
+ Yeni Anahtar Kelime
+ İptal
+ Tamam
+ Belirtilen eklenti bulunamadı
+ Yeni anahtar kelime boş olamaz
+ Yeni anahtar kelime başka bir eklentiye atanmış durumda. Lütfen başka bir anahtar kelime seçin
+ Başarılı
+ Anahtar kelime belirlemek istemiyorsanız * kullanın
+
+
+ Önizleme
+ Kısayol tuşu kullanılabilir değil, lütfen başka bir kısayol tuşu seçin
+ Geçersiz eklenti kısayol tuşu
+ Güncelle
+
+
+ Kısayol tuşu kullanılabilir değil
+
+
+ Sürüm
+ Tarih
+ Sorunu çözebilmemiz için lütfen uygulamanın ne yaparken çöktüğünü belirtin.
+ Raporu Gönder
+ İptal
+ Genel
+ Özel Durumlar
+ Özel Durum Tipi
+ Kaynak
+ Yığın İzleme
+ Gönderiliyor
+ Hata raporu başarıyla gönderildi
+ Hata raporu gönderimi başarısız oldu
+ Wox'ta bir hata oluştu
+
+
+ Wox'un yeni bir sürümü ({0}) mevcut
+ Güncellemelerin kurulması sırasında bir hata oluştu
+ Güncelle
+ İptal
+ Bu güncelleme Wox'u yeniden başlatacaktır
+ Aşağıdaki dosyalar güncelleştirilecektir
+ Güncellenecek dosyalar
+ Güncelleme açıklaması
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Languages/uk-UA.xaml b/src/modules/launcher/PowerLauncher/Languages/uk-UA.xaml
new file mode 100644
index 0000000000..ccebeae7ee
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Languages/uk-UA.xaml
@@ -0,0 +1,130 @@
+
+
+ Реєстрація хоткея {0} не вдалася
+ Не вдалося запустити {0}
+ Невірний формат файлу плагіна Wox
+ Відображати першим при такому ж запиті
+ Відмінити відображення першим при такому ж запиті
+ Виконати запит: {0}
+ Час останнього використання: {0}
+ Відкрити
+ Налаштування
+ Про Wox
+ Закрити
+
+
+ Налаштування Wox
+ Основні
+ Запускати Wox при запуску системи
+ Сховати Wox якщо втрачено фокус
+ Не повідомляти про доступні нові версії
+ Запам'ятати останнє місце запуску
+ Мова
+ Максимальна кількість результатів
+ Ігнорувати гарячі клавіші в повноекранному режимі
+ Автоматичне оновлення
+ Сховати Wox при запуску системи
+
+
+ Плагіни
+ Знайти більше плагінів
+ Відключити
+ Ключове слово
+ Директорія плагіну
+ Автор
+ Ініціалізація: {0}ms
+ Запит: {0}ms
+
+
+ Теми
+ Знайти більше тем
+ Привіт Wox
+ Шрифт запитів
+ Шрифт результатів
+ Віконний режим
+ Прозорість
+
+
+ Гарячі клавіші
+ Гаряча клавіша Wox
+ Задані гарячі клавіші для запитів
+ Видалити
+ Змінити
+ Додати
+ Спочатку виберіть елемент
+ Ви впевнені, що хочете видалити гарячу клавішу ({0}) плагіну?
+
+
+ HTTP Proxy
+ Включити HTTP Proxy
+ HTTP Сервер
+ Порт
+ Логін
+ Пароль
+ Перевірити Proxy
+ Зберегти
+ Необхідно вказати "HTTP Сервер"
+ Необхідно вказати "Порт"
+ Невірний формат порту
+ Налаштування Proxy успішно збережено
+ Proxy успішно налаштований
+ Невдале підключення Proxy
+
+
+ Про Wox
+ Сайт
+ Версия
+ Ви скористалися Wox вже {0} разів
+ Перевірити наявність оновлень
+ Доступна нова версія {0}, будь ласка, перезавантажте Wox
+ Примітки до поточного релізу:
+
+
+ Поточна гаряча клавіша
+ Нова гаряча клавіша
+ Скасувати
+ Готово
+ Не вдалося знайти вказаний плагін
+ Нова гаряча клавіша не може бути порожньою
+ Нова гаряча клавіша вже використовується іншим плагіном. Будь ласка, вкажіть нову
+ Збережено
+ Використовуйте * у разі, якщо ви не хочете ставити конкретну гарячу клавішу
+
+
+ Перевірити
+ Гаряча клавіша недоступна. Будь ласка, вкажіть нову
+ Недійсна гаряча клавіша плагіна
+ Оновити
+
+
+ Гаряча клавіша недоступна
+
+
+ Версія
+ Час
+ Будь ласка, розкажіть нам, як додаток вийшов із ладу, щоб ми могли це виправити
+ Надіслати звіт
+ Скасувати
+ Основне
+ Винятки
+ Тип винятку
+ Джерело
+ Траса стеку
+ Відправити
+ Звіт успішно відправлено
+ Не вдалося відправити звіт
+ Стався збій в додатоку Wox
+
+
+ Доступна нова версія Wox V{0}
+ Сталася помилка під час спроби встановити оновлення
+ Оновити
+ Скасувати
+ Це оновлення перезавантажить Wox
+ Ці файли будуть оновлені
+ Оновити файли
+ Опис оновлення
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Languages/zh-cn.xaml b/src/modules/launcher/PowerLauncher/Languages/zh-cn.xaml
new file mode 100644
index 0000000000..48f5bc5aca
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Languages/zh-cn.xaml
@@ -0,0 +1,137 @@
+
+
+ 注册热键:{0} 失败
+ 启动命令 {0} 失败
+ 不是合法的Wox插件格式
+ 在当前查询中置顶
+ 取消置顶
+ 执行查询:{0}
+ 上次执行时间:{0}
+ 打开
+ 设置
+ 关于
+ 退出
+
+
+ Wox设置
+ 通用
+ 开机启动
+ 失去焦点时自动隐藏Wox
+ 不显示新版本提示
+ 记住上次启动位置
+ 语言
+ 上次搜索关键字模式
+ 保留上次搜索关键字
+ 全选上次搜索关键字
+ 清空上次搜索关键字
+ 最大结果显示个数
+ 全屏模式下忽略热键
+ 自动更新
+ 启动时不显示主窗口
+ 隐藏任务栏图标
+
+
+ 插件
+ 浏览更多插件
+ 禁用
+ 触发关键字
+ 插件目录
+ 作者
+ 加载耗时 {0}ms
+ 查询耗时 {0}ms
+
+
+ 主题
+ 浏览更多主题
+ 你好,Wox
+ 查询框字体
+ 结果项字体
+ 窗口模式
+ 透明度
+ 无法找到主题 {0} ,切换为默认主题
+ 无法加载主题 {0} ,切换为默认主题
+
+
+ 热键
+ Wox激活热键
+ 自定义查询热键
+ 删除
+ 编辑
+ 增加
+ 请选择一项
+ 你确定要删除插件 {0} 的热键吗?
+
+
+ HTTP 代理
+ 启用 HTTP 代理
+ HTTP 服务器
+ 端口
+ 用户名
+ 密码
+ 测试代理
+ 保存
+ 服务器不能为空
+ 端口不能为空
+ 非法的端口格式
+ 保存代理设置成功
+ 代理设置正确
+ 代理连接失败
+
+
+ 关于
+ 网站
+ 版本
+ 你已经激活了Wox {0} 次
+ 检查更新
+ 发现新版本 {0} , 请重启 wox。
+ 更新说明:
+
+
+ 旧触发关键字
+ 新触发关键字
+ 取消
+ 确定
+ 找不到指定的插件
+ 新触发关键字不能为空
+ 新触发关键字已经被指派给其他插件了,请重新选择一个关键字
+ 成功
+ 如果你不想设置触发关键字,可以使用*代替
+
+
+ 预览
+ 热键不可用,请选择一个新的热键
+ 插件热键不合法
+ 更新
+
+
+ 热键不可用
+
+
+ 版本
+ 时间
+ 请告诉我们如何重现此问题,以便我们进行修复
+ 发送报告
+ 取消
+ 基本信息
+ 异常信息
+ 异常类型
+ 异常源
+ 堆栈信息
+ 发送中
+ 发送成功
+ 发送失败
+ Wox出错啦
+
+
+ 发现Wox新版本 V{0}
+ 更新Wox出错
+ 更新
+ 取消
+ 此更新需要重启Wox
+ 下列文件会被更新
+ 更新文件
+ 更新日志
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Languages/zh-tw.xaml b/src/modules/launcher/PowerLauncher/Languages/zh-tw.xaml
new file mode 100644
index 0000000000..ef0270aa00
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Languages/zh-tw.xaml
@@ -0,0 +1,130 @@
+
+
+ 登錄快速鍵:{0} 失敗
+ 啟動命令 {0} 失敗
+ 無效的 Wox 外掛格式
+ 在目前查詢中置頂
+ 取消置頂
+ 執行查詢:{0}
+ 上次執行時間:{0}
+ 開啟
+ 設定
+ 關於
+ 結束
+
+
+ Wox 設定
+ 一般
+ 開機時啟動
+ 失去焦點時自動隱藏 Wox
+ 不顯示新版本提示
+ 記住上次啟動位置
+ 語言
+ 最大結果顯示個數
+ 全螢幕模式下忽略熱鍵
+ 自動更新
+ 啟動時不顯示主視窗
+
+
+ 外掛
+ 瀏覽更多外掛
+ 停用
+ 觸發關鍵字
+ 外掛資料夾
+ 作者
+ 載入耗時:{0}ms
+ 查詢耗時:{0}ms
+
+
+ 主題
+ 瀏覽更多主題
+ 你好,Wox
+ 查詢框字體
+ 結果項字體
+ 視窗模式
+ 透明度
+
+
+ 熱鍵
+ Wox 執行熱鍵
+ 自定義熱鍵查詢
+ 刪除
+ 編輯
+ 新增
+ 請選擇一項
+ 確定要刪除外掛 {0} 的熱鍵嗎?
+
+
+ HTTP 代理
+ 啟用 HTTP 代理
+ HTTP 伺服器
+ Port
+ 使用者
+ 密碼
+ 測試代理
+ 儲存
+ 伺服器不能為空
+ Port 不能為空
+ 不正確的 Port 格式
+ 儲存代理設定成功
+ 代理設定完成
+ 代理連線失敗
+
+
+ 關於
+ 網站
+ 版本
+ 您已經啟動了 Wox {0} 次
+ 檢查更新
+ 發現有新版本 {0}, 請重新啟動 Wox。
+ 更新說明:
+
+
+ 舊觸發關鍵字
+ 新觸發關鍵字
+ 取消
+ 確定
+ 找不到指定的外掛
+ 新觸發關鍵字不能為空白
+ 新觸發關鍵字已經被指派給另一外掛,請設定其他關鍵字。
+ 成功
+ 如果不想設定觸發關鍵字,可以使用*代替
+
+
+ 預覽
+ 熱鍵不存在,請設定一個新的熱鍵
+ 外掛熱鍵無法使用
+ 更新
+
+
+ 熱鍵無法使用
+
+
+ 版本
+ 時間
+ 請告訴我們如何重現此問題,以便我們進行修復
+ 發送報告
+ 取消
+ 基本訊息
+ 例外訊息
+ 例外類型
+ 例外來源
+ 堆疊資訊
+ 傳送中
+ 傳送成功
+ 傳送失敗
+ Wox 出錯啦
+
+
+ 發現 Wox 新版本 V{0}
+ 更新 Wox 出錯
+ 更新
+ 取消
+ 此更新需要重新啟動 Wox
+ 下列檔案會被更新
+ 更新檔案
+ 更新日誌
+
+
diff --git a/src/modules/launcher/PowerLauncher/MainWindow.xaml b/src/modules/launcher/PowerLauncher/MainWindow.xaml
new file mode 100644
index 0000000000..e8da7cf843
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/MainWindow.xaml
@@ -0,0 +1,31 @@
+
+
+
diff --git a/src/modules/launcher/PowerLauncher/MainWindow.xaml.cs b/src/modules/launcher/PowerLauncher/MainWindow.xaml.cs
new file mode 100644
index 0000000000..14e9de96f6
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/MainWindow.xaml.cs
@@ -0,0 +1,271 @@
+using System;
+using System.ComponentModel;
+using System.Windows;
+using System.Windows.Input;
+using System.Windows.Media.Animation;
+using System.Windows.Controls;
+using System.Windows.Forms;
+using Wox.Core.Plugin;
+using Wox.Core.Resource;
+using Wox.Helper;
+using Wox.Infrastructure.UserSettings;
+using Wox.ViewModel;
+using Screen = System.Windows.Forms.Screen;
+using ContextMenuStrip = System.Windows.Forms.ContextMenuStrip;
+using DataFormats = System.Windows.DataFormats;
+using DragEventArgs = System.Windows.DragEventArgs;
+using KeyEventArgs = System.Windows.Input.KeyEventArgs;
+using MessageBox = System.Windows.MessageBox;
+using Microsoft.Toolkit.Wpf.UI.XamlHost;
+
+namespace PowerLauncher
+{
+ public partial class MainWindow
+ {
+
+ #region Private Fields
+
+ private readonly Storyboard _progressBarStoryboard = new Storyboard();
+ private Settings _settings;
+ private MainViewModel _viewModel;
+
+ #endregion
+
+ public MainWindow(Settings settings, MainViewModel mainVM)
+ {
+ DataContext = mainVM;
+ _viewModel = mainVM;
+ _settings = settings;
+ InitializeComponent();
+ }
+ public MainWindow()
+ {
+ InitializeComponent();
+ }
+
+ private void OnClosing(object sender, CancelEventArgs e)
+ {
+ _viewModel.Save();
+ }
+
+ private void OnInitialized(object sender, EventArgs e)
+ {
+ }
+
+ private void OnLoaded(object sender, RoutedEventArgs _)
+ {
+ // todo is there a way to set blur only once?
+ //ThemeManager.Instance.SetBlurForWindow();
+ //WindowsInteropHelper.DisableControlBox(this);
+ //InitProgressbarAnimation();
+ //InitializePosition();
+ //// since the default main window visibility is visible
+ //// so we need set focus during startup
+ //QueryTextBox.Focus();
+
+ //_viewModel.PropertyChanged += (o, e) =>
+ //{
+ // if (e.PropertyName == nameof(MainViewModel.MainWindowVisibility))
+ // {
+ // if (Visibility == Visibility.Visible)
+ // {
+ // Activate();
+ // QueryTextBox.Focus();
+ // UpdatePosition();
+ // _settings.ActivateTimes++;
+ // if (!_viewModel.LastQuerySelected)
+ // {
+ // QueryTextBox.SelectAll();
+ // _viewModel.LastQuerySelected = true;
+ // }
+ // }
+ // }
+ //};
+ InitializePosition();
+ }
+
+ private void InitializePosition()
+ {
+ //Top = WindowTop();
+ Left = WindowLeft();
+ //_settings.WindowTop = Top;
+ _settings.WindowLeft = Left;
+ }
+
+ //private void InitProgressbarAnimation()
+ //{
+ // var da = new DoubleAnimation(ProgressBar.X2, ActualWidth + 100, new Duration(new TimeSpan(0, 0, 0, 0, 1600)));
+ // var da1 = new DoubleAnimation(ProgressBar.X1, ActualWidth, new Duration(new TimeSpan(0, 0, 0, 0, 1600)));
+ // Storyboard.SetTargetProperty(da, new PropertyPath("(Line.X2)"));
+ // Storyboard.SetTargetProperty(da1, new PropertyPath("(Line.X1)"));
+ // _progressBarStoryboard.Children.Add(da);
+ // _progressBarStoryboard.Children.Add(da1);
+ // _progressBarStoryboard.RepeatBehavior = RepeatBehavior.Forever;
+ // ProgressBar.BeginStoryboard(_progressBarStoryboard);
+ // _viewModel.ProgressBarVisibility = Visibility.Hidden;
+ //}
+
+ private void OnMouseDown(object sender, MouseButtonEventArgs e)
+ {
+ if (e.ChangedButton == MouseButton.Left) DragMove();
+ }
+
+ private void OnPreviewMouseButtonDown(object sender, MouseButtonEventArgs e)
+ {
+ if (sender != null && e.OriginalSource != null)
+ {
+ var r = (ResultListBox)sender;
+ var d = (DependencyObject)e.OriginalSource;
+ var item = ItemsControl.ContainerFromElement(r, d) as ListBoxItem;
+ var result = (ResultViewModel)item?.DataContext;
+ if (result != null)
+ {
+ if (e.ChangedButton == MouseButton.Left)
+ {
+ _viewModel.OpenResultCommand.Execute(null);
+ }
+ else if (e.ChangedButton == MouseButton.Right)
+ {
+ _viewModel.LoadContextMenuCommand.Execute(null);
+ }
+ }
+ }
+ }
+
+
+ private void OnDrop(object sender, DragEventArgs e)
+ {
+ if (e.Data.GetDataPresent(DataFormats.FileDrop))
+ {
+ // Note that you can have more than one file.
+ string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
+ if (files[0].ToLower().EndsWith(".wox"))
+ {
+ PluginManager.InstallPlugin(files[0]);
+ }
+ else
+ {
+ MessageBox.Show(InternationalizationManager.Instance.GetTranslation("invalidWoxPluginFileFormat"));
+ }
+ }
+ e.Handled = false;
+ }
+
+ private void OnPreviewDragOver(object sender, DragEventArgs e)
+ {
+ e.Handled = true;
+ }
+
+ private void OnContextMenusForSettingsClick(object sender, RoutedEventArgs e)
+ {
+ }
+
+ private void OnDeactivated(object sender, EventArgs e)
+ {
+ if (_settings.HideWhenDeactive)
+ {
+ Hide();
+ }
+ }
+
+ //private void UpdatePosition()
+ //{
+ // if (_settings.RememberLastLaunchLocation)
+ // {
+ // Left = _settings.WindowLeft;
+ // Top = _settings.WindowTop;
+ // }
+ // else
+ // {
+ // Left = WindowLeft();
+ // Top = WindowTop();
+ // }
+ //}
+
+ private void OnLocationChanged(object sender, EventArgs e)
+ {
+ if (_settings.RememberLastLaunchLocation)
+ {
+ _settings.WindowLeft = Left;
+ _settings.WindowTop = Top;
+ }
+ }
+
+ private double WindowLeft()
+ {
+ var screen = Screen.FromPoint(System.Windows.Forms.Cursor.Position);
+ var dip1 = WindowsInteropHelper.TransformPixelsToDIP(this, screen.WorkingArea.X, 0);
+ var dip2 = WindowsInteropHelper.TransformPixelsToDIP(this, screen.WorkingArea.Width, 0);
+ var left = (dip2.X - ActualWidth) / 2 + dip1.X;
+ return left;
+ }
+
+ //private double WindowTop()
+ //{
+ // var screen = Screen.FromPoint(System.Windows.Forms.Cursor.Position);
+ // var dip1 = WindowsInteropHelper.TransformPixelsToDIP(this, 0, screen.WorkingArea.Y);
+ // var dip2 = WindowsInteropHelper.TransformPixelsToDIP(this, 0, screen.WorkingArea.Height);
+ // var top = (dip2.Y - QueryTextBox.ActualHeight) / 4 + dip1.Y;
+ // return top;
+ //}
+
+ ///
+ /// Register up and down key
+ /// todo: any way to put this in xaml ?
+ ///
+ private void OnKeyDown(object sender, KeyEventArgs e)
+ {
+ if (e.Key == Key.Down)
+ {
+ _viewModel.SelectNextItemCommand.Execute(null);
+ e.Handled = true;
+ }
+ else if (e.Key == Key.Up)
+ {
+ _viewModel.SelectPrevItemCommand.Execute(null);
+ e.Handled = true;
+ }
+ else if (e.Key == Key.PageDown)
+ {
+ _viewModel.SelectNextPageCommand.Execute(null);
+ e.Handled = true;
+ }
+ else if (e.Key == Key.PageUp)
+ {
+ _viewModel.SelectPrevPageCommand.Execute(null);
+ e.Handled = true;
+ }
+ }
+
+ //private void OnTextChanged(object sender, TextChangedEventArgs e)
+ //{
+ // if (_viewModel.QueryTextCursorMovedToEnd)
+ // {
+ // QueryTextBox.CaretIndex = QueryTextBox.Text.Length;
+ // _viewModel.QueryTextCursorMovedToEnd = false;
+ // }
+ //}
+
+ private void WindowsXamlHost_ChildChanged(object sender, EventArgs e)
+ {
+ // Hook up x:Bind source.
+ global::Microsoft.Toolkit.Wpf.UI.XamlHost.WindowsXamlHost windowsXamlHost =
+ sender as global::Microsoft.Toolkit.Wpf.UI.XamlHost.WindowsXamlHost;
+ global::PowerLauncher.UI.LauncherControl userControl =
+ windowsXamlHost.GetUwpInternalObject() as global::PowerLauncher.UI.LauncherControl;
+
+ if (userControl != null)
+ {
+ userControl.XamlIslandMessage = this.WPFMessage;
+ }
+ }
+
+ public string WPFMessage
+ {
+ get
+ {
+ return "Binding from WPF to UWP XAML";
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Msg.xaml b/src/modules/launcher/PowerLauncher/Msg.xaml
new file mode 100644
index 0000000000..fe14c40ada
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Msg.xaml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Title
+ sdfdsf
+
+
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Msg.xaml.cs b/src/modules/launcher/PowerLauncher/Msg.xaml.cs
new file mode 100644
index 0000000000..e9c504eb98
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Msg.xaml.cs
@@ -0,0 +1,87 @@
+using System;
+using System.IO;
+using System.Windows;
+using System.Windows.Forms;
+using System.Windows.Input;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Imaging;
+using Wox.Helper;
+using Wox.Infrastructure;
+using Wox.Infrastructure.Image;
+
+namespace PowerLauncher
+{
+ public partial class Msg : Window
+ {
+ Storyboard fadeOutStoryboard = new Storyboard();
+ private bool closing;
+
+ public Msg()
+ {
+ InitializeComponent();
+ var screen = Screen.FromPoint(System.Windows.Forms.Cursor.Position);
+ var dipWorkingArea = WindowsInteropHelper.TransformPixelsToDIP(this,
+ screen.WorkingArea.Width,
+ screen.WorkingArea.Height);
+ Left = dipWorkingArea.X - Width;
+ Top = dipWorkingArea.Y;
+ showAnimation.From = dipWorkingArea.Y;
+ showAnimation.To = dipWorkingArea.Y - Height;
+
+ // Create the fade out storyboard
+ fadeOutStoryboard.Completed += fadeOutStoryboard_Completed;
+ DoubleAnimation fadeOutAnimation = new DoubleAnimation(dipWorkingArea.Y - Height, dipWorkingArea.Y, new Duration(TimeSpan.FromSeconds(5)))
+ {
+ AccelerationRatio = 0.2
+ };
+ Storyboard.SetTarget(fadeOutAnimation, this);
+ Storyboard.SetTargetProperty(fadeOutAnimation, new PropertyPath(TopProperty));
+ fadeOutStoryboard.Children.Add(fadeOutAnimation);
+
+ imgClose.Source = ImageLoader.Load(Path.Combine(Wox.Infrastructure.Constant.ProgramDirectory, "Images\\close.png"));
+ imgClose.MouseUp += imgClose_MouseUp;
+ }
+
+ void imgClose_MouseUp(object sender, MouseButtonEventArgs e)
+ {
+ if (!closing)
+ {
+ closing = true;
+ fadeOutStoryboard.Begin();
+ }
+ }
+
+ private void fadeOutStoryboard_Completed(object sender, EventArgs e)
+ {
+ Close();
+ }
+
+ public void Show(string title, string subTitle, string iconPath)
+ {
+ tbTitle.Text = title;
+ tbSubTitle.Text = subTitle;
+ if (string.IsNullOrEmpty(subTitle))
+ {
+ tbSubTitle.Visibility = Visibility.Collapsed;
+ }
+ if (!File.Exists(iconPath))
+ {
+ imgIco.Source = ImageLoader.Load(Path.Combine(Wox.Infrastructure.Constant.ProgramDirectory, "Images\\app.png"));
+ }
+ else {
+ imgIco.Source = ImageLoader.Load(iconPath);
+ }
+
+ Show();
+
+ Dispatcher.InvokeAsync(async () =>
+ {
+ if (!closing)
+ {
+ closing = true;
+ await Dispatcher.InvokeAsync(fadeOutStoryboard.Begin);
+ }
+ });
+ }
+ }
+}
diff --git a/src/modules/launcher/PowerLauncher/PowerLauncher.csproj b/src/modules/launcher/PowerLauncher/PowerLauncher.csproj
new file mode 100644
index 0000000000..c8c446cf60
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/PowerLauncher.csproj
@@ -0,0 +1,199 @@
+
+
+
+ WinExe
+ netcoreapp3.1
+ true
+ true
+ PowerLauncher.App
+ Resources\app.ico
+ app.manifest
+ false
+ false
+ x64
+
+
+
+
+ ..\..\..\..\x64\Debug\modules\launcher\
+ DEBUG;TRACE
+ full
+ x64
+ 7.3
+ prompt
+ MinimumRecommendedRules.ruleset
+ 4
+ false
+
+
+
+
+ ..\..\..\..\x64\Release\modules\launcher\
+ TRACE;RELEASE
+ true
+ pdbonly
+ x64
+ 7.3
+ prompt
+ MinimumRecommendedRules.ruleset
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Properties/AssemblyInfo.cs b/src/modules/launcher/PowerLauncher/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..332bfac3fc
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Properties/AssemblyInfo.cs
@@ -0,0 +1,7 @@
+using System.Reflection;
+using System.Windows;
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None,
+ ResourceDictionaryLocation.SourceAssembly
+)]
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Properties/Resources.Designer.cs b/src/modules/launcher/PowerLauncher/Properties/Resources.Designer.cs
new file mode 100644
index 0000000000..26a9ddff90
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Properties/Resources.Designer.cs
@@ -0,0 +1,73 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Wox.Properties {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Wox.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
+ ///
+ internal static System.Drawing.Icon app {
+ get {
+ object obj = ResourceManager.GetObject("app", resourceCulture);
+ return ((System.Drawing.Icon)(obj));
+ }
+ }
+ }
+}
diff --git a/src/modules/launcher/PowerLauncher/Properties/Resources.resx b/src/modules/launcher/PowerLauncher/Properties/Resources.resx
new file mode 100644
index 0000000000..3ae43d89b0
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Properties/Resources.resx
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Properties/Settings.Designer.cs b/src/modules/launcher/PowerLauncher/Properties/Settings.Designer.cs
new file mode 100644
index 0000000000..a6aa8987b7
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Properties/Settings.Designer.cs
@@ -0,0 +1,35 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace PowerLauncher.Properties {
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.4.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+
+ [global::System.Configuration.ApplicationScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("https://github.com/Wox-launcher/Wox")]
+ public string GithubRepo {
+ get {
+ return ((string)(this["GithubRepo"]));
+ }
+ }
+ }
+}
diff --git a/src/modules/launcher/PowerLauncher/Properties/Settings.settings b/src/modules/launcher/PowerLauncher/Properties/Settings.settings
new file mode 100644
index 0000000000..1fc52390be
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Properties/Settings.settings
@@ -0,0 +1,9 @@
+
+
+
+
+
+ https://github.com/Wox-launcher/Wox
+
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/ReportWindow.xaml b/src/modules/launcher/PowerLauncher/ReportWindow.xaml
new file mode 100644
index 0000000000..ea9d52fdce
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/ReportWindow.xaml
@@ -0,0 +1,23 @@
+
+
+
+
diff --git a/src/modules/launcher/PowerLauncher/ReportWindow.xaml.cs b/src/modules/launcher/PowerLauncher/ReportWindow.xaml.cs
new file mode 100644
index 0000000000..c1d0cc0124
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/ReportWindow.xaml.cs
@@ -0,0 +1,64 @@
+using System;
+using System.Diagnostics;
+using System.Globalization;
+using System.IO;
+using System.Text;
+using System.Linq;
+using System.Windows;
+using System.Windows.Documents;
+using Wox.Helper;
+using Wox.Infrastructure;
+using Wox.Infrastructure.Logger;
+
+namespace PowerLauncher
+{
+ internal partial class ReportWindow
+ {
+ public ReportWindow(Exception exception)
+ {
+ InitializeComponent();
+ ErrorTextbox.Document.Blocks.FirstBlock.Margin = new Thickness(0);
+ SetException(exception);
+ }
+
+ private void SetException(Exception exception)
+ {
+ string path = Log.CurrentLogDirectory;
+ var directory = new DirectoryInfo(path);
+ var log = directory.GetFiles().OrderByDescending(f => f.LastWriteTime).First();
+
+ var paragraph = Hyperlink("Please open new issue in: ", Constant.Issue);
+ paragraph.Inlines.Add($"1. upload log file: {log.FullName}\n");
+ paragraph.Inlines.Add($"2. copy below exception message");
+ ErrorTextbox.Document.Blocks.Add(paragraph);
+
+ StringBuilder content = new StringBuilder();
+ content.AppendLine(ErrorReporting.RuntimeInfo());
+ content.AppendLine(ErrorReporting.DependenciesInfo());
+ content.AppendLine($"Date: {DateTime.Now.ToString(CultureInfo.InvariantCulture)}");
+ content.AppendLine("Exception:");
+ content.AppendLine(exception.ToString());
+ paragraph = new Paragraph();
+ paragraph.Inlines.Add(content.ToString());
+ ErrorTextbox.Document.Blocks.Add(paragraph);
+ }
+
+ private Paragraph Hyperlink(string textBeforeUrl, string url)
+ {
+ var paragraph = new Paragraph();
+ paragraph.Margin = new Thickness(0);
+
+ var link = new Hyperlink { IsEnabled = true };
+ link.Inlines.Add(url);
+ link.NavigateUri = new Uri(url);
+ link.RequestNavigate += (s, e) => Process.Start(e.Uri.ToString());
+ link.Click += (s, e) => Process.Start(url);
+
+ paragraph.Inlines.Add(textBeforeUrl);
+ paragraph.Inlines.Add(link);
+ paragraph.Inlines.Add("\n");
+
+ return paragraph;
+ }
+ }
+}
diff --git a/src/modules/launcher/PowerLauncher/Resources/app.ico b/src/modules/launcher/PowerLauncher/Resources/app.ico
new file mode 100644
index 0000000000..38c401c8ca
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/Resources/app.ico differ
diff --git a/src/modules/launcher/PowerLauncher/ResultListBox.xaml b/src/modules/launcher/PowerLauncher/ResultListBox.xaml
new file mode 100644
index 0000000000..30832c0eb8
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/ResultListBox.xaml
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/modules/launcher/PowerLauncher/ResultListBox.xaml.cs b/src/modules/launcher/PowerLauncher/ResultListBox.xaml.cs
new file mode 100644
index 0000000000..a63e95f3fb
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/ResultListBox.xaml.cs
@@ -0,0 +1,58 @@
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Input;
+
+namespace PowerLauncher
+{
+ public partial class ResultListBox
+ {
+ protected object _lock = new object();
+ private Point _lastpos;
+ private ListBoxItem curItem = null;
+ public ResultListBox()
+ {
+ InitializeComponent();
+ }
+
+ private void OnSelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ if (e.AddedItems.Count > 0 && e.AddedItems[0] != null)
+ {
+ ScrollIntoView(e.AddedItems[0]);
+ }
+ }
+
+ private void OnMouseEnter(object sender, MouseEventArgs e)
+ {
+ lock(_lock)
+ {
+ curItem = (ListBoxItem)sender;
+ var p = e.GetPosition((IInputElement)sender);
+ _lastpos = p;
+ }
+ }
+
+ private void OnMouseMove(object sender, MouseEventArgs e)
+ {
+ lock(_lock)
+ {
+ var p = e.GetPosition((IInputElement)sender);
+ if (_lastpos != p)
+ {
+ ((ListBoxItem)sender).IsSelected = true;
+ }
+ }
+ }
+
+ private void ListBox_PreviewMouseDown(object sender, MouseButtonEventArgs e)
+ {
+ lock(_lock)
+ {
+ if (curItem != null)
+ {
+ curItem.IsSelected = true;
+ }
+ }
+ }
+ }
+}
diff --git a/src/modules/launcher/PowerLauncher/Themes/Base.xaml b/src/modules/launcher/PowerLauncher/Themes/Base.xaml
new file mode 100644
index 0000000000..ae195feaa4
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Themes/Base.xaml
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/modules/launcher/PowerLauncher/Themes/BlackAndWhite.xaml b/src/modules/launcher/PowerLauncher/Themes/BlackAndWhite.xaml
new file mode 100644
index 0000000000..8c3f0cbd45
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Themes/BlackAndWhite.xaml
@@ -0,0 +1 @@
+ #4F6180
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Themes/BlurBlack.xaml b/src/modules/launcher/PowerLauncher/Themes/BlurBlack.xaml
new file mode 100644
index 0000000000..488048cf44
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Themes/BlurBlack.xaml
@@ -0,0 +1,58 @@
+
+
+
+
+
+ True
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #356ef3
+
+
+
+
+
+
diff --git a/src/modules/launcher/PowerLauncher/Themes/BlurWhite.xaml b/src/modules/launcher/PowerLauncher/Themes/BlurWhite.xaml
new file mode 100644
index 0000000000..2fe9e3185f
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Themes/BlurWhite.xaml
@@ -0,0 +1,58 @@
+
+
+
+
+
+ True
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #356ef3
+
+
+
+
+
+
diff --git a/src/modules/launcher/PowerLauncher/Themes/Dark.xaml b/src/modules/launcher/PowerLauncher/Themes/Dark.xaml
new file mode 100644
index 0000000000..5bd54b0eda
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Themes/Dark.xaml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #4F6180
+
+
+
+
+
+
diff --git a/src/modules/launcher/PowerLauncher/Themes/Gray.xaml b/src/modules/launcher/PowerLauncher/Themes/Gray.xaml
new file mode 100644
index 0000000000..e52d4201be
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Themes/Gray.xaml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #00AAF6
+
+
+
+
diff --git a/src/modules/launcher/PowerLauncher/Themes/Light.xaml b/src/modules/launcher/PowerLauncher/Themes/Light.xaml
new file mode 100644
index 0000000000..6c373ef602
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Themes/Light.xaml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #3875D7
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Themes/Metro Server.xaml b/src/modules/launcher/PowerLauncher/Themes/Metro Server.xaml
new file mode 100644
index 0000000000..9648203946
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Themes/Metro Server.xaml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ #006ac1
+
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Themes/Pink.xaml b/src/modules/launcher/PowerLauncher/Themes/Pink.xaml
new file mode 100644
index 0000000000..93f2dee6e3
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Themes/Pink.xaml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ #cc1081
+
+
+
\ No newline at end of file
diff --git a/src/modules/launcher/PowerLauncher/Themes/ThemeBuilder/Template.xaml b/src/modules/launcher/PowerLauncher/Themes/ThemeBuilder/Template.xaml
new file mode 100644
index 0000000000..8d1c4845a4
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Themes/ThemeBuilder/Template.xaml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {%selectedResultBackgroundColor%}
+
+
+
+
+
+
diff --git a/src/modules/launcher/PowerLauncher/Themes/ThemeBuilder/ThemeConvertor.py b/src/modules/launcher/PowerLauncher/Themes/ThemeBuilder/ThemeConvertor.py
new file mode 100644
index 0000000000..674728ec3d
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/Themes/ThemeBuilder/ThemeConvertor.py
@@ -0,0 +1,26 @@
+import os,plistlib
+
+def convert(path,templatePath):
+ pl = plistlib.readPlist(path)
+ with open(templatePath, 'r') as content_file:
+ template = content_file.read()
+ for key in pl:
+ if "rgba" in pl[key]:
+ template = template.replace("{%"+key+"%}",tohex(pl[key].replace("rgba","rgb")))
+ f = open(path.replace(".alfredtheme",".xaml"),'w')
+ f.write(template)
+ f.close()
+
+
+def tohex(string):
+ string = string[4:]
+ split = string.split(",")
+ split[2] = ''.join(split[2].split(")")[0])
+ r = int(split[0])
+ g = int(split[1])
+ b = int(split[2])
+ tu = (r, g, b)
+ return '#%02x%02x%02x' % tu
+
+#print tohex("rgb(255,255,255,0.50)")
+print convert("Night.alfredtheme","Light.xaml")
diff --git a/src/modules/launcher/PowerLauncher/app.manifest b/src/modules/launcher/PowerLauncher/app.manifest
new file mode 100644
index 0000000000..52d1c39327
--- /dev/null
+++ b/src/modules/launcher/PowerLauncher/app.manifest
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/modules/launcher/PowerLauncher/app.png b/src/modules/launcher/PowerLauncher/app.png
new file mode 100644
index 0000000000..8c9ca7971a
Binary files /dev/null and b/src/modules/launcher/PowerLauncher/app.png differ
diff --git a/src/modules/launcher/Wox.Infrastructure/Properties/AssemblyInfo.cs b/src/modules/launcher/Wox.Infrastructure/Properties/AssemblyInfo.cs
index b48a6ef581..92248ee964 100644
--- a/src/modules/launcher/Wox.Infrastructure/Properties/AssemblyInfo.cs
+++ b/src/modules/launcher/Wox.Infrastructure/Properties/AssemblyInfo.cs
@@ -1,5 +1,6 @@
using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("Wox")]
+[assembly: InternalsVisibleTo("PowerLauncher")]
[assembly: InternalsVisibleTo("Wox.Core")]
[assembly: InternalsVisibleTo("Wox.Test")]
\ No newline at end of file