mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-02-23 19:49:43 +01:00
show top 5 CMD history when CMD query is empty.
This commit is contained in:
@@ -17,6 +17,24 @@ namespace WinAlfred.Plugin.System
|
||||
protected override List<Result> QueryInternal(Query query)
|
||||
{
|
||||
List<Result> results = new List<Result>();
|
||||
if (query.RawQuery == ">")
|
||||
{
|
||||
IEnumerable<Result> history = cmdHistory.OrderByDescending(o => o.Value)
|
||||
.Select(m => new Result
|
||||
{
|
||||
Title = m.Key,
|
||||
SubTitle = "this command has been executed " + m.Value + " times",
|
||||
IcoPath = "Images/cmd.png",
|
||||
Action = () =>
|
||||
{
|
||||
ExecuteCmd(m.Key);
|
||||
AddCmdHistory(m.Key);
|
||||
}
|
||||
}).Take(5);
|
||||
|
||||
results.AddRange(history);
|
||||
}
|
||||
|
||||
if (query.RawQuery.StartsWith(">") && query.RawQuery.Length > 1)
|
||||
{
|
||||
string cmd = query.RawQuery.Substring(1);
|
||||
|
||||
@@ -163,13 +163,13 @@ namespace WinAlfred
|
||||
Hide();
|
||||
}
|
||||
|
||||
private void ShowWinAlfred()
|
||||
private void ShowWinAlfred(bool selectAll = true)
|
||||
{
|
||||
Show();
|
||||
Activate();
|
||||
tbQuery.SelectAll();
|
||||
Focus();
|
||||
tbQuery.Focus();
|
||||
if(selectAll) tbQuery.SelectAll();
|
||||
}
|
||||
|
||||
public void ParseArgs(string[] args)
|
||||
@@ -235,13 +235,8 @@ namespace WinAlfred
|
||||
{
|
||||
if (keyevent == KeyEvent.WM_KEYDOWN && vkcode == (int)Keys.R && state.WinPressed)
|
||||
{
|
||||
Dispatcher.BeginInvoke(new Action(() =>
|
||||
{
|
||||
resultCtrl.Clear();
|
||||
ShowWinAlfred();
|
||||
ChangeQuery(">");
|
||||
WinRStroked = true;
|
||||
}));
|
||||
WinRStroked = true;
|
||||
Dispatcher.BeginInvoke(new Action(OnWinRPressed));
|
||||
return false;
|
||||
}
|
||||
if (keyevent == KeyEvent.WM_KEYUP && WinRStroked && vkcode == (int)Keys.LWin)
|
||||
@@ -254,6 +249,16 @@ namespace WinAlfred
|
||||
return true;
|
||||
}
|
||||
|
||||
private void OnWinRPressed()
|
||||
{
|
||||
ShowWinAlfred(false);
|
||||
if (tbQuery.Text != ">")
|
||||
{
|
||||
resultCtrl.Clear();
|
||||
ChangeQuery(">");
|
||||
}
|
||||
}
|
||||
|
||||
private void TbQuery_OnPreviewKeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
switch (e.Key)
|
||||
|
||||
Reference in New Issue
Block a user