# ⚠️ This project is no longer maintained, as I have transitioned to Hyprland. Please consider using [Copyous - Clipboard Manager](https://github.com/boerdereinar/copyous) instead.
# Pano - Next-gen Clipboard Manager
## Features
- ⌨️ Keyboard-driven navigation. See [Navigation](#navigation)
- Content aware previews and notifications (Image, Link, Text, Code, Color, Emoji, File). See [Notifications](#content-aware-notifications)
- Highly customizable UI with slick design. See [Customization](#settings)
- ⭐ Favorite any items and access them easily. See [Favorites](#favorites)
- ⚙️ And many more options for different needs. See [Settings](#settings)
## Settings
## Supported Shell Versions
### Legacy versions
Since Gnome 45 we had to break compatibility with previous Gnome versions, these only receive critical bug / security fixes and are not maintained actively. See [here](https://github.com/oae/gnome-shell-pano/tree/legacy)
- Gnome Shell 42
- Gnome Shell 43
- Gnome Shell 44
### Current version
- Gnome Shell 45
- Gnome Shell 46
- Gnome Shell 47
- Gnome Shell 48
- Gnome Shell 49
## Installation
- You need `libgda` and `gsound` for this extension to work.
- We support both libgda 5.0 and 6.0
- Fedora
```bash
sudo dnf install libgda libgda-sqlite
```
- Arch Linux
```bash
sudo pacman -S libgda6
```
- Ubuntu/Debian
```bash
sudo apt install gir1.2-gda-5.0 gir1.2-gsound-1.0
```
- openSUSE
```bash
sudo zypper install libgda-6_0-sqlite typelib-1_0-Gda-6_0 typelib-1_0-GSound-1_0
```
- You can install the extension from EGO
[](https://extensions.gnome.org/extension/5278/pano/)
## Usage
### Navigation
[Navigation](https://user-images.githubusercontent.com/1043714/222934876-2e922f6c-36db-456b-826b-3b129da540b4.webm)
- `` `` `v` can be use to toggle visibility of the Pano. This can be changed in Pano extension settings.
- `` `` `` `v` can be use to toggle incognito mode.
- `left` and `right` arrow keys can be used for navigating between items. Pressing `left` key on the first item will focus search box. Also pressing `right` key will go to first/last focused item on the list.
- `up` and `down` keys can also be use to focus on search box and items
- `enter` key or clicking to an item will copy it. You can hold `shift` key for the apps like terminal to paste into it
- Typing anywhere on Pano will focus on search box and filter the results.
- `delete` key will remove the focused item from the list.
- `tab` key will cycle through item types (like `image`, `link` etc..) `shift` `tab` will reverse the direction
- `backspace` key on empty search box will remove item type filter
- `ctrl` `s` key will favorite/unfavorite the item
- `alt` key will switch between favorites/all items
- `ctrl` `1`..`9` keys will copy the item with the corresponding index
- `ctrl` `click` or `ctrl` `enter` shortcuts will copy the links and open them in default browser if `Open Links in Browser` option enabled
## Cli
You can trigger several actions using busctl.
```sh
busctl --user call org.gnome.Shell /io/elhan/Pano io.elhan.Pano clearHistory # clears pano history
busctl --user call org.gnome.Shell /io/elhan/Pano io.elhan.Pano toggle # toggles pano window
busctl --user call org.gnome.Shell /io/elhan/Pano io.elhan.Pano hide # hides pano window
busctl --user call org.gnome.Shell /io/elhan/Pano io.elhan.Pano show # shows pano window
```
## Development
### Build
- This extension is written in Typescript and uses rollup to compile it into javascript.
- To start development, install `nodejs` on your system.
- Clone the project
```sh
git clone https://github.com/oae/gnome-shell-pano.git
cd ./gnome-shell-pano
```
- Install dependencies and build it
```sh
yarn install
yarn build
ln -s "$PWD/dist" "$HOME/.local/share/gnome-shell/extensions/[email protected]"
```
- During development you can use `yarn watch` command to keep generated code up-to-date.