Skip to content
This repository was archived by the owner on Aug 25, 2024. It is now read-only.

Commit 99c4e31

Browse files
committed
new: click to paste,wait flowlauncher to update
1 parent 1bb96ec commit 99c4e31

File tree

5 files changed

+21
-8
lines changed

5 files changed

+21
-8
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ If you want to save images in your clipboard, open the `CacheImages` option in s
5151
- [ ] Cached images format definition
5252
- [ ] Image OCR
5353

54+
## Acknowledgement
55+
56+
- [IconFont](https://www.iconfont.cn)
57+
5458
## License
5559

5660
[Apache License V2.0](LICENSE)

build/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class BuildContext : FrostingContext
3434
public Lazy<SolutionParserResult> DefaultSln { get; set; }
3535
public const string DeployFramework = "net7.0-windows";
3636
public string PublishDir = ".dist";
37-
public string PublishVersion = "0.2.1";
37+
public string PublishVersion = "0.2.2";
3838

3939
public BuildContext(ICakeContext context)
4040
: base(context)

src/ClipboardR.Panels/PreviewPanel.xaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@
4242
x:Name="TxtBoxPre" HorizontalAlignment="Center"
4343
Panel.ZIndex="1" FontSize="14" TextAlignment="Left" Padding="5,5,5,5"
4444
MaxWidth="320" MaxHeight="400" Focusable="True"
45-
VerticalScrollBarVisibility="Auto" Text="&lt;UserControl x:Class=&quot;ClipboardR.Panels.PreviewPanel&quot;&#xD;&#xA; xmlns=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;&#xD;&#xA; xmlns:x=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;&#xD;&#xA; xmlns:mc=&quot;http://schemas.openxmlformats.org/markup-compatibility/2006&quot;&#xD;&#xA; xmlns:d=&quot;http://schemas.microsoft.com/expression/blend/2008&quot;&#xD;&#xA; xmlns:local=&quot;clr-namespace:ClipboardR.Panels&quot;&#xD;&#xA; mc:Ignorable=&quot;d&quot;&gt;&#xD;&#xA; &lt;Grid HorizontalAlignment=&quot;Center&quot; VerticalAlignment=&quot;Center&quot; &#xD;&#xA; Margin=&quot;5, 5, 5, 5&quot;&#xD;&#xA; MinWidth=&quot;410&quot; MinHeight=&quot;620&quot;&gt;&#xD;&#xA; &lt;Grid.RowDefinitions&gt;&#xD;&#xA; &lt;RowDefinition Height=&quot;90*&quot; /&gt;&#xD;&#xA; &lt;RowDefinition Height=&quot;10*&quot; /&gt;&#xD;&#xA; &lt;/Grid.RowDefinitions&gt;&#xD;&#xA; &lt;Grid.ColumnDefinitions&gt;&#xD;&#xA; &lt;ColumnDefinition Width=&quot;50*&quot; /&gt;&#xD;&#xA; &lt;ColumnDefinition Width=&quot;50*&quot; /&gt;&#xD;&#xA; &lt;/Grid.ColumnDefinitions&gt;&#xD;&#xA; &lt;Image x:Name=&quot;PreImage&quot; Margin=&quot;3,3,3,3&quot;&#xD;&#xA; HorizontalAlignment=&quot;Center&quot; VerticalAlignment=&quot;Center&quot;&#xD;&#xA; Grid.ColumnSpan=&quot;2&quot; Visibility=&quot;Hidden&quot; Panel.ZIndex=&quot;0&quot;&#xD;&#xA; MinWidth=&quot;410&quot; MinHeight=&quot;100&quot; &#xD;&#xA; MaxWidth=&quot;420&quot; MaxHeight=&quot;500&quot; /&gt;&#xD;&#xA; &lt;TextBox Grid.Row=&quot;0&quot; Grid.Column=&quot;0&quot; Grid.ColumnSpan=&quot;2&quot; Grid.RowSpan=&quot;2&quot; &#xD;&#xA; x:Name=&quot;TxtBoxPre&quot; HorizontalAlignment=&quot;Center&quot; VerticalAlignment=&quot;Center&quot;&#xD;&#xA; Panel.ZIndex=&quot;1&quot; FontSize=&quot;14&quot; TextAlignment=&quot;Left&quot; Padding=&quot;3,3,3,3&quot; &#xD;&#xA; MinWidth=&quot;410&quot; MinHeight=&quot;100&quot; MaxWidth=&quot;420&quot; MaxHeight=&quot;500&quot; Focusable=&quot;True&quot; &#xD;&#xA; VerticalScrollBarVisibility=&quot;Auto&quot; Text=&quot;finition Width=&amp;quot;50*&amp;quot; /&amp;gt;&amp;#xD;&amp;#xA; &amp;lt;/Grid.ColumnDefinitions&amp;gt;&amp;#xD;&amp;#xA; &amp;lt;Image x:Name=&amp;quot;PreImage&amp;quot; Margin=&amp;quot;3,3,3,3&amp;quot;&amp;#xD;&amp;#xA; HorizontalAlignment=&amp;quot;Center&amp;quot; VerticalAlignment=&amp;quot;Center&amp;quot;&amp;#xD;&amp;#xA; Grid.ColumnSpan=&amp;quot;2&amp;quot; Visibility=&amp;quot;Hidden&amp;quot; Panel.ZIndex=&amp;quot;0&amp;quot;&amp;#xD;&amp;#xA; MinWidth=&amp;quot;410&amp;quot; MinHeight=&amp;quot;100&amp;quot; &amp;#xD;&amp;#xA; MaxWidth=&amp;quot;420&amp;quot; MaxHeight=&amp;quot;500&amp;quot; /&amp;gt;&amp;#xD;&amp;#xA; &amp;lt;TextBox Grid.Row=&amp;quot;0&amp;quot; Grid.Column=&amp;quot;0&amp;quot; Grid.ColumnSpan=&amp;quot;2&amp;quot; Grid.RowSpan=&amp;quot;2&amp;quot; &amp;#xD;&amp;#xA; x:Name=&amp;quot;TxtBoxPre&amp;quot; HorizontalAlignment=&amp;quot;Center&amp;quot; VerticalAlignment=&amp;quot;Center&amp;quot;&amp;#xD;&amp;#xA; Panel.ZIndex=&amp;quot;1&amp;quot; FontSize=&amp;quot;14&amp;quot; TextAlignment=&amp;quot;Left&amp;quot; Padding=&amp;quot;3,3,3,3&amp;quot; &amp;#xD;&amp;#xA; MinWidth=&amp;quot;410&amp;quot; MinHeight=&amp;quot;100&amp;quot; MaxWidth=&amp;quot;420&amp;quot; MaxHeight=&amp;quot;500&amp;quot; Focusable=&amp;quot;True&amp;quot; &amp;#xD;&amp;#xA; VerticalScrollBarVisibility=&amp;quot;Auto&amp;quot; Text=&amp;quot;dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd&amp;amp;#xD;&amp;amp;#xA;&amp;quot; GotFocus=&amp;quot;TxtBoxPre_GotFocus&amp;quot; &amp;#xD;&amp;#xA; Margin=&amp;quot;3,3,3,3&amp;quot; HorizontalContentAlignment=&amp;quot;Left&amp;quot; &amp;#xD;&amp;#xA; TextChanged=&amp;quot;TxtBoxPre_TextChanged&amp;quot; IsReadOnly=&amp;quot;True&amp;quot; /&amp;gt;&amp;#xD;&amp;#xA; &amp;lt;Button Grid.Column=&amp;quot;0&amp;quot; Grid.Row=&amp;quot;1&amp;quot; &amp;#xD;&amp;#xA; x:Name=&amp;quot;BtnCopy&amp;quot; Content=&amp;quot;Copy&amp;quot; HorizontalAlignment&quot; GotFocus=&quot;TxtBoxPre_GotFocus&quot; &#xD;&#xA; Margin=&quot;3,3,3,3&quot; HorizontalContentAlignment=&quot;Left&quot; &#xD;&#xA; TextChanged=&quot;TxtBoxPre_TextChanged&quot; IsReadOnly=&quot;True&quot; /&gt;&#xD;&#xA; &lt;Button Grid.Column=&quot;0&quot; Grid.Row=&quot;1&quot; &#xD;&#xA; x:Name=&quot;BtnCopy&quot; Content=&quot;Copy&quot; HorizontalAlignment=&quot;Center&quot; VerticalAlignment=&quot;Center&quot;&#xD;&#xA; MinWidth=&quot;50&quot; MinHeight=&quot;30&quot; MaxWidth=&quot;50&quot; MaxHeight=&quot;30&quot; &#xD;&#xA; Margin=&quot;5,5,5,5&quot; Click=&quot;BtnCopy_Click&quot; /&gt;&#xD;&#xA; &lt;Button Grid.Column=&quot;1&quot; Grid.Row=&quot;1&quot; &#xD;&#xA; x:Name=&quot;BtnDelete&quot; Content=&quot;Delete&quot; HorizontalAlignment=&quot;Center&quot; VerticalAlignment=&quot;Center&quot; &#xD;&#xA; MinWidth=&quot;50&quot; MinHeight=&quot;30&quot; MaxWidth=&quot;50&quot; MaxHeight=&quot;30&quot; &#xD;&#xA; Margin=&quot;5,5,5,5&quot; Click=&quot;BtnDelete_Click&quot; /&gt;&#xD;&#xA; &lt;/Grid&gt;&#xD;&#xA;&lt;/UserControl&gt;" GotFocus="TxtBoxPre_GotFocus"
45+
VerticalScrollBarVisibility="Auto" Text="&lt;UserControl x:Class=&quot;ClipboardR.Panels.PreviewPanel&quot;&#xD;&#xA; xmlns=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;&#xD;&#xA; xmlns:x=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;&#xD;&#xA; xmlns:mc=&quot;http://schemas.openxmlformats.org/markup-compatibility/2006&quot;&#xD;&#xA; xmlns:d=&quot;http://schemas.microsoft.com/expression/blend/2008&quot;&#xD;&#xA; xmlns:local=&quot;clr-namespace:ClipboardR.Panels&quot;&#xD;&#xA; mc:Ignorable=&quot;d&quot;&gt;&#xD;&#xA; &lt;Grid HorizontalAlignment=&quot;Center&quot; VerticalAlignment=&quot;Center&quot; &#xD;&#xA; Margin=&quot;5, 5, 5, 5&quot;&#xD;&#xA; MinWidth=&quot;410&quot; MinHeight=&quot;620&quot;&gt;&#xD;&#xA; &lt;Grid.RowDefinitions&gt;&#xD;&#xA; &lt;RowDefinition Height=&quot;90*&quot; /&gt;&#xD;&#xA; &lt;RowDefinition Height=&quot;10*&quot; /&gt;&#xD;&#xA; &lt;/Grid.RowDefinitions&gt;&#xD;&#xA; &lt;Grid.ColumnDefinitions&gt;&#xD;&#xA; &lt;ColumnDefinition Width=&quot;50*&quot; /&gt;&#xD;&#xA; &lt;ColumnDefinition Width=&quot;50*&quot; /&gt;&#xD;&#xA; &lt;/Grid.ColumnDefinitions&gt;&#xD;&#xA; &lt;Image x:Name=&quot;PreImage&quot; Margin=&quot;3,3,3,3&quot;&#xD;&#xA; HorizontalAlignment=&quot;Center&quot; VerticalAlignment=&quot;Center&quot;&#xD;&#xA; Grid.ColumnSpan=&quot;2&quot; Visibility=&quot;Hidden&quot; Panel.ZIndex=&quot;0&quot;&#xD;&#xA; MinWidth=&quot;410&quot; MinHeight=&quot;100&quot; &#xD;&#xA; MaxWidth=&quot;420&quot; MaxHeight=&quot;500&quot; /&gt;&#xD;&#xA; &lt;TextBox Grid.Row=&quot;0&quot; Grid.Column=&quot;0&quot; Grid.ColumnSpan=&quot;2&quot; Grid.RowSpan=&quot;2&quot; &#xD;&#xA; x:Name=&quot;TxtBoxPre&quot; HorizontalAlignment=&quot;Center&quot; VerticalAlignment=&quot;Center&quot;&#xD;&#xA; Panel.ZIndex=&quot;1&quot; FontSize=&quot;14&quot; TextAlignment=&quot;Left&quot; Padding=&quot;3,3,3,3&quot; &#xD;&#xA; MinWidth=&quot;410&quot; MinHeight=&quot;100&quot; MaxWidth=&quot;420&quot; MaxHeight=&quot;500&quot; Focusable=&quot;True&quot; &#xD;&#xA; VerticalScrollBarVisibility=&quot;Auto&quot; Text=&quot;finition Width=&amp;quot;50*&amp;quot; /&amp;gt;&amp;#xD;&amp;#xA; &amp;lt;/Grid.ColumnDefinitions&amp;gt;&amp;#xD;&amp;#xA; &amp;lt;Image x:Name=&amp;quot;PreImage&amp;quot; Margin=&amp;quot;3,3,3,3&amp;quot;&amp;#xD;&amp;#xA; HorizontalAlignment=&amp;quot;Center&amp;quot; VerticalAlignment=&amp;quot;Center&amp;quot;&amp;#xD;&amp;#xA; Grid.ColumnSpan=&amp;quot;2&amp;quot; Visibility=&amp;quot;Hidden&amp;quot; Panel.ZIndex=&amp;quot;0&amp;quot;&amp;#xD;&amp;#xA; MinWidth=&amp;quot;410&amp;quot; MinHeight=&amp;quot;100&amp;quot; &amp;#xD;&amp;#xA; MaxWidth=&amp;quot;420&amp;quot; MaxHeight=&amp;quot;500&amp;quot; /&amp;gt;&amp;#xD;&amp;#xA; &amp;lt;TextBox Grid.Row=&amp;quot;0&amp;quot; Grid.Column=&amp;quot;0&amp;quot; Grid.ColumnSpan=&amp;quot;2&amp;quot; Grid.RowSpan=&amp;quot;2&amp;quot; &amp;#xD;&amp;#xA; x:Name=&amp;quot;TxtBoxPre&amp;quot; HorizontalAlignment=&amp;quot;Center&amp;quot; VerticalAlignment=&amp;quot;Center&amp;quot;&amp;#xD;&amp;#xA; Panel.ZIndex=&amp;quot;1&amp;quot; FontSize=&amp;quot;14&amp;quot; TextAlignment=&amp;quot;Left&amp;quot; Padding=&amp;quot;3,3,3,3&amp;quot; &amp;#xD;&amp;#xA; MinWidth=&amp;quot;410&amp;quot; MinHeight=&amp;quot;100&amp;quot; MaxWidth=&amp;quot;420&amp;quot; MaxHeight=&amp;quot;500&amp;quot; Focusable=&amp;quot;True&amp;quot; &amp;#xD;&amp;#xA; VerticalScrollBarVisibility=&amp;quot;Auto&amp;quot; Text=&amp;quot;dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd&amp;amp;#xD;&amp;amp;#xA;&amp;quot; GotFocus=&amp;quot;TxtBoxPre_GotFocus&amp;quot; &amp;#xD;&amp;#xA; Margin=&amp;quot;3,3,3,3&amp;quot; HorizontalContentAlignment=&amp;quot;Left&amp;quot; &amp;#xD;&amp;#xA; TextChanged=&amp;quot;TxtBoxPre_TextChanged&amp;quot; IsReadOnly=&amp;quot;True&amp;quot; /&amp;gt;&amp;#xD;&amp;#xA; &amp;lt;Button Grid.Column=&amp;quot;0&amp;quot; Grid.Row=&amp;quot;1&amp;quot; &amp;#xD;&amp;#xA; x:Name=&amp;quot;BtnCopy&amp;quot; Content=&amp;quot;Copy&amp;quot; HorizontalAlignment&quot; GotFocus=&quot;TxtBoxPre_GotFocus&quot; &#xD;&#xA; Margin=&quot;3,3,3,3&quot; HorizontalContentAlignment=&quot;Left&quot; &#xD;&#xA; TextChanged=&quot;TxtBoxPre_TextChanged&quot; IsReadOnly=&quot;True&quot; /&gt;&#xD;&#xA; &lt;Button Grid.Column=&quot;0&quot; Grid.Row=&quot;1&quot; &#xD;&#xA; x:Name=&quot;BtnCopy&quot; Content=&quot;Copy&quot; HorizontalAlignment=&quot;Center&quot; VerticalAlignment=&quot;Center&quot;&#xD;&#xA; MinWidth=&quot;50&quot; MinHeight=&quot;30&quot; MaxWidth=&quot;50&quot; MaxHeight=&quot;30&quot; &#xD;&#xA; Margin=&quot;5,5,5,5&quot; Click=&quot;BtnCopy_Click&quot; /&gt;&#xD;&#xA; &lt;Button Grid.Column=&quot;1&quot; Grid.Row=&quot;1&quot; &#xD;&#xA; x:Name=&quot;BtnDelete&quot; Content=&quot;Delete&quot; HorizontalAlignment=&quot;Center&quot; VerticalAlignment=&quot;Center&quot; &#xD;&#xA; MinWidth=&quot;50&quot; MinHeight=&quot;30&quot; MaxWidth=&quot;50&quot; MaxHeight=&quot;30&quot; &#xD;&#xA; Margin=&quot;5,5,5,5&quot; Click=&quot;BtnDelete_Click&quot; /&gt;&#xD;&#xA; &lt;/Grid&gt;&#xD;&#xA;&lt;/UserControl&gt;"
46+
GotFocus="TxtBoxPre_GotFocus"
4647
Margin="5,5,5,5" HorizontalContentAlignment="Left"
4748
TextChanged="TxtBoxPre_TextChanged" IsReadOnly="True" HorizontalScrollBarVisibility="Auto" MinWidth="320" UseLayoutRounding="False"/>
4849
<Grid Grid.Row="1" Grid.Column="0"

src/ClipboardR/Main.cs

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using System.IO;
55
using System.Text.Json;
66
using System.Text.RegularExpressions;
7+
using System.Threading.Tasks;
78
using Flow.Launcher.Plugin;
89
using System.Windows.Controls;
910
using System.Windows.Media.Imaging;
@@ -89,15 +90,17 @@ private Result ClipDataToResult(ClipboardData o)
8990
copyAction: CopyToClipboard,
9091
pinAction: PinOneRecord
9192
)),
92-
Action = c =>
93+
AsyncAction = async _ =>
9394
{
94-
// _context!.API.ShowMsg("Wow");
9595
CopyToClipboard(o);
96-
// Due to the focus will change when open FlowLauncher, this won't work for now
97-
new InputSimulator().Keyboard
96+
_context!.API.HideMainWindow();
97+
while (_context!.API.IsMainWindowVisible())
98+
await Task.Delay(100);
99+
new InputSimulator()
100+
.Keyboard
98101
.ModifiedKeyStroke(VirtualKeyCode.CONTROL, VirtualKeyCode.VK_V);
99102
return true;
100-
}
103+
},
101104
};
102105
}
103106

@@ -178,6 +181,11 @@ public void PinOneRecord(ClipboardData clipboardData)
178181
_context!.API.ChangeQuery(_context.CurrentPluginMetadata.ActionKeyword, true);
179182
}
180183

184+
// private Task<bool> HideMainWindow()
185+
// {
186+
//
187+
// }
188+
181189
public void Save()
182190
{
183191
_settings?.Save();

src/ClipboardR/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"Name": "ClipboardR",
55
"Description": "A clipboard plugin for Flow.Launcher, support pictures!",
66
"Author": "Rainyl",
7-
"Version": "0.2.1",
7+
"Version": "0.2.2",
88
"Language": "csharp",
99
"Website": "https://github.com/rainyl/Flow.Launcher.Plugin.ClipboardR",
1010
"IcoPath": "Images/clipboard.png",

0 commit comments

Comments
 (0)