## 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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26

    import os
    from urllib.parse import unquote
    from gi.repository import GObject, Nautilus
    from typing import List

    class ColumnExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoProvider):
        def get_columns(self) -> List[Nautilus.Column]:
            column = Nautilus.Column(
                name="NautilusPython::block_size_column",
                attribute="block_size",
                label="Block size",
                description="Get the block size",
            )

            return [
                column,
            ]

        def update_file_info(self, file: Nautilus.FileInfo) -> None:
            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`.