{"id":13438687,"url":"https://github.com/oae/gnome-shell-pano","last_synced_at":"2025-04-12T20:38:37.490Z","repository":{"id":57995700,"uuid":"477540438","full_name":"oae/gnome-shell-pano","owner":"oae","description":"Next-gen Clipboard Manager for Gnome Shell","archived":false,"fork":false,"pushed_at":"2025-03-24T00:31:50.000Z","size":4615,"stargazers_count":1221,"open_issues_count":94,"forks_count":62,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-04-05T19:07:12.739Z","etag":null,"topics":["clipboard-manager","gjs","gnome","gnome-shell-extension","rollupjs","typescript"],"latest_commit_sha":null,"homepage":"https://extensions.gnome.org/extension/5278/pano/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oae.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["oae","Totto16"]}},"created_at":"2022-04-04T03:46:40.000Z","updated_at":"2025-03-31T20:38:16.000Z","dependencies_parsed_at":"2023-02-17T07:50:38.314Z","dependency_job_id":"a63215c1-1427-40ac-a43c-4e321e44a402","html_url":"https://github.com/oae/gnome-shell-pano","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oae%2Fgnome-shell-pano","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oae%2Fgnome-shell-pano/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oae%2Fgnome-shell-pano/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oae%2Fgnome-shell-pano/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oae","download_url":"https://codeload.github.com/oae/gnome-shell-pano/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248631668,"owners_count":21136554,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clipboard-manager","gjs","gnome","gnome-shell-extension","rollupjs","typescript"],"created_at":"2024-07-31T03:01:07.573Z","updated_at":"2025-04-12T20:38:37.468Z","avatar_url":"https://github.com/oae.png","language":"TypeScript","funding_links":["https://github.com/sponsors/oae","https://github.com/sponsors/Totto16"],"categories":["HarmonyOS","TypeScript","开发工具\u0026框架"],"sub_categories":["Windows Manager"],"readme":"# \u003cimg width=\"32px\" src=\"./io.elhan.Pano.svg\" alt=\"Pano\" /\u003e Pano - Next-gen Clipboard Manager\n\n[![ts](https://badgen.net/badge/icon/typescript?icon=typescript\u0026label)](#)\n[![opensource](https://badges.frapsoft.com/os/v1/open-source.png?v=103)](#)\n[![licence](https://badges.frapsoft.com/os/gpl/gpl.png?v=103)](https://github.com/oae/gnome-shell-pano/blob/master/LICENSE)\n[![latest](https://img.shields.io/github/v/release/oae/gnome-shell-pano)](https://github.com/oae/gnome-shell-pano/releases/latest)\n[![compare](https://img.shields.io/github/commits-since/oae/gnome-shell-pano/latest/master)](https://github.com/oae/gnome-shell-pano/compare)\n\n![ss](https://i.imgur.com/k8owX1i.png)\n\n## Features\n\n- ⌨️ Keyboard-driven navigation. See [Navigation](#navigation)\n- 🧠 Content aware previews and notifications (Image, Link, Text, Code, Color, Emoji, File). See [Notifications](#content-aware-notifications)\n- 🎨 Highly customizable UI with slick design. See [Customization](#settings)\n- ⭐ Favorite any items and access them easily. See [Favorites](#favorites)\n- ⚙️ And many more options for different needs. See [Settings](#settings)\n\n## Settings\n\n\u003ctable width=\"100%\"\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth width=\"33%\"\u003eGeneral Options\u003c/th\u003e\n      \u003cth width=\"33%\"\u003eCustomization\u003c/th\u003e\n      \u003cth width=\"33%\"\u003eDanger Zone\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd width=\"33%\"\u003e\u003cimg alt=\"General Options\" src=\"https://i.imgur.com/Mc6yXsA.png\" /\u003e\u003c/td\u003e\n      \u003ctd width=\"33%\"\u003e\u003cimg alt=\"Customization\" src=\"https://i.imgur.com/aZjfT7e.png\" /\u003e\u003c/td\u003e\n      \u003ctd width=\"33%\"\u003e\u003cimg alt=\"Danger Zone\" src=\"https://i.imgur.com/RlM1AgI.png\" /\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n## Favorites\n\n[Favorites](https://user-images.githubusercontent.com/1043714/222934867-d8fb1c2c-81a2-46c6-a8b0-f0be96850d2f.webm)\n\n## Content Aware Notifications\n\n\u003ctable width=\"100%\"\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth width=\"33%\"\u003eItem Type\u003c/th\u003e\n      \u003cth width=\"80%\"\u003eNotification\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd width=\"33%\"\u003eLink\u003c/td\u003e\n      \u003ctd width=\"80%\"\u003e\u003cimg alt=\"Link\" src=\"https://i.imgur.com/XnIK7JT.png\" /\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd width=\"33%\"\u003eImage\u003c/td\u003e\n      \u003ctd width=\"80%\"\u003e\u003cimg alt=\"Image\" src=\"https://i.imgur.com/amHhZyI.png\" /\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd width=\"33%\"\u003eColor\u003c/td\u003e\n      \u003ctd width=\"80%\"\u003e\u003cimg alt=\"Color\" src=\"https://i.imgur.com/Qk6bFFM.png\" /\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd width=\"33%\"\u003eEmoji\u003c/td\u003e\n      \u003ctd width=\"80%\"\u003e\u003cimg alt=\"Emoji\" src=\"https://i.imgur.com/7iNLUpb.png\" /\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd width=\"33%\"\u003eText,Code\u003c/td\u003e\n      \u003ctd width=\"80%\"\u003e\u003cimg alt=\"Text\" src=\"https://i.imgur.com/hDv8Fgp.png\" /\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd width=\"33%\"\u003eFile Cut/Copy\u003c/td\u003e\n      \u003ctd width=\"80%\"\u003e\n        \u003cimg alt=\"File Copy\" src=\"https://i.imgur.com/Wmiay4o.png\" /\u003e\n        \u003cimg alt=\"File Cut\" src=\"https://i.imgur.com/L77dpS9.png\" /\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n## Supported Shell Versions\n\n\n### Legacy versions\n\nSince 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)\n\n- Gnome Shell 42\n- Gnome Shell 43\n- Gnome Shell 44\n\n### Current version\n\n- Gnome Shell 45\n- Gnome Shell 46\n- Gnome Shell 47\n- Gnome Shell 48\n\n## Installation\n\n- You need `libgda` and `gsound` for this extension to work.\n- We support both libgda 5.0 and 6.0\n\n  - Fedora\n\n    ```bash\n    sudo dnf install libgda libgda-sqlite\n    ```\n\n  - Arch Linux\n\n    ```bash\n    sudo pacman -S libgda6\n    ```\n\n  - Ubuntu/Debian\n\n    ```bash\n    sudo apt install gir1.2-gda-5.0 gir1.2-gsound-1.0\n    ```\n\n  - openSUSE\n\n    ```bash\n    sudo zypper install libgda-6_0-sqlite typelib-1_0-Gda-6_0 typelib-1_0-GSound-1_0\n    ```\n\n- You can install the extension from EGO\n\n  [\u003cimg height=\"100\" src=\"https://github.com/andyholmes/gnome-shell-extensions-badge/raw/master/get-it-on-ego.png\"\u003e](https://extensions.gnome.org/extension/5278/pano/)\n\n## Usage\n\n### Navigation\n\n[Navigation](https://user-images.githubusercontent.com/1043714/222934876-2e922f6c-36db-456b-826b-3b129da540b4.webm)\n\n- `\u003csuper\u003e` `\u003cshift\u003e` `v` can be use to toggle visibility of the Pano. This can be changed in Pano extension settings.\n- `\u003cctrl\u003e` `\u003csuper\u003e` `\u003cshift\u003e` `v` can be use to toggle incognito mode.\n- `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.\n- `up` and `down` keys can also be use to focus on search box and items\n- `enter` key or clicking to an item will copy it. You can hold `shift` key for the apps like terminal to paste into it\n- Typing anywhere on Pano will focus on search box and filter the results.\n- `delete` key will remove the focused item from the list.\n- `tab` key will cycle through item types (like `image`, `link` etc..) `shift` `tab` will reverse the direction\n- `backspace` key on empty search box will remove item type filter\n- `ctrl` `s` key will favorite/unfavorite the item\n- `alt` key will switch between favorites/all items\n- `ctrl` `1`..`9` keys will copy the item with the corresponding index\n- `ctrl` `click` or `ctrl` `enter` shortcuts will copy the links and open them in default browser if `Open Links in Browser` option enabled\n\n## Cli\n\nYou can trigger several actions using busctl.\n\n```sh\nbusctl --user call org.gnome.Shell /io/elhan/Pano io.elhan.Pano clearHistory # clears pano history\nbusctl --user call org.gnome.Shell /io/elhan/Pano io.elhan.Pano toggle # toggles pano window\nbusctl --user call org.gnome.Shell /io/elhan/Pano io.elhan.Pano hide # hides pano window\nbusctl --user call org.gnome.Shell /io/elhan/Pano io.elhan.Pano show # shows pano window\n```\n\n## Development\n\n### Build\n\n- This extension is written in Typescript and uses rollup to compile it into javascript.\n- To start development, install `nodejs`  on your system.\n\n  - Clone the project\n\n    ```sh\n    git clone https://github.com/oae/gnome-shell-pano.git\n    cd ./gnome-shell-pano\n    ```\n\n  - Install dependencies and build it\n\n    ```sh\n    yarn install\n    yarn build\n    ln -s \"$PWD/dist\" \"$HOME/.local/share/gnome-shell/extensions/pano@elhan.io\"\n    ```\n\n  - During development you can use `yarn watch` command to keep generated code up-to-date.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foae%2Fgnome-shell-pano","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foae%2Fgnome-shell-pano","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foae%2Fgnome-shell-pano/lists"}