Eu adaptei meu script para reagir às alterações na área de transferência de aqui para que ele mostre uma bolha de notificação nativa sempre que você copiar algo :
#!/usr/bin/env python3
# Configuration:
APPNAME = "Clipboard Notifier" # an arbitrary application name
TITLE = "Clipboard modified" # the bold headline of each notification
ICON = "edit-paste" # name of the icon to show
MAXLENGTH = 100 # maximum message length
# Imports:
import gi
import signal
import notify2
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk, Gdk
# Set up signal handler for killing the script with Ctrl+C from terminal:
signal.signal(signal.SIGINT, signal.SIG_DFL)
# Initialize the notifications library:
notify2.init(APPNAME)
# Callback function to handle clipboard modification events:
def callback(*args):
# Get new clipboard content:
text = clip.wait_for_text()
# Truncate long content to avoid huge notification bubbles:
body = text if len(text) < MAXLENGTH else text[:MAXLENGTH] + "..."
# Create and show notification bubble:
notify2.Notification(TITLE, body, ICON).show()
# Set up clipboard and register callback for change events
clip = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
clip.connect("owner-change", callback)
# Start Gtk main loop and wait for events:
Gtk.main()
Salve isso em algum lugar (por exemplo, como /usr/local/bin/clipboard-notifier
- você precisa que sudo
tenha permissão para gravar nesse local, mas coloque-o em ~/bin
) e torne-o executável usando o comando chmod +x FILENAME
.
Meu script usa o pacote notify2
do Python 3 para exibir as bolhas de notificação nativas. Este pacote normalmente não é instalado por padrão, você tem que adicioná-lo primeiro com o comando abaixo:
sudo apt install python3-notify2
Se desejar, você pode modificar os valores das variáveis capitalizadas perto do início do script de acordo com suas necessidades, especialmente TITLE
e MAXLENGTH
podem ser úteis para alterar.
Depois, simplesmente adicione-o aos seus aplicativos de inicialização e ele será iniciado automaticamente quando você fizer login na próxima vez. Você também pode iniciar o script manualmente a partir de o Alt + F2 HUD no Unity.