chore: format and clean up

This commit is contained in:
JNIH
2026-07-30 20:19:01 +02:00
parent c953ca8460
commit 00deea0ca1
21 changed files with 1134 additions and 971 deletions
+312 -31
View File
@@ -1,19 +1,120 @@
# 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
allow
you
to
quickly
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
@@ -27,71 +128,251 @@ 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`, local settings, cached GIFs, and MSIX 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 local settings and cached GIFs.
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.
- Cached GIFs are stored in `%LOCALAPPDATA%\Olive\Cache`.
-
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.