Nautilus.ColumnProvider: nautilus-python Reference Manual

## Nautilus.ColumnProvider Nautilus.ColumnProvider — Nautilus.ColumnProvider Reference |

## Synopsis

     Nautilus.ColumnProvider {
      get_columns();
    }

## Description

If subclassed, Nautilus will request a list of `Nautilus.Column` objects, which are then displayed when the user is in `List` mode.

An extension sub-classing `Nautilus.ColumnProvider` will almost always want to sub-class `Nautilus.InfoProvider` as well, since that is how an extension provides information for each item in a directory listing.

Example 2. Nautilus.ColumnProvider Example

    import os

    # A way to get unquote working with python 2 and 3
    try:
        from urllib import unquote
    except ImportError:
        from urllib.parse import unquote

    from gi.repository import GObject, Nautilus

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

        def get_columns(self):
            return Nautilus.Column(name="NautilusPython::block_size_column",
                                   attribute="block_size",
                                   label="Block size",
                                   description="Get the block size"),

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

            filename = unquote(file.get_uri()[7:])

            file.add_string_attribute('block_size', str(os.stat(filename).st_blksize))

## Passive Methods

### Nautilus.ColumnProvider.get_columns

    get_columns();

Returns : | a list of `Nautilus.Column`

The `get_columns`() method returns a list of `Nautilus.Column`.