Proste rozszerzenie typu nautilus-python, które pozwala na edycję plików *.desktop (ikonki na pulpicie do uruchamiania programów). Wprawdzie miałem to jako nautilus-script, ale chciałem to mieć na wierzchu i tylko wówczas, gdy jest potrzebne.
Tak się prezentuje przy zaznaczeniu jednego lub kilku (kosmetyczne różnice) plików typu desktop. Opcja pojawi się nawet, gdy wśród zaznaczonych będą inne typy plików. To jest celowo tak zrobione. Zawsze mnie wkurzało, że jak zaznaczę kilka archiwów z "czymkolwiek" to już nie pojawia się opcja ich rozpakowania.
~/.local/share/nautilus-python/extensions/edit-desktop-files.py
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import gtk
import nautilus
class EditDesktopFiles(nautilus.MenuProvider):
def __init__(self):
pass
def edit_desktop_files(self, menu, files):
for file in files:
# http://www.pygtk.org/docs/pygtk/class-gtkmountoperation.html
gtk.show_uri(None,file.get_uri(), gtk.gdk.CURRENT_TIME)
def get_file_items(self, window, files):
# test: czy w ogóle cokolwiek jest zaznaczone
if len(files) == 0:
return
# filtr: tylko pliki *.desktop
files = [ file for file in files
if file.get_mime_type() == 'application/x-desktop' ]
if len(files) == 0:
return
elif len(files) == 1:
LABEL='Edit %s file' % files[0].get_name()
TOOLTIP='Edit this desktop file in default editor'
else:
LABEL='Edit all desktop files'
TOOLTIP='Edit all desktop files in default editor'
NAME='NautilusPython::edit_desktop_files_item'
ICON='/usr/share/pixmaps/nautilus/colors.png'
item = nautilus.MenuItem(NAME,LABEL,TOOLTIP,ICON)
item.connect('activate', self.edit_desktop_files, files)
return item,
Oczywiście należy pamiętać, o wcześniejszym zainstalowaniu paczki nautilus-python, a po załadowaniu skryptu do katalogu należy zrestartować nautilusa
nautilus -q && sleep 1 && nautilus --no-desktop
Brak komentarzy:
Prześlij komentarz