2.3 KiB
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!
Requirements
Windows 10/11 with PowerToys and Command Palette enabled.
.NET SDK
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.
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
dotnet build .\Olive.sln -c Debug -p:Platform=x64
Package
.\scripts\Build-OlivePackage.ps1
Or double-click:
scripts\Build-OlivePackage.cmd
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.
Install
From
dist\OlivePackage:
.\Install-Olive.ps1
Or double-click:
Install-Olive.cmd
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.
Uninstall
From
dist\OlivePackage
or
scripts\:
.\Uninstall-Olive.ps1
Or double-click:
Uninstall-Olive.cmd
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
-KeepUserData
to
keep
Olive
user
data.
Usage
Open PowerToys Command Palette.
Launch
Olive GIF Picker.
Search for a GIF.
Select a result with Enter.
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.
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.