98 lines
2.3 KiB
Markdown
98 lines
2.3 KiB
Markdown
# 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 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.
|
|
|
|
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
|
|
|
|
```powershell
|
|
dotnet build .\Olive.sln -c Debug -p:Platform=x64
|
|
```
|
|
|
|
## Package
|
|
|
|
```powershell
|
|
.\scripts\Build-OlivePackage.ps1
|
|
```
|
|
|
|
Or double-click:
|
|
|
|
```text
|
|
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`:
|
|
|
|
```powershell
|
|
.\Install-Olive.ps1
|
|
```
|
|
|
|
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.
|
|
|
|
Restart PowerToys after installation.
|
|
|
|
## Uninstall
|
|
|
|
From `dist\OlivePackage` or `scripts\`:
|
|
|
|
```powershell
|
|
.\Uninstall-Olive.ps1
|
|
```
|
|
|
|
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.
|
|
|
|
Use `-KeepCertificate` to keep the certificate.
|
|
|
|
Use `-KeepUserData` to keep local settings and cached GIFs.
|
|
|
|
## 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.
|
|
|
|
## 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.
|
|
- Cached GIFs are stored in `%LOCALAPPDATA%\Olive\Cache`.
|