fix: small logic fixes and improvements

This commit is contained in:
JNIH
2026-07-31 12:52:31 +02:00
parent 00deea0ca1
commit 29ac0fef16
8 changed files with 296 additions and 342 deletions
+31 -312
View File
@@ -1,120 +1,19 @@
# Olive
Olive
is
a
private
Microsoft
PowerToys
Command
Palette
extension.
It
searches
animated
GIFs
with
Klipy
and
allow
you
to
quickly
the
one
that
suits
you
best!
Olive is a private Microsoft PowerToys Command Palette extension. It searches animated GIFs with Klipy and allows you to quickly use the one that suits you best!
## Requirements
-
Windows
10/11
with
PowerToys
and
Command
Palette
enabled.
-
.NET
SDK
10.
-
Windows
SDK
`10.0.22621.0`
or
a
compatible
newer
SDK.
-
A
Klipy
API
key.
- Windows 10/11 with PowerToys and Command Palette enabled.
- .NET SDK 10.
- Windows SDK `10.0.22621.0` or a compatible newer SDK.
- A Klipy API key.
## Klipy API Key
Olive
stores
the
Klipy
key
locally
in
its
Command
Palette
settings.
Do
not
put
the
key
in
source
code,
Git,
environment
variables,
or
the
package.
Olive stores the Klipy key locally in its Command Palette settings. Do not put the key in source code, Git, environment variables, or the package.
To
configure
it,
open
Command
Palette,
open
the
context
commands
for
`Olive GIF Picker`,
open
Olive
settings,
paste
the
key
into
`Klipy API key`,
then
save.
To configure it, open Command Palette, open the context commands for `Olive GIF Picker`, open Olive settings, paste the key into `Klipy API key`, then save.
## Build
@@ -128,251 +27,71 @@ dotnet build .\Olive.sln -c Debug -p:Platform=x64
.\scripts\Build-OlivePackage.ps1
```
Or
double-click:
Or double-click:
```text
scripts\Build-OlivePackage.cmd
```
This
creates
the
shareable
package
in
`dist\OlivePackage`.
This creates the shareable package in `dist\OlivePackage`.
The
private
signing
file
is
exported
to
`dist\private\OlivePrivate.pfx`.
Do
not
share
it
unless
the
recipient
must
be
able
to
sign
Olive
builds.
The private signing file is exported to `dist\private\OlivePrivate.pfx`. Do not share it unless the recipient must be able to sign Olive builds.
## Install
From
`dist\OlivePackage`:
From `dist\OlivePackage`:
```powershell
.\Install-Olive.ps1
```
Or
double-click:
Or double-click:
```text
Install-Olive.cmd
```
The
script
asks
for
administrator
rights,
imports
`OlivePrivate.cer`
into
`Cert:\LocalMachine\Root`,
then
opens
the
`.msix`
with
Windows
App
Installer.
The script asks for administrator rights, imports `OlivePrivate.cer` into `Cert:\LocalMachine\Root`, then opens the `.msix` with Windows App Installer.
Restart
PowerToys
after
installation.
Restart PowerToys after installation.
## Uninstall
From
`dist\OlivePackage`
or
`scripts\`:
From `dist\OlivePackage` or `scripts\`:
```powershell
.\Uninstall-Olive.ps1
```
Or
double-click:
Or double-click:
```text
Uninstall-Olive.cmd
```
By
default,
uninstall
removes
the
Olive
package,
the
Olive
certificate
from
`Cert:\LocalMachine\Root`,
and
Olive
user
data.
By default, uninstall removes the Olive package, the Olive certificate from `Cert:\LocalMachine\Root`, and Olive user data.
Use
`-KeepCertificate`
to
keep
the
certificate.
Use `-KeepCertificate` to keep the certificate.
Use
`-KeepUserData`
to
keep
Olive
user
data.
Use `-KeepUserData` to keep Olive user data.
## Usage
1.
Open
PowerToys
Command
Palette.
2.
Launch
`Olive GIF Picker`.
3.
Search
for
a
GIF.
4.
Select
a
result
with
Enter.
5.
Paste
with
Ctrl+V
in
an
app
that
accepts
animated
GIF
files.
1. Open PowerToys Command Palette.
2. Launch `Olive GIF Picker`.
3. Search for a GIF.
4. Select a result with Enter.
5. Paste with Ctrl+V in an app that accepts animated GIF files.
## Sharing
-
Share
only
`dist\OlivePackage`.
-
Do
not
share
`dist\private\OlivePrivate.pfx`.
-
Do
not
include
the
Klipy
API
key
in
the
package.
-
Each
user
must
set
the
Klipy
key
in
Olive
settings.
- Share only `dist\OlivePackage`.
- Do not share `dist\private\OlivePrivate.pfx`.
- Do not include the Klipy API key in the package.
- Each user must set the Klipy key in Olive settings.
## Notes
-
Olive
copies
GIFs
as
files
to
preserve
animation.
-
Some
apps
may
reject
file
pasting
or
use
fallback
text
only.
-
GIFs
are
downloaded
in
memory
when
copied.
- Olive copies GIFs as files to preserve animation.
- Some apps may reject file pasting or use fallback text only.
- GIFs are downloaded in memory when copied.