/usr/share/doc/python-caja/examples/background-image.py is in python-caja-common 1.20.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | from gi.repository import Caja, GObject, Gio
SUPPORTED_FORMATS = 'image/jpeg', 'image/png'
BACKGROUND_SCHEMA = 'org.mate.background'
BACKGROUND_KEY = 'picture-uri'
class BackgroundImageExtension(GObject.GObject, Caja.MenuProvider):
def __init__(self):
self.bgsettings = Gio.Settings.new(BACKGROUND_SCHEMA)
def menu_activate_cb(self, menu, file):
if file.is_gone():
return
self.bgsettings[BACKGROUND_KEY] = file.get_uri()
def get_file_items(self, window, files):
if len(files) != 1:
return
file = files[0]
# We're only going to put ourselves on images context menus
if not file.get_mime_type() in SUPPORTED_FORMATS:
return
# Mate can only handle file:
# In the future we might want to copy the file locally
if file.get_uri_scheme() != 'file':
return
item = Caja.MenuItem(name='Caja::set_background_image',
label='Use as background image',
tip='Set the current image as a background image')
item.connect('activate', self.menu_activate_cb, file)
return item,
def get_background_items(self, window, file):
return []
|