Comment afficher la date et l'heure complètes dans la vue liste de Nautilus / Files 3.6+?

36

La vue en liste de Nautilus 3.6 indique que les dates ont été modifiées de différentes manières: l’heure et la minute si elles sont modifiées le jour en cours, et le mois et le jour s’ils sont modifiés au cours de l’année en cours, et l’année ajoutée si modifié au cours d'une année précédente. J'aimerais que la date et l'heure complètes soient systématiquement affichées sur tous les fichiers (par exemple: Sat 20 Apr 2012 01:28:34 PM EDT ).

Je l'avais déjà configuré auparavant, mais je ne vois pas comment le faire avec la version 3.6. J'ai trouvé cette question, mais les réponses ne s'appliquent plus à Nautilus 3.6: Comment changer le format de date dans les colonnes de la liste Nautilus?

Comment puis-je le faire dans Nautilus 3.6+?

    
posée Aibara 25.04.2013 - 20:04
la source

3 réponses

23

Vous pouvez récupérer la date complète en recompilant Nautilus:

sudo apt-get build-dep nautilus
sudo apt-get install quilt
export QUILT_PATCHES=debian/patches
apt-get source nautilus
cd nautilus*
quilt new 999_full_dates.patch
quilt edit libnautilus-private/nautilus-column-utilities.c

Modifier la ligne 77 de

"attribute", "date_modified",

à

"attribute", "date_modified_full",

Reconstruire et installer le package modifié:

quilt refresh
fakeroot dpkg-buildpackage
cd ..
killall nautilus
sudo dpkg -i nautilus_*.deb
nautilus &

Comme toujours, vous devez suivre ces étapes à chaque fois qu’une mise à jour de nautilus est mise à jour dans Ubuntu.

Maintenant, une analyse complète du problème:

Le correctif à l'origine de cette modification est celui-ci: link

.

La fonction nautilus_file_get_date_as_string gagne un paramètre gboolean supplémentaire "compact" - lorsque true, la date abrégée est renvoyée.

Cette fonction n'est jamais appelée directement. Elle est accessible via la fonction wrapper nautilus_file_get_string_attribute_q. Cette fonction prend des paramètres d'attribut comme "date_modified". Pour prendre en charge la nouvelle signature de nautilus_file_get_date_as_string, un nouvel attribut est ajouté "date_modified_full". Après cette modification, tout code de nautilus qui utilise la chaîne de date du fichier obtiendra la date abrégée.

Enfin, la boîte de dialogue des propriétés du fichier est mise à jour pour utiliser l'attribut "date_modified_full".

Donc, pour que nautilus affiche la date complète en mode liste, il suffit de changer de ligne de code: dans libnautilus-private / nautilus-column-utilities.c, ligne 77 de "date_modified" à "date_modified_full ".

Un correctif légèrement plus utile pourrait ajouter un nouveau type de colonne indiquant la date complète, en faisant ainsi une fonctionnalité facultative et en ajoutant 10 lignes de code.

    
réponse donnée Alistair Buxton 26.04.2013 - 20:53
la source
6

Pour ceux qui utilisent trusty & ne souhaitant pas compiler, j’ai mis en place un test ppa pour un nautile corrigé. (en utilisant le patch de Alistair Buxton

La version actuelle inclut également 2 correctifs de correctifs de bogues, 1 de trusty-proposé, 1 d’utopic.

De plus, 3 correctifs mineurs ont été testés par moi pendant un certain temps. poser aucun problème.

  1. ouvrir avec sur dossiers

  2. nom du propriétaire du fichier réel affiché à la place de "moi"

  3. Gestionnaire de fichiers en tant que nom du programme de lancement

Le correctif "date-heure" que j'ai un peu testé n'a pas rencontré de problèmes. Pour ceux qui sont enclins à essayer - si un problème a été trouvé, contactez-moi par e-mail à la Launchpad.

La colonne "Modifié (complet)" peut être ajoutée via Nautilus dans listview > Afficher > Colonnes visibles .. ou à travers Nautilus > Modifier > Préférences > Liste des colonnes

lien

Lisez la page ppa pour info & comment revenir facilement en cas de besoin.

    
réponse donnée doug 16.05.2014 - 21:51
la source
3

Cet article de blog est une solution beaucoup plus simple. Il est basé sur la création d'une extension pouvant être sélectionnée comme alternative "colonne modifiée". Testé sous 16.04.

  1. gedit ~/.local/share/nautilus-python/extensions/longdate.py

  2. Utilisez ce code:

#!/usr/bin/env python

import os
import urllib
import datetime
from gi.repository import Nautilus, GObject

class ColumnExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoProvider):
    def __init__(self):
        pass

    def get_columns(self):
        return (Nautilus.Column(
            name="NautilusPython::Longdate", 
            attribute="longdate", 
            label="Longdate", 
            description="Get long date"),)

    def update_file_info(self, file):
        if file.get_uri_scheme() != 'file':
            return

        filename = urllib.unquote(file.get_uri()[7:])
        statbuf = os.stat(filename)
        formatteddate = datetime.datetime.fromtimestamp(statbuf.st_mtime).strftime('%Y-%m-%d %H:%M:%S')
        file.add_string_attribute('longdate', str(formatteddate))
  1. chmod +x ~/.local/share/nautilus-python/extensions/longdate.py

  2. nautilus -q et nautilus . pour redémarrer Nautilus et voir s’il charge correctement l’extension.

  3. Sélectionnez la nouvelle colonne "date longue" dans les préférences de colonne de la liste.

Le résultat ressemblera à ceci:

    
réponse donnée bluenote10 21.03.2018 - 19:06
la source

Lire d'autres questions sur les étiquettes