Skip to content

oae/gnome-shell-pano

Repository files navigation

Pano Pano - Next-gen Clipboard Manager

ts opensource licence latest compare

ss

Features

  • ⌨️ Keyboard-driven navigation. See Navigation
  • 🧠 Content aware previews and notifications (Image, Link, Text, Code, Color, Emoji, File). See Notifications
  • 🎨 Highly customizable UI with slick design. See Customization
  • ⭐ Favorite any items and access them easily. See Favorites
  • ⚙️ And many more options for different needs. See Settings

Settings

General Options Customization Danger Zone
General Options Customization Danger Zone

Favorites

favs.webm

Content Aware Notifications

Item Type Notification
Link Link
Image Image
Color Color
Emoji Emoji
Text,Code Text
File Cut/Copy File Copy File Cut

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

  • Gnome Shell 42
  • Gnome Shell 43
  • Gnome Shell 44

Current version

  • Gnome Shell 45
  • Gnome Shell 46
  • Gnome Shell 47

Installation

  • You need libgda and gsound for this extension to work.

  • We support both libgda 5.0 and 6.0

    • Fedora

      sudo dnf install libgda libgda-sqlite
    • Arch Linux

      sudo pacman -S libgda6
    • Ubuntu/Debian

      sudo apt install gir1.2-gda-5.0 gir1.2-gsound-1.0
    • openSUSE

      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

Usage

Navigation

navigation.webm
  • <super> <shift> v can be use to toggle visibility of the Pano. This can be changed in Pano extension settings.
  • <ctrl> <super> <shift> 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.

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

      git clone https://github.com/oae/gnome-shell-pano.git
      cd ./gnome-shell-pano
    • Install dependencies and build it

      yarn install
      yarn build
      ln -s "$PWD/dist" "$HOME/.local/share/gnome-shell/extensions/pano@elhan.io"
    • During development you can use yarn watch command to keep generated code up-to-date.