Como mostrar data e hora completas na exibição de lista do Nautilus / Files 3.6+?

37

A exibição de lista do Nautilus 3.6 mostra que os arquivos de datas foram modificados de várias maneiras: a hora e o minuto, se modificados no dia atual, e o mês e dia, se modificados durante o ano atual, e o ano marcado se modificado durante um ano anterior. Eu gostaria de ver toda a data e hora de forma consistente em todos os arquivos (por exemplo, Sat 20 Apr 2012 01:28:34 PM EDT ).

Eu tinha essa configuração antes, mas não consigo descobrir como fazer isso com a versão 3.6. Eu encontrei esta pergunta, mas as respostas não se aplicam mais ao Nautilus 3.6: Como alterar o formato da data nas colunas da lista Nautilus?

Como posso fazer isso no Nautilus 3.6+?

    
por Aibara 25.04.2013 / 20:04

3 respostas

23

Você pode recuperar a data completa recompilando o 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

Altere a linha 77 de

"attribute", "date_modified",

para

"attribute", "date_modified_full",

Reconstrua e instale o pacote modificado:

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

Como sempre, você precisa executar estas etapas toda vez que houver uma atualização para o nautilus no Ubuntu.

Agora, uma análise completa do problema:

O patch real que causou essa alteração é o seguinte: link

A função nautilus_file_get_date_as_string ganha um parâmetro gbooleano extra "compact" - quando true, a data abreviada é retornada.

Esta função nunca é chamada diretamente - ela é acessada através da função wrapper nautilus_file_get_string_attribute_q. Essa função usa parâmetros de atributo como "date_modified". Para acomodar a nova assinatura de nautilus_file_get_date_as_string, um novo atributo é adicionado "date_modified_full". Após essa alteração, qualquer código no nautilus que use a string de data do arquivo terá a data abreviada.

Por fim, o diálogo de propriedades do arquivo é atualizado para usar o atributo "date_modified_full".

Portanto, para que o nautilus exiba a data completa na visualização de lista, só é necessário alterar a linha de código: em libnautilus-private / nautilus-column-utilities.c, linha 77 de "date_modified" para "date_modified_full ".

Um patch um pouco mais útil poderia adicionar um novo tipo de coluna que mostraria a data completa, tornando este um recurso opcional, e apenas adicionaria 10 linhas de código.

    
por Alistair Buxton 26.04.2013 / 20:53
6

Para aqueles que usam trusty & não desejando compilar eu configurei um ppa de teste para um nautilus corrigido. (usando o patch de Alistair Buxton

O build atualmente inclui também 2 patches de correção de bugs, 1 de trusty-proposed, 1 de utopic.

Além disso, há três pequenas correções que foram testadas por mim há algum tempo & não apresentem problemas.

  1. aberto com pastas

  2. nome real do proprietário do arquivo exibido em vez de "Eu"

  3. Gerenciador de arquivos como nome do iniciador

O patch 'data-hora' que testei um pouco, não vi problemas. Para aqueles que estão dispostos a tentar - se algum problema encontrado entre em contato comigo através do e-mail do launchpad.

A coluna "Modificado (completo)" pode ser adicionada através do nautilus em listview > Ver > Colunas visíveis .. ou através do nautilus > Editar > Preferências > Colunas da lista

link

Leia a página ppa para info & como facilmente reverter se necessário.

    
por doug 16.05.2014 / 21:51
3

Esta postagem no blog mostra uma solução muito mais fácil. Baseia-se na criação de uma extensão que pode ser selecionada como uma alternativa "coluna modificada". Testado sob 16.04.

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

  2. Use este código:

#!/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 e nautilus . para reiniciar o Nautilus e ver se ele carrega corretamente a extensão.

  3. Selecione a nova coluna "longdate" nas preferências da coluna da lista.

O resultado será assim:

    
por bluenote10 21.03.2018 / 19:06

Tags