Parece que la pestaña "Notas" en el cuadro de diálogo "Propiedades de archivo" desapareció en Nautilus 3.2.1/Ubuntu 11.10. ¿Cómo puedes utilizar la función de notas ahora? ¿Qué haces con las notas que ya has hecho? ¿Existe un parche o una extensión para esto, o se planea solucionarlo en el futuro? (¿Por qué fue eliminado?) (Pregunta relacionada sobre la portabilidad de notas.)
Respuesta1
Aquí está el script que preparé para usarlo con la respuesta de @fossfreedom. Utiliza GIO para interactuar con GVFS y Tkinter para la GUI y está escrito en Python 2.7. Admite anotaciones de varias líneas. La GUI se ve así:
requisitos previos Necesitas instalar tkinter:
sudo apt-get install python-tk
usar
Guarde el código como un archivo usando su editor favorito en una ubicación de carpeta conocida, por ejemplo/home/[home-folder-name]/scripts/notesscript
Entonces, si estás usandoacciones-naultilus, usa un comando:
python /home/[home-folder-name]/scripts/notesscript
El código:
import gio
class GVFSNotes:
ATTRIBUTE_KEY = 'metadata::annotation'
def __init__(self, f):
self.__f = f
def _get_attribute(self, key):
return self.__f.query_info(key).get_attribute_string(key)
def _make_setter(self, key, val):
info = gio.FileInfo()
info.set_attribute_string(key, val)
return info
def _set_attribute(self, key, val):
self.__f.set_attributes_from_info(self._make_setter(key, val))
def get(self):
return self._get_attribute(self.ATTRIBUTE_KEY)
def set(self, val):
self._set_attribute(self.ATTRIBUTE_KEY, val)
import Tkinter as tk
class Dialog:
def __init__(self, title, initial):
self.root = tk.Tk()
self.text = None
self._mkGUI(title, initial)
def settext(self):
self.text = self.entry.get(1.0, tk.END).rstrip()
def onCancel(self):
self.root.destroy()
def onOkay(self):
self.settext()
self.root.destroy()
def _mkButtons(self):
(tk.Button(self.root, text="Cancel", width=10, command=self.onCancel)
.pack(side=tk.LEFT)
)
(tk.Button(self.root, text="Okay", width=10, command=self.onOkay)
.pack(side=tk.RIGHT)
)
def _mkEntry(self, initial):
self.entry = tk.Text(self.root, width=60)
if initial != '' and initial != None:
self.entry.insert(tk.END, initial)
self.entry.pack(fill=tk.X, expand=True)
self.entry.focus_set()
def _setTitle(self, title):
self.root.wm_title(title)
def _mkGUI(self, title, initial):
self._mkEntry(initial)
self._mkButtons()
self._setTitle(title)
def show(self):
self.root.mainloop()
return self.text
def main(path):
notes = GVFSNotes(gio.File(path))
oldtext = notes.get()
newtext = Dialog('Notes for ' + path, oldtext).show()
if newtext != None and newtext != oldtext:
notes.set(newtext)
if __name__ == '__main__':
import sys
main(sys.argv[1])
Respuesta2
Se hizo una pregunta similar a esta desde "Emblemas y fondos" y me temo que es una respuesta similar.
Los desarrolladores de Gnome pensaron que estas capacidades rara vez se usaban y, para optimizar el código base, las eliminaron como funcionalidad principal de la GUI.
Afortunadamente, lo mismocomandos basados en terminalse puede utilizar ya que se han conservado las capacidades de metadatos:
por ejemplo, aquí hay una captura de pantalla de Nautilus v11.10 con notas agregadas a través de la línea de comando.
En cuanto a "¿está planeado arreglarlo?", nuevamente una respuesta similar, como "emblemas", esto se considera compatible con terceros, es decir, no es capacidades básicas de Nautilus.
No conozco a nadie que haya decidido aceptar este desafío, así que aquí está mi pobre sustituto:
Elegir la opción del menú contextualNotasmuestra las notas de un archivo que puede modificar.
Para hacer esto utilicé mirespuesta a esta pregunta y respuestapara ejecutar el siguiente archivo:
#!/bin/bash
# basic - and I mean basic bash script to display & set notes
#
# feel free to enhance!
#
# fossfreedom (askubuntu) 27/12/11
notestext=`gvfs-info $1 | grep annotation | sed s/' metadata::annotation: '/''/g`
newnotes=`zenity --entry --width=500 --title=$1 --text="current notes:" --entry-text="$notestext"`
# handle the case where the user has pressed cancel
if [ $? = 1 ]; then
exit
fi
# ok - got this far - lets change the notes for the file selected
gvfs-set-attribute -t string $1 metadata::annotation "$newnotes"
Zenity no es compatibleentrada de varias líneas- un más robustodiálogo de pythonSe requerirá implementación de tipo... ¡aunque mis habilidades con Python no están a la altura de este trabajo!
Respuesta3
Modifiqué ligeramente su solución. Se ha fusionado con "acciones extra de Nautilus". En la próxima versión, el paquete se llamará: nautilus-notes.
Respuesta4
Aquí está mi script para usar con nautilus-scripts (bastante un poco tosco, limitado a 1000000 líneas, no soy programador).
Tienes que crear en~/.gnome2/nautilus-scriptsarchivo (llamado, por ejemplo, nautilus-annotations) y hacerlo ejecutable (en propiedades) con este contenido:
#!/bin/bash
for arg do
if i=`gvfs-info "$arg" | grep -A 1000000 metadata::annotation: | sed s/\metadata::annotation:\// | grep -v metadata:: | zenity --text-info --editable --ok-label="ok" --cancel-label="cancel" --checkbox="change"`; then `gvfs-set-attribute -t string "$arg" metadata::annotation "$i"`; else exit
fi
done