52

The list view of Nautilus 3.6 shows the dates files were modified in a variety of ways: the hour and minute if modified on the current day, and the month and day if modified during the current year, and the year tacked on if modified during a previous year. I would like to see the entire date and time consistently on all the files (e.g.: Sat 20 Apr 2012 01:28:34 PM EDT).

I had this set up before, but I can't figure out how to do so with version 3.6. I did find this question, but the answers no longer apply to Nautilus 3.6: How to change the date format in Nautilus list columns?

How can I do so in Nautilus 3.6+?

8

4 Answers 4

26

You can get back the full date by recompiling 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

Change line 77 from

"attribute", "date_modified",

to

"attribute", "date_modified_full",

Rebuild and install modified package:

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

As always, you have to perform these steps every time there is an update for nautilus in Ubuntu.

Now, a full analysis of the problem:

The actual patch which caused this change is this one.

The function nautilus_file_get_date_as_string gains an extra gboolean parameter "compact" - when true the abbreviated date is returned.

This function is never called directly - it is accessed through the wrapper function nautilus_file_get_string_attribute_q. This function takes attribute parameters like "date_modified". To accommodate the new signature of nautilus_file_get_date_as_string a new attribute is added "date_modified_full". After this change, any code in nautilus which uses the file date string will get the abbreviated date.

Finally, the file properties dialog is updated to use "date_modified_full" attribute.

So in order to have nautilus display the full date in list view, it is only necessary to change one line of code: in libnautilus-private/nautilus-column-utilities.c, line 77 from "date_modified" to "date_modified_full".

A slightly more useful patch could add a new column type which would show the full date, making this an optional feature, and only add 10 lines of code.

10
  • 16
    This is why I love open source - when the developers go crazy, I can fix it myself. Apr 26, 2013 at 18:58
  • 7
    Is this currently still the only way to handle this issue?
    – Philippe
    Jul 9, 2013 at 17:13
  • 4
    @AlistairBuxton Have you tried submitting the second patch to the Gnome developers? It would be great if they could at least give us a choice instead of keeping the full date unavailable…
    – n.st
    May 11, 2014 at 14:46
  • 4
    I no longer use Nautilus and I suggest you do the same. May 11, 2014 at 15:24
  • 2
    Has this been fixed in more recent versions (so that I don't have to recompile)?
    – a06e
    May 31, 2016 at 20:04
19

This blog post shows a much easier solution. It is based on creating an extension which can be selected as an alternative "modified column". Tested under 16.04.

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

  2. Use this code (always copy code you trust):

    #!/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))
    
  3. chmod +x ~/.local/share/nautilus-python/extensions/longdate.py

  4. sudo apt install python-nautilus

  5. nautilus -q and nautilus . to restart Nautilus and see if it properly loads the extension.

  6. Select the new "Longdate" column in the list column preferences.

The result will look like this:

example

7
  • 4
    First install nautilus-python: sudo apt-get install python-nautilus Aug 26, 2018 at 4:47
  • 1
    Thanks a lot - it seems to work in Disco - Ubuntu 19.04 ! But you can not sort by Longdate. Unfortunately I can not fix that myself. Great job anyways. As @Alistair Buxton said: This is why I love open source - when the developers go crazy, I can fix it myself. Well, with your help! THX. Jan 13, 2019 at 13:22
  • This isn't working on Nautilus ("Files" 3.10.1) on Ubuntu 14.04. When Nautilus is started from command line, it says Nautilus-Share-Message: Called "net usershare info" but it failed: 'net usershare' returned error 255: net usershare: cannot open usershare directory /var/lib/samba/usershares. Error No such file or directory Please ask sysadm to enable user sharing. Then six times ** (nautilus:21161): CRITICAL **: nautilus_menu_provider_get_background_items: assertion 'NAUTILUS_IS_FILE_INFO (current_folder)' failed. The would-be new column doesn't show in the choices.
    – wallyk
    Feb 20, 2019 at 15:02
  • Thanks ! Works for me under Bionic (18.04.4 LTS), Nautilus 3.26.4 and nautilus-python 1.1-6.
    – Mutos
    May 2, 2020 at 9:54
  • Here is another solution you should only use if you read it or trust it. Nov 24, 2020 at 3:56
6

For those using trusty & not wishing to compile I've set up a test ppa for a patched nautilus. (using Alistair Buxton's patch

The build currently also includes 2 bug fix patches, 1 from trusty-proposed, 1 from utopic.

Additionally there are 3 minor patches that have been tested by me over quite some time & pose no issues.

  1. open with on folders

  2. real file owner name displayed instead of "Me"

  3. File Manager as name of launcher

The 'date-time' patch I've tested a bit, seen no issues. For those inclined to try - if any issue found contact me thru launchpad email.

The "Modified (full)" column can be added thru nautilus in listview > View > Visible Columns.. or thru nautilus > Edit > Preferences > List Columns

https://launchpad.net/~mc3man/+archive/nauty-mods

Read ppa page for info & how to easily revert if need be.

6
  • I can't seem to get this nautilus version installed. sudo apt-get install nautilus just concludes that latest is already installed. Trying sudo apt-get --reinstall install nautilus reinstalls, but the very same that there already is. Do you by any chance have something for e.g. /etc/apt/preferences.d/ that makes this thing actually get installed, or how else to do it? (on Trusty)
    – Hannu
    Jan 23, 2016 at 15:11
  • @ Hannu, try again, needed to be updated
    – doug
    Jan 23, 2016 at 20:47
  • dpkg --list | grep nautilus showed the ...+date version. Retried, several times. Only after having rebooted with this version installed, then delved into the Terminal and there after using nautilus --no-desktop (unsure if it appeared there) and then nautilus --force-desktop I - at last - found the "Modified (full)" option in the list view. Now it seems to be present at all times. question: Can the content be modified? e.g. I'd hope as for use of "strftime()" ?
    – Hannu
    Jan 24, 2016 at 15:09
  • Hmm... might it be LC_TIME=... that specifies the format?
    – Hannu
    Jan 24, 2016 at 15:22
  • 1
    An unprejudiced request for next time you update the ppa, please consider adding yet another format for the Modifed column; same as date +'%Y-%m-%d, %T'
    – Hannu
    Jan 30, 2016 at 13:41
4

Nemo is a fork of Nautilus that includes Creation date and a button for Ctrl+L.

sudo apt install nemo

To replace Nautilus for Documents links etc.:

xdg-mime default nemo.desktop inode/directory application/x-gnome-saved-search

That updates your mime settings:

$ cat ~/.config/mimeapps.list |grep inode
inode/directory=nemo.desktop
inode/directory=exo-file-manager.desktop;
$ cat /etc/gnome/defaults.list |grep inode
inode/directory=org.gnome.Nautilus.desktop
3
  • how do i make it the default file manager?
    – Michael
    Jun 17, 2020 at 0:35
  • @Michael I've updated my answer. Jun 29, 2020 at 19:06
  • I have nemo on one of my devices, great usability, but terrible RAM issues - always check from time to time and restart it (and nemo-desktop too if you have it), I mean like GBs... :-)
    – jave.web
    Sep 10, 2023 at 19:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .